この記事は、Merpay Advent Calendar 2022 の3日目の記事 メルカードの舞台裏編です。
株式会社メルペイでメルカードのバックエンドサービスを担当している @uechoco です。
「メルカード」はメルペイが2022年11月にリリースした、新しいクレジットカードです。
クレジットカードを発行する事業を実現するためには、メルペイで行わなければならない業務もありますし、メルペイ以外の会社と取引も必要です。
本記事では、クレジットカード取引と、メルペイで新たに導入したメルカードマイクロサービスについて、決済処理の流れをまとめ、ご紹介します。
クレジットカード取引と関係会社
一般的に、クレジットカードの取引を実現するためには、大きく3つの役割の会社が必要となります。
国際ブランド … 世界中で広く利用可能なクレジットカードのブランドを持つ会社です。JCB、VISA、Mastercard、American Expressなどが有名です。メルカードではJCBのライセンスを受けてカードを発行しています。
アクワイアラ … お店(加盟店)を新規開拓・審査・管理したり、加盟店の売上を管理したりする会社です。また加盟店からオーソリゼーション(決済取引の承認)要求や売上精算が上がってくると、それらをイシュアに流します。メルカードではこの役割もJCB社が受け持っています。
イシュア … クレジットカードの発行会社です。イシュアはカード会員を集客したり管理したりする会社です。カードの入会申込・信用情報の照会・与信金額の決定・カード発行・オーソリゼーション判定・不正検知などを受け持っています。メルペイはここに該当します。
決済フロントエンドとしてのメルカードマイクロサービス
ところでメルカードでは、一般的なクレジットカードのイメージである翌月一括払いにももちろん対応していますし、お客さまが必要に応じて定額払いに振り分けて支払い計画を柔軟に変更することもできます。
メルペイでは、メルカードを提供する以前から、お客さまのご利用代金の支払手段としてメルペイスマート払いを提供し、翌月払いや定額払いに対応しています。
メルペイがクレジットカード事業に参入するにあたり、クレジットカードという新機能一式をゼロから作り上げたわけではなく、既存のメルペイの支払手段に対して物理的なクレジットカードという新しい入り口を増やす形で実現することができました。
言い換えると、既存の決済系マイクロサービスの前段に、新しくメルカードのためのマイクロサービスを立ち上げることで、クレジットカードの取り扱いを実現しています。
※FY2023.6 1Q 決算説明資料 より。iD、QRコード、バーチャルカードという既存の入り口の他に、新しくクレジットカードという入り口が増えたことがわかります。
メルカードマイクロサービスの決済
ここからは、クレジットカード取引とメルカードマイクロサービスの役割についてお話します。
オーソリゼーション
みなさんが、街のお店でクレジットカード決済をするとき、お店(加盟店)とイシュアの間では通信が発生しています。これは加盟店でのカードの利用をイシュアが承認・拒否するための通信で、オーソリゼーション(オーソリ)と呼ばれます。
加盟店はオーソリで承認を受けることで、不正などがなければアクワイアラから支払いを受けられることが約束されます。一方で、イシュアはオーソリによって、与信枠が足りているかをチェックしたり、不正なカードの利用を未然に防ぐことができます。
メルカードマイクロサービスは、オーソリリクエストと社内決済機能の橋渡しを行っています。
オーソリリクエストの内容を精査し、記録を残し、不正利用チェックを行い、問題がなさそうであれば社内決済サービスに問い合わせて決済を実行します。決済が無事に成功したら、利用通知メールやプッシュ通知を送りつつ、オーソリのレスポンスを返します。
メルカードのオーソリは、決済コアサービスの「仮売上」にマッピングしています。仮売上については、「メルペイ立ち上げの裏側 – 決済サービス開発のゼロイチ話」で少しだけ触れています。また、12月5日に公開の「決済システムを壊さずに拡張した話」でも触れる予定です。
売上処理(クリアリング)
オーソリで承認を受けただけでは、まだ「カードの利用が認められた」だけの状態です。お店(加盟店)がアクワイアラから支払いを受けるためには、加盟店で利用されたカードの取引結果の売上明細一覧を詳細に報告する必要があります。これを売上処理(クリアリング、売上精算)と呼びます。
加盟店から売上明細一覧を受けたアクワイアラは、それをイシュアに送り、受け取ったイシュアもまた独自に処理をします。
メルカードの売上処理は、決済コアサービスの「実売上」にマッピングしています。
決済トランザクションの整合性
メルカードでは、既に述べたように、外部の会社から取引情報を受け取り、社内でも複数のマイクロサービスを跨いで決済を実現しています。このような状況では、以下のような問題が起きえます。
- 途中のマイクロサービスまでうまくいっていたのに、最後の最後で処理に失敗してしまったため、マイクロサービス間で決済の成否が別れてしまった。
- リクエストがスパイクして、一時的にサーバーの処理がタイム・アウトしてしまった。
- 一定時間以内に外部の会社にレスポンスを返す必要があるのに、タイムアウトしてしまったため、メルペイでは決済成功しているが、外部会社で決済が失敗している状態になった。
こうした問題は、一言でまとめるとデータの「整合性」との戦いです。
メルペイでは決済フロントエンドとしてNFC決済(iD決済)にも対応していますが、NFC決済が整合性と戦ったときの様子が「NFC決済のデータ整合性について」の記事に紹介されています。メルカードでも同様の手法を採用していますので、参照してみてください。
加盟店マスターデータ
少し余談になってしまうのですが、メルカードの決済体験で評判を頂いている点の1つとして、「使った直後に通知が届き、使ったお店の名前が書いてある」というものがあります。メルペイではJCB様の協力の下、国内のJCB加盟店の番号と名前のデータベースを構築して、加盟店の名前を引けるようにしています。ちょっとした工夫ではありますが、お客さまの安心・安全につながるような取り組みも日々考えています。
※買い物例。ほとんどの国内の加盟店では、使ったお店の名前が通知や履歴に記載されています。
おわりに
クレジットカード事業にイシュアとして参入するためには、国際ブランドを決定し、アクワイアラとデータのやり取りをして実現します。イシュアは会員に関する管理業務が発生します。
メルカードでは、クレジットカードという新しい決済方法を導入するにあたり、既存の決済機能を活かしつつ、データの橋渡しをするための新しいマイクロサービスを前段に置くことで、うまく実現をしています。
参考文献
「カード決済業務のすべて―ペイメントサービスの仕組みとルール」(山本正行 著、2012/05/01 初版)
明日の記事は メルペイ バックエンドエンジニア @hiroebeさんの「メルペイでのマイクロサービス開発プロセス〜メルカード編〜」です。引き続きお楽しみください。