これは「imtakalab Advent Calendar 2025」の25日目の記事です。 https://adventar.org/calendars/11707

はじめに

どうも、MotoShinです。 今年も所属研究室で Advent Calender をやるとのことなので記事を書こうと思います。 今回のテーマは、「クレジットカード決済の仕組み」ということで、普段皆さんが使ってるクレジットカード決済の裏側(闇)を詳しく説明していこうと思います。 実は自分は会社の方で、決済系システムのクレジットカード周りの処理に携わっており、クレカ決済処理の裏側に詳しかったりします。 この記事を理解したところで、特に得することはありませんがクレカ決済処理についての疑問が少しは解消する、、、かもしれません。 また、決済システム系の仕事に携わりたい、というピンポイントすぎる志望がある学生とかは、他の学生よりも一歩リードできるかもしれません。

クレジットカードに関する単語あれこれ

クレカ決済のシステムには普段聞きなれない単語がたくさん出てきます。 ここでは、本題の話に入る前にそれらの単語を解説していきます。

単語 意味・解説
国際ブランド Visa, Master, JCB などのカードブランドのこと
イシュアー 三井住友カード、楽天、PayPayカードなどのカード発行会社のこと
加盟店 カード決済が可能なお店のこと
アクワイアラー 加盟店管理会社
オーソリ クレカの決済リクエストのこと、Authorizationの略
取消 確保したオーソリ枠をキャンセルすること
確定 オーソリで確保した枠を請求に載る形(売上)として確定すること、Captureと呼ばれたりもする
クリアリング 売上をアクワイアラーに連携すること

はい、専門用語多すぎですね。 カード決済という身近な処理の中にも

  • 加盟店
  • アクワイアラー
  • イシュアー
  • 国際ブランド

の4人の登場人物が出てくるわけです。

次の章から具体的なデータフローについて話していきたいと思います。

クレジットカード決済のデータフロー

カード発行処理

まずはカード発行処理のデータフローです。 下記に基本的なカード発行の際のフローを図示します。

  %%{
    init: {
        'theme': 'base',
        'themeVariables': {
            'lineColor': '#e35e6b'
        }
    }
}%%

graph BT
    ユーザ ==1.カード発行申し込み==> イシュアー
    ユーザ -.- 加盟店
    加盟店 -.- アクワイアラー
    アクワイアラー -.- イシュアー
    イシュアー ==ブランド使用契約==> 国際ブランド
    国際ブランド ==ライセンス提供==> イシュアー
    イシュアー ==2.カード発行==> ユーザ

基本的にクレジットカードシステムにおいて最上位にいるのは国際ブランド様になります。 国際ブランドとはVisa, Master, JCB, American Expressなどの国際的なカードブランドになります。 国際ブランドは世界で見ても非常に稀で、アメリカ、中国、日本くらいにしかありません。 そのうち世界中にシェアがあるのは上述したようなブランドになります。 ここに日本が持つ国際ブランドであるJCBが入っているのは結構すごいことです。 先人の方々の頑張りにあっぱれですね。

ちょっと話が脱線しましたが、ここでカード発行の処理の話に戻ります。 我々ユーザは国際ブランドと直接やりとりすることはできません。 なぜならカード発行を行うのは国際ブランドではなく、イシュアー(カード発行会社)と呼ばれる会社になるからです。 イシュアーとは、三井住友カード、PayPayカード、楽天カードのことを指します。 このイシュアーは国際ブランドに対してライセンス料金を支払うことで、国際ブランドの名称や独自のネットワークを使用することができます。 ユーザはイシュアーにカード発行申し込みを行って、VISAのOliveカードやMasterのPayPayカードなどを発行することができるわけです。

カード決済処理

次はカード決済処理についてです。 下記に基本的なカード決済処理の際のフローを図示します。

  %%{
    init: {
        'theme': 'base',
        'themeVariables': {
            'lineColor': '#e35e6b'
        }
    }
}%%

graph BT
    ユーザ ==1.カードで支払いをする==> 加盟店
    加盟店 ==2.オーソリリクエストを飛ばす==> アクワイアラー
    アクワイアラー ==3.オーソリリクエストを飛ばす ==> イシュアー
    イシュアー -.- 国際ブランド
    イシュアー ==4.オーソリを承認する==> アクワイアラー
    アクワイアラー ==5.オーソリを承認する==> 加盟店
    加盟店 ==6.商品・サービスの提供==> ユーザ

オーソリとは、カードの決済リクエストのことでAuthorizationの略称です。 なぜこのような名称なのかというと、カード決済とは要は信用を担保とした代理決済の仕組みなので、1つ1つの決済についてイシュアーの認可・承認(Authorization)が必要になるためです。 なので、私たちはイシュアーからどれだけ信用できるかを評価されカード利用限度額という値に反映されているわけですね。 つまり、10,000円のカード決済をした場合、カード利用限度額の中の10,000円の枠を確保されます。 限度額に10,000円の枠が空いてない場合は、このオーソリリクエストは拒否される、ということになります。

さて、オーソリという名前以外にも聞き慣れない名称があると思います。 そうです、アクワイアラーですね。 アクワイアラーとは、カードが使えるお店(加盟店)を管理している会社です。 簡単にいうとイシュアーに「AというユーザはBというお店でX円の買い物をしたよ」という報告をするための会社ですね。 なので、アクワイアラーはカードが使用できるお店のデータを全ての管理している、ということになります。 一体どれだけの情報量になるのか…想像したくはないですね…

どうでしょうか?なんとなくカード決済の仕組みがわかりましたでしょうか? ですが、これで全体処理の半分です。 注意が必要なのでオーソリとは「カード利用限度額の中の枠を確保する」だけである、ということです。 これは決済が確定されているわけではなく、一時的に買い物を保留している状態です。 一体ここからどのようにして決済が「確定」するのか。 ここから先はユーザが見えないクレジットカードの仕組みです。 ワクワクしますね!

確定処理

ここまではオーソリ処理の説明をしてきました。 ここからは決済の確定処理について説明していきます。

  %%{
    init: {
        'theme': 'base',
        'themeVariables': {
            'lineColor': '#e35e6b'
        }
    }
}%%

graph BT
    加盟店 ==1.確定リクエスト==> アクワイアラー
    アクワイアラー ==2.確定リクエスト ==> イシュアー
    イシュアー -.- 国際ブランド
    イシュアー ==3.確定してやるわ==> アクワイアラー
    アクワイアラー ==4.確定してやるわ==> 加盟店
    加盟店 ==5.商品・サービスの提供を確定==> ユーザ

はい、確定処理ですね。 この確定処理を加盟店が実行すると、「カード利用限度額の枠だけを確保している」状態(オーソリ状態)から「決済が確定して口座から引き落とされる」状態に遷移します。 オーソリだけしてる状態ではカードの利用明細には出力されず、確定まですると利用明細に出力されるようになるイメージです。

なぜ、このような2段階の決済の仕組みを導入しているか不思議に思った方もいると思います。 この機能は特にECサイトなどで予約商品を扱う際に利用されます。 1ヶ月後に発売する商品を予約した場合を考えます。 予約は完了したが店側で商品の確保ができないという状況も考えられます(ユーザからするとふざけるな、という感じですが)。 この場合には予約(カード決済してオーソリ状態)で、その予約を店側事情でキャンセルするとオーソリの取消になりカード利用上限の枠の開放だけが行われます。 このような場合に、オーソリと同時に確定する場合は決済自体は無かったことになっているのにカードの利用明細に決済した明細と、取消した明細が出てきてしまいます。 要は明細に出力する必要がない情報が出てきてしまう、ということですね。

他にも、ガソリンスタンドの決済でも例を出すことができます。 ガソリンスタンドのカード決済のフローは下記のようになっています。

  1. 高額なオーソリリクエストを実施する
  2. 給油する
  3. 実際に給油した量に応じて金額変更した上でオーソリを確定する

このようなフローになっている理由は、先払いにしておかないとお金を払わずに逃げられる場合があるからです。

上記の通りオーソリ、確定という2段階の決済の仕組みを採用している点は様々な合理性を考えた結果になります。 システムを作る際にもこのように様々なユースケースに対応できるシステムを作りたいものですね。(現実は仕様の後出し祭りになります)

クリアリングと精算

ここはユーザは意識することはないフローです。 しかし、皆さん気づいてますでしょうか? なんと、僕らが買い物をしたお店にはまだお金が支払われてません! このクリアリングと精算は、お店にお金が実際に支払われるまでのフローになります。 目立ちませんが、一番重要な処理ですね。

  %%{
    init: {
        'theme': 'base',
        'themeVariables': {
            'lineColor': '#e35e6b'
        }
    }
}%%

graph BT
    アクワイアラー ==1.売上データを連携==> イシュアー
    ユーザ ==2.ユーザからお金を集金==> イシュアー
    イシュアー ==3.加盟店の売上を振込==> 加盟店
    イシュアー -.- 国際ブランド

アクワイアラーは日次のバッチ処理などで、

  • どの加盟店に
  • どのユーザが
  • 何円決済したか

という情報を加盟店毎にまとめた売上ファイルを作成してイシュアーに連携します。 この処理のことをクリアリングといいます。

売上ファイルを連携されたイシュアーは、売上ファイルを読み込みます。 そして、月次でユーザに利用明細を発行してお金を徴収します。 その後、イシュアーから加盟店に売上の振込を行います。 これが精算処理です。

このように処理することで、やっとユーザから加盟店のお金が到達することになります。

まとめ

どうでしょうか? カード決済処理の大まかな仕組みについて理解していただけましたでしょうか?

こう見ると全ての図に出てきる割に国際ブランドは何もしてないことがわかると思います。 ただ、クレジットカード決済にて最も稼いでいるのは国際ブランドです。 それはなぜか? そう、これが手数料ビジネスです。

国際ブランドはブランド独自のネットワークをイシュアーに提供することで、イシュアーはカード決済を実現できています。 つまりイシュアーに対してネットワーク使わせてあげるから1決済あたりに何%かの手数料をちょうだいね、という商売をしているわけです。 イシュアーが手数料を取っているようなイメージがありますが、そんなことはありません。 イシュアーまで手数料取っていたら累計手数料がとんでもないことになり、カード決済なんて導入する加盟店はいなくなってしまいます(カード決済されればされるほど損するので)。 これが冒頭で言った「国際ブランド様が一番えらい」ということです。

では、イシュアーはどうやって儲けてるの?って疑問に思いますよね。 それはリボ・分割手数料ですよ! イシュアーはリボ・分割してくれないと利益なんてないようなもんですからね! だからリボとか分割の利子とか手数料は無法レベルで高いわけですよ。

え?アクワイアラーはどう儲けてるのかって? それは、俺も知らん。

本当のまとめ

クリスマスの日にこんなニッチで長い記事を最後まで読んでくれてありがとうございます。 こんな記事を最後まで読んでくれた皆さんは、国際ブランドのような手数料ビジネスで儲けてるような会社に就職して勝ち組人生を送れることを、初詣のときにお願いしておきます。 それでは皆さんよいお年を!

手数料で寝てても稼げるようになりてーなー