質問: 最近、個人的に FinTech に関心があり、特に何が可能で何が不可能なのか見極めたいということを考えているのですが、 基本的な質問で恐縮なのですが、例えば、通常のオンライン決済 (e.g. Amazon でクレジットカードを登録して購入する) はどのように実現・実装されているのでしょうか?もちろん現実的には各種決済代行サービスやその API を使うことになると思うのですが、それらサービスの中身の実装が気になっています。 例えば、クレジットカード会社や与信機関の API がある場合、それが一覧でわかる資料もあればとても嬉しいです(何ができて何ができないのかわかるため)。逆にない場合、なぜないのか(情報自体が公開されておらず、パートナーシップベースのやりとりになっている、など)、どうしたらその情報にアクセスできるのか、ご教示いただけますと大変嬉しいです。 API 自体は、経産省の資料にもありますように、最近は増えてきている印象です。 クレジットカードデータ利用に係るAPI連携に関する検討会(キャッシュレス検討会)(第5回)‐配布資料 「フィンテック」とカード会社の API 連携 ただ、この資料自体は活用のための、というところなので、既に実現されている機構については言及されていません。 以下のような技術資料も、私が知りたい部分は既に実装されている前提で、それをラッピングしたサービスの使い方に関する話が多い印象です。 決済プログラミングをはじめてみよう 個人的に知りたいのは、以下の資料 P.33 の「上流サービス」部分なんです。 簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について 込み入った質問で恐れ入りますが、もしどなたかご存じの方がいればぜひ教えていただけますと幸いです。
回答: API の先にあるその会社の「決済システム」というのは、企業秘密ですし、セキュリティの問題もあるので、外に出ることはないと思います。 基本的にはログインシステム同様に「リクエストがあったら、データベースを参照し、有効なリクエストであれば (カード番号が存在するか、パスワードがあっているかどうかなど)、決済を実行する」という仕組みになっていると思います。 バグで二重決済になってしまったり、脆弱性をつかれて不正に決済が行われるなど決してあってはいけないので、通常のログインシステムに比べて格段にセキュリティに注意を払い、決済システムを構築する必要があるでしょう。(その手の専門家がいないとシステムを作るのは難しいと思います。) ↑は決済システムを作る場合の話であり、API を使う側の話ではありません。 API のドキュメントは、API を用意している会社の開発者用ページで確認できます。 「サービス名 Developer」で検索すると出てきます。 * Visa * Master Card * Paypal