延期されたトランザクションを管理する
決済でオーソリまたは売上請求を延期することを選択できます。たとえば、入荷待ちの商品で出荷が可能になったタイミングでオーソリする、または出荷後に売上請求をするなどです。
延期されたオーソリ
前提条件:この操作を実行するにはChargeable状態のCharge PermissionのChargePermissionId
が必要です。Chargeable状態のCharge Permissionは、paymentIntent
にConfirmを設定したCheckout Sessionに対してComplete Checkout Sessionを実行した際、または、totalOrderAmount
で設定した金額がまだ全額売上請求されていない場合に発生します。また、Chargeable状態のCharge Permissionは180日後に期限切れになることに注意してください。
Create Chargeを呼び出してオーソリを確保します。CaptureNow
を使用して、同じトランザクションで支払いを売上請求するかどうかを指定できます。 OneTimeのCharge Permissionの場合、売上請求された合計金額がamountLimit
超えない、かつ作成できる有効なChargeの数は25個となります。amountBalance
がゼロに達すると、Charge Permissionは自動的にClosed 状態に移行します。
Create Chargeが201 レスポンスを返却した場合、オーソリは正常に取得されています。canHandlePendingAuthorization
がtrueの場合は、非同期オーソリのリクエストが正常に受け付けられています。
もしCreate Chargeがそれ以外のHTTPステータスコードを返却した場合は、以下のようにレスポンスの理由コード(reasonCode
)を確認してCreate Chargeを再試行すべきか購入者に別の支払い方法を利用してもらうべきかを判断します。
- もし
reasonCode
がSoftDeclinedまたはProcessingFailureの場合、以下のことを行います:- Get Charge Permissionを呼び出して、ChargePermissionがChargeableステータスにあることを確認します
- Create Chargeを呼び出して、購入者に請求します
- 上記以外の
reasonCode
だった場合、購入者に連絡し、別の支払い方法で再度決済を行ってもらうようご案内します
リクエスト
リクエストボディ
{
"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
|
Charge Permission識別子
|
chargeAmount (必須) Type: price |
Body
|
請求金額
|
captureNow Type: boolean |
Body
|
オーソリが成功した直後にChargeを売上請求された必要があるかどうかを示すブール値 デフォルト値:false |
softDescriptor Type: string |
Body
|
CaptureNow がtrueに設定されている場合、購入者のお支払い方法ステートメントに表示される説明。
CaptureNow がfalseに設定されている場合は、この値を設定しないでください。日本では利用できません。固定値が表示されます。 デフォルト:「AMZ * <SELLER_NAME> pay.amazon.co.jp」 最大長:16文字/バイト |
canHandlePendingAuthorization Type: boolean |
Body
|
事業者が非同期レスポンスを処理できるかどうかを示すブール値 falseに設定すると、US、EU、UKの地域では最大15秒以内、JPでは最大30秒以内に応答します。 trueに設定すると、Amazon Payはオーソリを非同期で処理し、24時間以内にレスポンスを受け取ります。詳細については、 非同期処理を参照してください。 |
merchantMetadata Type: merchantMetadata |
Body
|
販売者が提供する注文の詳細。このパラメーターは、RecurringのCharge Permissionオブジェクトを使用して作成された料金に対してのみ設定できます。
|
providerMetadata Type: providerMetadata |
Body
|
決済サービスプロバイダー(PSP)- 提供された注文の詳細 PSPのみがこれらのフィールドを使用する必要があります |
platformId Type: string |
Body
|
ソリューションプロバイダー(SP)の事業者識別子 SPのみがこれらのフィールドを使用する必要があります |
レスポンス
{
"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"
}
延期された売上請求
前提条件: Authorized状態のChargeオブジェクトのChargeId
が必要です。Checkout SessionにpaymentIntent
にAuthorizeにセットしてComplete Checkout Sessionを実行、またはCreate ChargeのcaptureNow
false設定でAuthorized状態でChargeが作成されている必要があります。Authorized状態でのChargeは30日後に期限が切れることに注意してください。
Capture Chargeを使用すると、Authorized状態のChargeへ売上請求を実施できます。支払いがAuthorizedされた時と支払売上請求要求がされたときの時間の間隔および金額に応じて、異なった処理をします。
売上請求の状態 |
説明 |
7日以内 |
キャプチャ要求は同期的に処理されます。ChargeはCaptured状態になります。詳細については、以下のCharge状態の説明を参照してください。 |
7日後 |
キャプチャ要求は非同期で処理されます。ChargeはCaptureInitiated状態になります。詳細については、以下のChargestateの説明を参照してください。 |
30日後 |
Authorized stateから30日経過し、Chargeが期限切れになりました。ChargeはCanceled状態にあり、もはや売上請求に、このChargeを使用することはできません。 Charge PermissionがChargeable stateの場合は、新しいChargeの作成を試みことが可能です。それ以外の場合は、購入者に連絡してお支払い方法を再度設定依頼するか、別の支払い方法を設定してください |
Charge stateの説明
Charge state |
説明 |
AuthorizationInitiated |
オーソリは保留中です。詳細については、 非同期処理のセクションを参照してください。 |
Authorized |
正常にオーソリされています。詳細については、 遅延トランザクションを参照してください。 |
CaptureInitiated |
正常にオーソリされており、売上請求処理は保留です。詳細については、
非同期処理のセクションを参照してください。 |
Captured |
正常にオーソリされ、売上請求もされました。 |
Declined |
支払いは拒否されました。Chargeが オーソリに失敗した理由コードを参照してください。購入者に再度連絡して、もう一度決済するように依頼する必要があります。 |
リクエスト
リクエストボディ
{
"captureAmount": {
"amount": "14.00",
"currencyCode": "USD"
},
"softDescriptor": "Descriptor"
}
リクエストパラメータ
名前
|
ロケーション
|
説明
|
x-amz-pay-idempotency-key (必須) Type: string |
Header
|
安全なリトライリクエストするための冪等キー |
chargeId (必須) Type: string |
Path Parameter
|
Charge識別子
|
captureAmount (必須) Type: price |
Body
|
請求金額
|
softDescriptor Type: string |
Body
|
CaptureNow がtrueに設定されている場合、購入者のお支払い方法ステートメントに表示される説明。
CaptureNow がfalseに設定されている場合は、この値を設定しないでください。日本では利用できません。固定値が表示されます。 デフォルト:「AMZ * <SELLER_NAME> pay.amazon.co.jp」 最大長:16文字/バイト |
レスポンス
{
"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"
}