メインコンテンツまでスキップ

APB決済フロー

これまでご紹介したフローは
「Amazon Payボタンクリック -> Amazonページでお届け先 および/または お支払い方法を選択 -> 事業者の注文確認ページで購入ボタンをクリック -> 注文完了」
の流れでしたが、

  • お届け先が不要なデジタル商材でAmazon Payを利用するケース
  • すでに自社サイトの会員ログイン済みで、送付先住所を自社DBに登録されたものを選択されている状態、かつ決済方法の選択時にAmazon Payを利用するケース

ではAPB (Additional Payment Button)という実装方法があります。

ご注意いただきたい点として、購入者が購入しやすいAmazon Pay導入方法を選択すべきですので、上記以外の場合にAPBを利用することはお勧めしません。

フロー図

以下はAPBのフロー(事業者処理とAmazon側の処理を横長のフローにまとめたもの)です。
フローは横長となっており、フロー内を右にスクロールしていただくことで全てをご覧いただけます。

OneTime(都度払い)の決済フロー

事業者サイトAmazon Pay Hosted page Amazonログイン後事業者処理事業者サイト
事業者はAmazon Payボタンレンダリングスクリプトを記述してサイトにAmazon Payボタンを表示します。
購入者はAmazon Payボタンをクリックします。
● ● ●
注文確認ページ
Amazon Pay
▶︎
購入者はAmazon Pay Hosted pageにリダイレクトされ、AmazonのログインID、パスワードでログインします
▶︎
ログインが完了すると、購入者は住所/支払いが選択できるHosted Pageで「今すぐ支払う」ボタンをクリックします。
APBの場合
1. お届け先住所は、payloadJSONのaddressDetailsに設定された値が表示されます
2. お支払い金額は、payloadJSONのpaymentDetails.chargeAmountに設定された値が表示されます。
3. ボタンのラベルが「今すぐ支払う」になります
「今すぐ支払う」をクリックすると、次のプロセスへ進みます。
支払いが選択できるHosted Page
productType="PayAndShip"の場合
Merchant
お届け先住所
テスト姓名 153-0064 東京都目黒区下目黒1-8-1
お届け先は [事業者]ウェブサイトに入力した住所です。
支払い方法
VISA 末尾 1111
お支払い金額
¥10,000

productType="PayOnly"の場合
Merchant
支払い方法
VISA 末尾 1111
お支払い金額
¥10,000

「変更」ボタンをクリックした場合
支払い方法を選択してください
◉ VISA 末尾1111
xxx
有効期限 05/2023
○ American Express 末尾 0005
xxxx
有効期限 05/2023

▶︎

処理が完了すると、Amazonは Amazon Payボタンの payloadJSON. webCheckoutDetails.checkoutResultReturnUrlに設定したURLへリダイレクトします
遷移先URLには amazonCheckoutSessionIdパラメータが追加されます
例)https://anyurl.com/result/?amazonCheckoutSessionId=26be7331-7dc2-4722-be22-f7e75582d3ef
▶︎
Complete Checkout Session APIを呼び出しcheckoutSessionを完了させます。
APIのresponseでchargePermissionIdとchargeIdが返却されます。
後続処理で必要となりますので、事業者注文情報と紐付けて保存してください。
インテグレーションガイド - Complete Checkout Sessionレスポンスサンプル
決済が「成功」しない可能性がありますので、エラー発生時のハンドリング処理をお願いいたします。
エラーハンドリング
インテグレーションガイド - エラーハンドリング およびエラーのリトライ
FAQ - 決済失敗時のエラーハンドリング
▶︎
注文完了ページを表示します

● ● ●
注文完了ページ
✔️

シーケンス図

シーケンス図での説明もありますので、シーケンス図も併せてご確認ください。

出典: FAQ - AdditionalPaymentButton(APB)機能について知りたいです。


APBに関するインテグレーションガイド

インテグレーションガイド > インテグレーションオプション > AdditionalPaymentButton(今すぐ支払う) の中でご紹介しています。

具体的な実装の詳細は、APB決済フローの実装でご紹介していますので、ご覧ください。