世界を動かす技術を、日本語で。

UPI: 支払い取引の構造

概要

  • UPI決済 の5つの瞬間とその裏側の仕組みを解説
  • ユーザーが体験するのはごく一部、実際は複数組織が連携
  • アプリ、PSP、NPCI、銀行など各ステークホルダーの役割
  • 障害や失敗時の処理、システムの堅牢性と進化
  • 商用利用や技術的失敗の統計と今後の課題

UPI決済の5つの瞬間とその舞台裏

  • UPI決済 は「スキャン」「名前と金額の確認」「PIN入力」「決済完了(緑のチェック)」「受取側の通知」の5ステップで構成
  • ユーザーが目にするのはこの5瞬間のみで、その間の処理はすべて舞台裏で進行
  • アプリでQRコードをスキャンし、表示された名前を確認、金額入力、PIN入力で決済指示
  • 決済完了時、受取側に通知が届き、全体で2〜3秒程度の高速処理
  • この間、複数の組織が連携し、各ステップで異なるチェックや処理を実施

アプリの役割と競争

  • PhonePe、Google Pay、Paytmなどが主な サードパーティアプリプロバイダー(TPAP)
  • アプリはユーザーの意図を集約し、PIN入力等を安全に収集するのみ
  • アプリ自体は 銀行免許を持たず、資金を保持しない
  • シェアの8割以上をPhonePeとGoogle Payが占める 寡占状態
    • 新規参入アプリ(例:super.money by Flipkart)が急成長する動きも
  • どのアプリも 直接決済ネットワークに接続できず、必ず銀行(PSP)の後ろ盾が必要

スポンサー銀行(PSP)の役割

  • アプリの スポンサー銀行(PSP)が決済ネットワークへの接続やUPIアドレス発行を担当
  • UPI IDの「@」以降がスポンサー銀行を示す(例:@ybl=Yes Bank, @okaxis=Axis)
  • 大手アプリは 複数の銀行と連携 し、障害時の冗長性や負荷分散を実現
  • 同一銀行間での決済は ネットワーク手数料の節約や処理の高速化 が可能

決済リクエストの流れ

  • ユーザーのアクションで作成されたリクエストは、 アプリ→スポンサー銀行→NPCIスイッチ の順で伝達
  • 名前確認はネットワーク側で行われ、PINは 暗号化されてアプリからは見えない
  • リクエスト送信後は、すべて銀行とNPCI間で処理される

NPCIスイッチの中心的役割

  • 全てのUPI決済はNPCI(中央スイッチ)で集約・中継
  • スイッチはリクエストを受け取り、 送金元銀行で残高・PINチェック→送金先銀行で着金処理 の順に進行
  • 必ず「引き落とし→着金」の順で処理され、逆はない
  • 結果は アプリに直接返されず、必ずスポンサー銀行経由で伝達

銀行の決済処理と特徴

  • 送金側と受取側で 最も処理件数の多い銀行は一致しない
    • 送金側はState Bank of Indiaなど大手消費者銀行が中心
    • 受取側はYes Bankが圧倒的に多く、商用決済の増加が背景
  • 商用決済(人→店舗)が2022年を境に個人間決済を上回る
  • 店舗のUPIコード発行もスポンサー銀行が担当、特に大手商用アプリはYes Bank依存が顕著

失敗・障害時の対応

  • 失敗は「ビジネス上の理由(PINミス、残高不足等)」と「技術的理由(システム障害等)」に分類
  • 技術的失敗は年々減少、現在は 1/400未満 ビジネス上の失敗は増加傾向
  • システム停止(全国規模の障害)は稀で、 通常はルール違反や利用者側の要因が主因
  • まれに「決済処理中」状態で止まるケースもあり、この場合は一定時間後に再確認が行われる仕組み

まとめ

  • UPI決済は表面的にはシンプル だが、実際は多層的な組織連携と高度なシステム運用が支える
  • アプリ、PSP、NPCI、銀行それぞれが明確な役割を持ち、 障害時の安全網や進化する堅牢性 も特徴
  • 商用利用の増加や新規参入アプリの動向、 失敗時の原因分析 など今後も注目すべき点が多い

Hackerたちの意見

年間220億件の取引は、NPCIスイッチで平均約700 QPSを意味するね。もちろん、トラフィックは均一じゃないから、ピーク時にはその数の何倍にもなるだろうけど、それでもそんなに悪くはない気がする。比較のために調べたら、ナスダックのTotalView ITCHフィードは市場オープン時に10万QPS以上に達するみたいだよ。

2026年6月に220億件、つまり年間で2640億件になるってことだね。

システム設計の面接にとっての大事な教訓だね。もしこれが15億人の国で人気のある決済システムなら、小さな会社のために設計している理論上のシステムは、平均的なTPSを数万件も支えられないだろうね。

ナスダックの注文処理量やメッセージ量と比較するなら、インドの国家証券取引所(NSE)が適切だよ。NSEはナスダックよりも1日に実行される注文が多いからね。数年前にUPIのスケーリングに関わったけど、リアルタイム決済はもっと複雑なんだ。取引には資金を持つ2つの銀行、2つのエンドユーザーアプリ(とその銀行)、そしてネットワーク(NPCI)が関わるから、決済が完了するまでにこれらの間で複数のメッセージ交換が必要になるんだ。だから、メッセージ/秒で測ると10〜25倍は高くなるよ。どの銀行からでもどの銀行へでも(国内限定、例外なし)無料で24時間365日稼働するリアルタイム決済インフラは、本当にゲームチェンジャーだね。アメリカの決済インフラは遅くて高いのと比べてみて。UPIの他にも、インドには3つの決済インフラがあるよ。NEFT(ACHに似てる、バッチ決済)、IMPS(UPIに似てる、瞬時だけど異なるユーザー体験)、RTGS(リアルタイムで中央銀行RBIが仲介するけど高額取引のみ)で、これらもすべて24時間365日無料だよ。それに、クレジットカードのインフラもあって、VisaやMastercardの他に、手数料がずっと低いRuPayもあるんだ。

中央集権的でKYCされたプライベートマネーの取引ネットワーク。これはいいことなの?

うん、いいことだよ。新しいお金を目指してるわけじゃなくて、すでに機能しているあなたのお金なんだから。

KYCされてるのに、どうしてプライベートなの?

インドの友達からは、いい話しか聞いたことがないよ。みんな絶賛してる。

そうだね、これは先進国の金融インフラのピークで、政府の指導のもとでユーティリティとして運営されてる。

ユーザー体験や実用性の面ではめっちゃ良いよ。導入が進んでて、小さなチャイ屋でも取引がスムーズにできるから、ビジネスがもっと多くの客を捌けるようになる。ただ、外国人がこれを使って支払うのはすごくイライラする。政府のIDに紐づいてるから、銀行が認証してるんだよね。

利益をユーザーから搾取しながら同じことをやってる民間銀行よりも遥かにいいよ。今日の使い勝手が最悪な暗号通貨よりも良いし、全財産を失うのが簡単だからね。現金よりも実用的だけど(現金も選択肢として残しておくべきだけど)、便利で分散化されて匿名性もあるシステムにはまだ出会ってない。もしかしたら、5年後にイーサリアムがネイティブアカウントの抽象化やシームレスなスケーリング、モネロレベルのプライバシーを実現したら、そうなるかもね。

これが政府のお金の仕組みだよ。政府のお金を扱うための最良のシステムだと思う。代替案が欲しいなら、これでビットコインを買えばいいかも。

Hacker Newsで議論の続きを見る