設定されたお支払い方法を用いて支払いを管理する

[ステップ 4/8] 購入者がお支払い方法設定の保存を完了すると、Complete Checkout Sessionのレスポンスに、お支払い方法設定にで生成されたCharge PermissionオブジェクトのChargePermissionIdが含まれて返却されます。このIdをもとに購入者への請求とキャンセルの管理に行うことができます。

このステップを完了すると、購入者への請求とキャンセルの管理が可能になります。


1. 請求とオーソリ失敗のハンドリング

購入者に請求する必要がある場合は、毎回 Create Charge APIを実行します。CaptureNowパラメーターをtrueに設定すると売上請求も同時に実施されます。falseに設定する場合は、別途売上請求処理を実施する必要があります。 注意:Amazon Payでは、各月に購入者に請求できる金額の上限が設定されていることに注意してください。詳細については、PaymentMethodOnFileの月額上限を参照してください。

Create Chargeが201 レスポンスを返却した場合、オーソリは正常に取得されています。canHandlePendingAuthorizationがtrueの場合は、非同期オーソリのリクエストが正常に受け付けられています。 もし、Create Chargeがそれ以外のHTTPステータスコードを返却した場合は、以下のようにレスポンスの理由コード(ReasonCode)を確認してCreate Chargeを再試行すべきか購入者に別の支払い方法を利用してもらうべきかを判断します。

  • もし reasonCode が SoftDeclined または ProcessingFailure の場合、以下のことを行います:
    1. Get Charge Permissionを実行して、ChargePermissionがChargeableステータスにあることを確認します
    2. Create Chargeを実行し、購入者への請求を再試行します。
  • もし reasonCode が HardDeclined がHardDeclinedの場合、次のリンクを使用して支払い方法を更新するように購入者に依頼してください: https://pay.amazon.com/jp/jr/your-account/ba/{ChargePermissionId}。※{ChargePermissionId}の部分を購入者のPMOF ChargePermissionIdに置き換えます。 支払い方法が​​更新されたら通知を受け取るようにIPNを設定し、以下のことを行います:
    1. Get Charge Permissionを実行して、ChargePermissionがChargeableステータスにあることを確認します
    2. Create Chargeを実行し、購入者への請求を再試行します。
  • 上記以外のreasonCodeだった場合、購入者に連絡し、別の決済方法で再度決済を行ってもらうようご案内します

リクエスト

curl "https://pay-api.amazon.com/:environment/:version/charges/"  \
-X POST
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"
-H "x-amz-pay-date:20201012T235046Z"
-H "x-amz-pay-idempotency-key:AVLo5tI10BHgEk2jEXAMPLEKEY"
-d @request_body

リクエストボディ

{
    "chargePermissionId": "P21-1111111-1111111",
    "chargeAmount": {
        "amount": "14.00",
        "currencyCode": "USD"
    },
    "captureNow": true, // default is false
    "softDescriptor": "Descriptor",
    "canHandlePendingAuthorization": false //default is false
}

リクエストパラメータ

名前
ロケーション
説明
x-amz-pay-idempotency-key
(必須)

Type: string
Header
リクエストを安全にリトライするための冪等キー
chargePermissionId
(必須)

Type: string
Body
ChargePermission識別子
chargeAmount
(必須)

Type: price
Body
請求金額
captureNow

Type: boolean
Body
オーソリが成功した直後に売上請求をする必要があるかどうかを示すブール値

デフォルト: false
softDescriptor

Type: string
Body
CaptureNowをtrueに設定している場合、購入者のお支払い方法ステートメントに表示される説明。CaptureNowがfalseに設定されている場合は、この値を設定しないでください。この項目には、購入者や取引に関する機密データを保存しないでください(例えば、政府発行の身分証明書、銀行口座番号、クレジットカード番号などが含まれますが、これらに限定されません)

※日本では利用できません。固定値が表示されます。

このsoft descriptorは以下の形式で連携されます。: "AMZ* <soft descriptor specified here>"

Default: "AMZ*<SELLER_NAME> pay.amazon.com"
最大長: 16 文字
canHandlePendingAuthorization

Type: boolean
Body
事業者が保留のレスポンスを処理できるかどうかを示すブール値

falseに設定すると、US,EU,UK地域では最大15秒以内、JP地域では最大30秒以内にレスポンスが返されます。trueに設定すると、Amazon Payはオーソリを非同期で処理し、24時間以内にレスポンスを返します。詳細については、非同期処理を参照してください
merchantMetadata

Type: merchantMetadata
Body
事業者が設定する注文の詳細情報
providerMetadata

Type: providerMetadata
Body
決済サービスプロバイダー(PSP)が設定する注文の詳細情報

PSPのみがこれらのフィールドを使用します

レスポンス

{
     "chargeId": "P21-1111111-1111111-C111111",
     "chargePermissionId": "P21-1111111-1111111",
     "chargeAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "captureAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "refundedAmount": {
         "amount": "0.00",
         "currencyCode": "USD"
     },
     "convertedAmount": "14.00",
     "conversionRate": "1.00",
     "softDescriptor": "Descriptor",
     "merchantMetadata": null,
     "providerMetadata": {
         "providerReferenceId": null
     },
     "statusDetails":{
         "state": "Captured",
         "reasonCode": null,
         "reasonDescription": null,
         "lastUpdatedTimestamp": "20190714T155300Z"
     },
     "creationTimestamp": "20190714T155300Z",
     "expirationTimestamp": "20190715T155300Z",
     "releaseEnvironment": "Sandbox"
}

2. キャンセルの管理

PaymentMethodOnFile利用者が保存をキャンセル/解除した場合は、Close Charge Permissionを使用してAmazon Payに連携します。 ChargePermissionを閉じた後、お支払い方法設定の保存を新たに行わない限り、PaymentMethodOnFile利用者に請求することはできなくなります。

PaymentMethodOnFile利用者は、https://pay.amazon.comにサインインして、PMOF ChargePermissionを閉じることもできます。ChargePermissionが閉じられた場合に通知を受信するように IPNを設定します。請求不可の状況を最小限に抑えるために、次の請求サイクルの前に、新しい支払い方法の設定について利用者に積極的に連絡することをお勧めします。

3. 支払い方法の変更

購入者は、Amazon Payのサイト https://pay.amazon.co.jp/ から、選択した支払い方法を更新できます。その後の請求は、更新された支払い方法を使用して処理されます。更新以前の請求に関連する支払い方法は変更されません。また、購入者に直接PMOF ChargePermissionに紐づく次のリンクを提供して、支払い方法を簡単に更新してもらう事もできます。URL:https://pay.amazon.com/jp/jr/your-account/ba/{ChargePermissionId}。 ※{ChargePermissionId}の部分を購入者のPMOF ChargePermissionIdに置き換えます。

4. Payment Method On Fileの有効期限

chargePermissionType: paymentMethodOnFile となっているChargePermissionの場合、有効期限はありません。ChargePermissionがクローズされるまで利用することが可能です。(expirationTimestampには過去日付が設定されます)