Checkout Session
Checkout Sessionは、Webサイトの購入者に対する単一のアクティブなセッション(またはエンゲージメント)を表します。Checkout Sessionは、一つの請求、複数の請求、またはオーソリ失敗からのリカバリーを容易にするために使用できます。
Checkout Sessionは、Open状態で開始されます。Open状態ではCheckout Sessionを使用して、配送先住所などの決済の詳細を取得し、注文金額などの関連する支払いの詳細を設定できます。Checkout Sessionを使用して、購入者にすぐに請求するか、後で購入者に請求できるCharge Permissionを生成することができます。
トランザクション処理が成功して、Complete Checkout Session を実行した後、 Checkout SessionはCompleted状態に移行します。Completed状態でAuthorizationが要求された場合は、Checkout SessionをCharge PermissionとChargeを参照するための情報を取得するために使用できます。
Checkout Sessionが24時間Open状態になった後、またはトランザクション処理が失敗した場合、Checkout SessionはCanceled状態に移行します。Canceled状態では、Checkout Sessionを使用して、チェック決済が失敗した理由を取得できます。
Amazon Payは、30日後にCheckout Sessionオブジェクトと関連情報を削除することに注意してください。
サポートされている操作:
- Checkout Session オブジェクト
- 状態と理由コード
- Create Checkout Session
- Get Checkout Session
- Update Checkout Session
- Complete Checkout Session
- 関連トピック
Checkout Session オブジェクト
パラメータ
|
説明
|
checkoutSessionId Type: string |
Checkout Session識別子
|
chargePermissionType Type: string |
要求されたCharge Permissionのタイプ サポートされている値:
|
recurringMetadata Type: recurringMetadata |
RecurringのCharge Permissionの使用方法に関するメタデータ。 Amazon Payは、この情報を使用して、Charge Permissionの有効期限を計算し、購入者と連絡を取ります。
事業者の請求タイミングで購入者に請求するためにCreate Chargeを実行することは事業者責任であることに注意してください。 |
webCheckoutDetails Type: webCheckoutDetails |
Checkout Sessionに関連付けられたURL情報で、決済を完了するために使用します
|
productType Type: string |
Amazon Payインテグレーションタイプ。Checkout Session操作を介してこの値を設定することはできず、ボタンにproductType パラメータを使用して設定する必要があります。
|
paymentDetails Type: paymentDetails |
購入者に請求する金額や方法など、事業者が指定した支払いの詳細情報
|
merchantMetadata Type: merchantMetadata |
事業者が提供する注文の詳細情報
|
paymentMethodOnFileMetadata Type: paymentMethodOnFileMetadata |
ChargePermissionをPaymentMethodOnFileの中でどのように利用するかを示す詳細情報。Amazon PayはPaymentMethodOnFileとして必要な情報を判別する為にこの情報を利用します。
|
platformId Type: string |
ソリューションプロバイダー(SP)の事業者ID SPのみがこのフィールドを使用する必要があります |
providerMetadata Type: providerMetadata |
決済サービスプロバイダー(PSP)が提供する注文情報 PSPのみがこれらのフィールドを使用する必要があります |
buyer Type: buyer |
購入者一意のID、名前、メールアドレスなど、購入者に関する詳細情報 この情報は、Opens状態のCheckout Sessionでのみ返されます |
shippingAddress Type: address |
購入者が選択した配送先住所
|
billingAddress Type: address |
購入者が選択したお支払い方法の請求先住所。
|
paymentPreferences Type: list<paymentPreferences> |
購入者が選択した支払い方法のリスト
|
statusDetails Type: statusDetails |
CheckoutSessionオブジェクトの状態
|
constraints Type: list<constraint> |
Amazon Payの決済を完了するために対処する必要のある制約
|
creationTimestamp Type: dateTime |
Checkout Sessionが作成されたISO8601形式での協定世界時(UTC)日時
|
expirationTimestamp Type: dateTime |
Checkout Sessionが期限切れになるISO8601形式でのUTC日時
|
chargePermissionId Type: string |
Checkout Sessionが完了した後に返すChargePermissionID 延期されたトランザクションの請求を作成するために使用されます |
chargeId Type: string |
Checkout Sessionの完了後に返されるCharge識別子 返金の処理に使用されます |
storeId Type: string |
Amazon PayのStore IDです。 Amazon Pay インテグレーションセントラルUS, EU, JPからこの値を取得します。
|
deliverySpecifications Type: deliverySpecifications |
配送先制限機能で指定して、購入者がAmazonのアドレスリストからサポートされていないアドレスを選択できないようにします
|
releaseEnvironment Type: string |
CheckoutSessionオブジェクトが作成された環境(SANDBOXまたは本番)
|
supplementaryData Type: string |
データエンリッチメントフィールド。ご利用できません。
|
Type: webCheckoutDetails
パラメータ
|
説明
|
checkoutReviewReturnUrl Type: string |
事業者から提供された決済レビューURL。購入者が希望のお支払い方法と配送先住所を選択すると、 購入者はこのURLにリダイレクトします Note: 本番環境では、URLはHTTPSプロトコルを使用する必要があります。 URLドメインをセラーセントラルに追加する必要があります。詳細については、セラーセントラルへのドメインの追加を参照してください。 SANDBOX環境では SSL証明書は必要なく、ローカルホスト(http:// localhost)でテストしている場合はHTTPプロトコルを使用できます。 セラーセントラルのJavaScriptオリジンにURLを追加する必要はありません 最大長:1024文字/バイト |
checkoutResultReturnUrl Type: string |
事業者から提供された決済結果のURL。トランザクションの完了後、Amazon PayはこのURLにリダイレクトします Note:本番環境では、URLはHTTPSプロトコルを使用する必要があります。SANDBOX環境では SSL証明書は必要なく、ローカルホスト(http:// localhost)でテストしている場合はHTTPプロトコルを使用できます。 最大長:1024文字/バイト |
checkoutCancelUrl Type: string |
決済をキャンセルした際に戻す事業者が指定するURLです。 購入者がAmazon Hosted Page上で決済をキャンセルした場合、Amazon PayはこのURLにリダイレクトします。
もし checkoutCancelUrl が設定されていない場合は、Amazon Payは以下のロジックでリダイレクトします。
|
</td>
amazonPayRedirectUrl Type: string |
Amazon Payが提供するURL。決済を完了するためにトランザクションの詳細を設定した後、事業者はこのページにリダイレクトします。 最大長:256文字/バイト |
checkoutMode Type: string |
決済を完了する前に、購入者がWebサイトに戻って注文を確認するかどうかを指定します サポートされている値:
|
Type: deliverySpecifications
パラメータ
|
説明
|
specialRestrictions Type: list<string> |
ルールによる制限 Note:AmazonはSANDBOXの値のみをを検証します。サポートされていない値が使用されている場合、このパラメータは本番環境では無視されます。 サポートされている値:
|
addressRestrictions Type: addressRestrictions |
住所による制限
|
Type: addressRestrictions
パラメータ
|
説明
|
type Type: string |
制限設定に一致するアドレスを配送先制限するかどうかを指定します Note:AmazonはSANDBOXの値を検証します。サポートされていない値が使用されている場合、このパラメータは本番環境では無視されます。 サポートされている値:
|
restrictions Type: hash<countryCode:restriction> |
addressRestrictions.type に基づいて制限する必要があるアドレスと制限しないアドレスを決定する国レベルの制限のハッシュパラメータ。CountryCodeは、アドレスの国コードをISO3166形式で表す文字列です。 AmazonはSANDBOXのCountryCodeのみを検証します。サポートされていない値が使用されている場合、 本番環境ではCountryCodeは無視されます。 |
Type: recurringMetadata
パラメータ
|
説明
|
frequency Type: frequency |
RecurringのCharge Permissionを使用して購入者に請求される頻度。アドホックな料金が予想される場合でも、frequencyは指定する必要があります。 可能な組み合わせ:
|
amount Type: price |
Recurringのサイクルごとに購入者される金額。金額が変動する場合はnullに設定します。
|
Type: frequency
パラメータ
|
説明
|
unit Type: string |
各請求サイクルの頻度の単位。複数のサブスクリプションの場合、最短の請求サイクルのfrequency unitを指定します。詳細については、 支払い頻度が不定期の場合の処理を参照してください。 サポートされている値: 'Year', 'Month', 'Week', 'Day', 'Variable' |
value Type: string |
請求サイクルごとのfrequency単位の数。たとえば、週単位を指定するには、unit を'Week'に設定し、value を1に設定します。Variableunit を使用している場合は、 value を0に設定する必要があります。 |
Type: restriction
パラメータ
|
説明
|
statesOrRegions Type: list<string> |
addressRestrictions.type に基づいて制限する必要がある、または制限しないstatesOrRegionsのリストのaddressRestrictions.type パラメータNote:
|
zipCodes Type: list<string> |
addressRestrictions.type 基づいて制限する必要があるまたは制限しない国固有の郵便番号のパラメータ郵便番号の設定にワイルドカード記号を用いることができます。"*"記号は任意の長さの任意の文字列、"?"記号は任意の一文字として扱います。 |
Type: paymentDetails
パラメータ
|
説明
|
paymentIntent Type: string |
購入者に請求するための支払いフロー サポートされている値:
|
canHandlePendingAuthorization Type: boolean |
事業者が保留のレスポンスを処理できるかどうかを示すブール値 trueに設定されている場合:
|
chargeAmount Type: price |
決済時にpaymentIntent を使用して処理される金額 |
totalOrderAmount Type: price |
合計注文金額。決済が完了した後に追加の支払いを売上請求するするために注文を分割する必要がある場合にのみ使用してください
|
presentmentCurrency Type: string |
購入者がISO4217形式で請求する通貨。例:USD 詳細については、複数通貨のインテグレーションを参照してください |
softDescriptor Type: string |
paymentIntent がAuthorizeWithCaptureに設定されている場合、購入者のお支払い方法ステートメントに表示される説明。別のpaymentIntent を使用する場合は、この値を設定しないでください。この項目には、購入者や取引に関する機密データを保存しないでください(例えば、政府発行の身分証明書、銀行口座番号、クレジットカード番号などが含まれますが、これらに限定されません)日本では利用できません。固定値が表示されます。 デフォルト:「AMZ * pay.amazon.co.jp」 最大長:16文字/バイト |
allowOvercharge Type: boolean |
JPマーケットプレイスに登録した場合にのみ適用されます。このパラメータは、他のすべてのリージョンでは常にnullとして返されます |
extendExpiration Type: boolean |
JPマーケットプレイスに登録した場合にのみ適用されます。このパラメータは、他のすべてのリージョンでは常にnullとして返されます
|
Type: price
パラメータ |
説明 |
amount Type: string |
取引金額 |
currencyCode Type: string |
ISO4217形式の取引通貨コード 例:JPY |
Type: providerMetadata
パラメータ
|
説明
|
providerReferenceId Type: string |
決済サービスプロバイダー(PSP)に提供された注文ID PSPのみがこれらのフィールドを使用する必要があります |
Type: merchantMetadata
パラメータ
|
説明
|
merchantReferenceId Type: string |
事業者注文識別子。merchantReferenceIdは、Amazon Payウェブサイトの購入者とのコミュニケーションおよび購入者の取引履歴で共有されます。 最大長:256文字/バイト |
merchantStoreName Type: string |
事業者名。このパラメータを設定すると、セラーセントラル (US 、EU 、 JP)で構成されたデフォルト値が上書きされます。MerchantStoreNameは、 Amazon Payウェブサイトの購入者とのコミュニケーションおよび購入者の取引履歴で共有されます。 最大長:50文字/バイト |
noteToBuyer Type: string |
購入者とのコミュニケーションで共有される注文の説明。 購入者や取引に関する機密データを保存しないでください(例えば、政府発行の身分証明書、銀行口座番号、クレジットカード番号などが含まれますが、これらに限定されません) 最大長:255文字/バイト |
customInformation Type: string |
注文のカスタム情報。このデータは、購入者とのコミュニケーションでは共有されません。 購入者や取引に関する機密データを保存しないでください(例えば、政府発行の身分証明書、銀行口座番号、クレジットカード番号などが含まれますが、これらに限定されません) 最大長:4096文字/バイト |
Type: paymentMethodOnFileMetadata
パラメータ
|
説明
|
setupOnly Type: ブール値 |
事業者が、お支払方法設定をする為のフローのみが起動します。 true - 購入者に対してお支払い方法設定の画面を表示します Default: [true] |
Type: buyer
パラメータ
|
説明
|
buyerId Type: string |
一意のAmazon Pay購入者ID
最大長:42文字/バイト |
name Type: string |
購入者名 最大長:50文字/バイト |
email Type: string |
購入者のメールアドレス 最大長:64文字/バイト |
phoneNumber Type: string |
購入者のデフォルトの請求先住所の電話番号 最大長:20文字/バイト |
primeMembershipTypes Type: list<primeMembershipType> |
購入者のプライム会員リスト。この値の一般利用はできません。 |
Type: paymentPreferences
パラメータ
|
説明
|
paymentDescriptor Type: string |
購入者が選択したAmazon Payお支払い方法
最大長:64文字/バイト |
Type: address
パラメータ
|
説明
|
name Type: string |
アドレスの名前 最大長:50文字/バイト |
addressLine1 Type: string |
アドレスの最初の行 最大長:180文字/バイト |
addressLine2 Type: string |
アドレスの2行目 最大長:60文字/バイト |
addressLine3 Type: string |
アドレスの3行目 最大長:60文字/バイト |
city Type: string |
アドレスの市区町村 最大長:50文字/バイト 日本では利用できません。 |
county Type: string |
アドレスの国 最大長:50文字/バイト 日本では利用できません。 |
district Type: string |
アドレスの地域 最大長:50文字/バイト 日本では利用できません。 |
stateOrRegion Type: string |
アドレスの州または行政区:
|
postalCode Type: string |
アドレスの郵便番号 最大長:20文字/バイト |
countryCode Type: string |
ISO3166形式のアドレスの国コード 最大長:3文字/バイト |
phoneNumber Type: string |
電話番号 最大長:20文字/バイト |
Type: addressDetails
リージョンに基づく必須パラメータ。詳細については、 アドレスのフォーマットと検証を参照してください。
パラメータ
|
説明
|
name Type: string |
アドレスの名前 最大長:50文字/バイト |
addressLine1 Type: string |
アドレスの最初の行 最大長:180文字/バイト |
addressLine2 Type: string |
アドレスの2行目 最大長:60文字/バイト |
addressLine3 Type: string |
アドレスの3行目 最大長:60文字/バイト |
city Type: string |
アドレスの市区町村 最大長:50文字/バイト |
districtOrCounty Type: string |
アドレスの地域または国 最大長:50文字/バイト |
stateOrRegion Type: string |
アドレスの州または行政区 最大長:50文字/バイト |
postalCode Type: string |
アドレスの郵便番号 最大長:20文字/バイト |
countryCode Type: string |
ISO3166形式のアドレスの国コード 最大長:2文字/バイト |
phoneNumber Type: string |
電話番号 最大長:20文字/バイト |
Type: statusDetails
パラメータ
|
説明
|
state Type: string |
現在のオブジェクトの状態
|
reasonCode Type: string |
現在の状態理由コード
|
reasonDescription Type: string |
Checkout Sessionの状態オプションの説明
|
lastUpdatedTimestamp Type: dateTime |
stateが最後に更新されたISO8601形式でのUTC日時
|
Type: constraint
パラメータ
|
説明
|
constraintId Type: string |
Checkout Session制約のコード
|
description Type: string |
Checkout Session制約の説明
|
Constraint Code
|
説明
|
CheckoutResultReturnUrlNotSet
|
checkoutResultReturnURL がCheckout Sessionで設定されていません |
ChargeAmountNotSet
|
Checkout SessionでchargeAmount が設定されていません |
PaymentIntentNotSet
|
Checkout SessionでpaymentIntent が設定されていません |
BuyerNotAssociated
|
購入者が希望するお支払い方法または配送先住所がCheckout Sessionで設定されていません |
RecurringFrequencyNotSet
|
Checkout Sessionでfrequency が設定されていません。Recurringの請求Charge Permissionをリクエストする場合にのみ適用されます |
状態と理由コード
状態
|
説明
|
理由コード
|
Open
|
Checkout Sessionの初期状態。Checkout Sessionの状態は、Update Checkout Sessionを使用し事業者によって必須フィールドが提供されて、constraintsとして欠落しているものを返します。すべてのconstraintsが取り除かれた後、事業者は購入者をAmazonPayRedirectUrlにリダイレクトして、決済を完了します。その後、Checkout Sessionの状態は、Completed状態またはCanceled状態に移行します。 購入者が24時間以内に決済を完了しない場合、Checkout SessionはCanceled状態に移行することに注意してください 許可された処理: GET Checkout Session UPDATE Checkout Session COMPLETE Checkout Session |
-
|
Completed
|
決済は正常に完了しました。購入者はAmazonPayRedirectUrl にリダイレクトされ、決済はComplete Checkout Sessionで確認されました。paymentIntentが確定しました。Checkout Sessionを使用して別の支払いを実行したり、請求を再試行したりすることはできなくなります。Note: canHandlePendingAuthorization trueに設定の場合、Complete Checkout Sessionの結果はオーソリに結果にかかわらず、Checkout SessionはCompleted状態になります。詳細については、 非同期処理を参照してください許可された処理: GET Checkout Session(Charge PermissionID、ChargeID、およびその他のCheckout Sessionの詳細が返されます) COMPLETE Checkout Session |
-
|
Canceled
|
購入者のキャンセル、オーソリ失敗、またはComplete Checkout Sessionで確認されなかったため、決済が正常に完了しませんでした。 許可された処理: GET CheckoutSession(stateとreasonCodeのみを返します) |
BuyerCanceled - 購入者が決済をキャンセルしました Expired - amazonPayRedirectUrlへのリダイレクトがなく、Checkout Sessionは、作成後24時間の期限が切れました。購入者が支払いを完了させなっていない、またはComplete Checkout Sessionでの確認がされませんでした。 AmazonCanceled - サービスが利用できないため、Amazonはトランザクションをキャンセルしました。これは支払いに関連するキャンセルではありません。 Declined - その他オーソリの失敗。不正な決済、多要素認証(MFA)チャレンジの失敗、およびお支払い方法の問題を含みます。 |
オペレーション
Create Checkout Session
新しいAmazon PayのCheckout Sessionを作成して、購入者がAmazon Payボタンをクリックしてから決済を完了するまで、購入者のエクスペリエンスをカスタマイズおよび管理します。
リクエスト
リクエストボディ
{
"webCheckoutDetails": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page"
},
"storeId": "amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId",
"scopes": ["name", "email", "phoneNumber", "billingAddress"],
"deliverySpecifications": {
"specialRestrictions": ["RestrictPOBoxes"],
"addressRestrictions": {
"type": "Allowed",
"restrictions": {
"US": {
"statesOrRegions": ["WA"],
"zipCodes": ["95050", "93405"]
},
"GB": {
"zipCodes": ["72046", "72047"]
},
"IN": {
"statesOrRegions": ["AP"]
},
"JP": {}
}
}
}
}
リクエストパラメータ
名前
|
ロケーション
|
説明
|
x-amz-pay-idempotency-key (必須) Type: string |
Header
|
リクエストをを安全に再試行するための冪等キー
|
webCheckoutDetails (必須) Type: webCheckoutDetails |
Body
|
事業者から提供された決済結果のURL。トランザクションの完了後、Amazon PayはこのURLにリダイレクトします 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
storeId (必須) Type: string |
Body
|
Amazon Pay store ID. Amazon Pay インテグレーションセントラルからこの値を取得します: US, EU, JP
|
chargePermissionType Type: string |
Body
|
リクエストされたCharge PermissionのType サポートされている値:
|
recurringMetadata Type: recurringMetadata |
Body
|
recurringのChargePermissionの使用方法に関するメタデータ。 Amazon Payは、この情報をChargePermissionの有効期限を計算と、購入者とのコミュニケーションにのみ使用します 各請求サイクルで購入者に請求するためにCreate Chargeを呼び出すのは、依然として事業者の責任であることに注意してください。 |
paymentMethodOnFileMetadata Type: paymentMethodOnFileMetadata |
Body
|
ChargePermissionをPaymentMethodOnFileの中でどのように利用するかを示す詳細情報。Amazon PayはPaymentMethodOnFileとして必要な情報を判別する為にこの情報を利用します。
|
deliverySpecifications Type: deliverySpecifications |
Body
|
配送先の制限を指定して、購入者がAmazonアドレス帳からサポートされていないアドレスを選択できないようにします
|
paymentDetails Type: paymentDetails |
Body
|
購入者に請求する金額や方法など、販売者が指定した支払いの詳細 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
merchantMetadata Type: merchantMetadata |
Body
|
事業者から提供された外部の注文詳細 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
platformId Type: string |
Body
|
ソリューションプロバイダー(SP)の事業者識別子 SPのみがこのフィールドを使用します。 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし.
|
providerMetadata Type: providerMetadata |
Body
|
決済サービスプロバイダー(PSP)によって作成されたトランザクション識別子 PSPのみがこれらのフィールドを使用します。 |
addressDetails Type: addressDetail |
Body
|
購入者が提供したお届け先住所。このパラメーターは、 checkoutMode がProcessOrderかつproductType がPayAndShipの場合にのみ使用してください。
|
レスポンス
処理が成功した場合、HTTP 201 ステータスコードを返します。冪等キーを用いた後続の再試行で新しいリソースが作成されていない場合は HTTP 200 ステータスコードを返すことがあります。
{
"checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
"webCheckoutDetails": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page",
"checkoutResultReturnUrl": null,
"checkoutCancelUrl": null,
"amazonPayRedirectUrl": null
},
"productType": "PayAndShip",
"chargePermissionType": "Recurring",
"recurringMetadata": {
"frequency": {
"unit": "Month",
"value": "1"
},
"amount": {
"amount": "30",
"currencyCode": "USD"
}
},
"paymentDetails": {
"paymentIntent": null,
"canHandlePendingAuthorization":false,
"chargeAmount": null,
"totalOrderAmount": null,
"softDescriptor": null,
"presentmentCurrency": null,
"allowOvercharge": null,
"extendExpiration": null
},
"merchantMetadata": {
"merchantReferenceId": null,
"merchantStoreName": null,
"noteToBuyer": null,
"customInformation": null
},
"paymentMethodOnFileMetadata": null,
"supplementaryData": null, // Amazon Pay system data
"buyer": null,
"billingAddress": null,
"paymentPreferences": [
null
],
"statusDetails": {
"state": "Open",
"reasonCode": null,
"reasonDescription": null,
"lastUpdatedTimestamp": "20191015T204327Z"
},
"shippingAddress": null, // Null for PayOnly product type
"platformId": null,
"chargePermissionId": null,
"chargeId": null,
"constraints": [
{
"constraintId": "BuyerNotAssociated",
"description": "There is no buyer associated with the Checkout Session. Return the checkout session id to the Amazon Pay Button to allow buyer to login."
},
{
"constraintId": "ChargeAmountNotSet",
"description": "chargeAmount is not set."
},
{
"constraintId": "CheckoutResultReturnUrlNotSet",
"description": "checkoutResultReturnUrl is not set."
},
{
"constraintId": "PaymentIntentNotSet",
"description": "paymentIntent is not set."
}
],
"creationTimestamp": "20191015T204313Z",
"expirationTimestamp": "20191016T204313Z",
"storeId": "amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId",
"deliverySpecifications": {
"specialRestrictions": ["RestrictPOBoxes"],
"addressRestrictions": {
"type": "Allowed",
"restrictions": {
"US": {
"statesOrRegions": ["WA"],
"zipCodes": ["95050", "93405"]
},
"GB": {
"zipCodes": ["72046", "72047"]
},
"IN": {
"statesOrRegions": ["AP"]
},
"JP": {}
}
}
},
"providerMetadata": {
"providerReferenceId": null
},
"releaseEnvironment": "Sandbox"
}
エラーコード
HTTPステータスコード
|
理由コード
|
説明
|
400 BAD_REQUEST |
CurrencyMismatch |
リクエストに設定されているchargeAmount の通貨コードがpresentmentCurrency の通貨コードと一致しません
|
その他エラーはこちらを参照してください。
Get Checkout Session
Get Checkout Sessionの詳細には、購入者情報、お支払い方法の詳細、配送先住所が含まれます。配送先住所は、Checkout Sessionにproduct typeがPayAndShip である場合にのみ返されます。この処理を使用して、購入者がAmazonPayRedirectUrl
から指定されたcheckoutResultReturnUrl
戻った後に決済が成功したかどうかを判別します。
リクエスト
リクエストパラメータ
名前
|
ロケーション
|
説明
|
CheckoutSessionId (必須) Type: string |
Path Parameter
|
Checkout session識別子
|
レスポンス
処理が成功した場合、 HTTP 200 ステータスコードを返します。
{
"checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
"webCheckoutDetails": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page",
"checkoutResultReturnUrl": null,
"checkoutCancelUrl": null,
"amazonPayRedirectUrl": null
},
"chargePermissionType": "Recurring",
"recurringMetadata": {
"frequency": {
"unit": "Month",
"value": "1"
},
"amount": {
"amount": "30",
"currencyCode": "USD"
}
},
"productType": "PayAndShip",
"paymentDetails": {
"paymentIntent": null,
"canHandlePendingAuthorization": false,
"chargeAmount": null,
"totalOrderAmount": null,
"softDescriptor": null,
"presentmentCurrency": null,
"allowOvercharge": null,
"extendExpiration": null
},
"merchantMetadata": {
"merchantReferenceId": null,
"merchantStoreName": null,
"noteToBuyer": null,
"customInformation": null
},
"paymentMethodOnFileMetadata": null,
"supplementaryData": null, // Amazon Pay system data
"buyer": {
"buyerId": "buyerId",
"name": "name-1",
"email": "name@amazon.com",
"phoneNumber": "800-000-0000",
"primeMembershipTypes": null
},
"billingAddress": {
"name": "Work",
"addressLine1": "440 Terry Ave",
"addressLine2": "",
"addressLine3": "",
"city": "Seattle",
"county": "King",
"district": "Seattle",
"stateOrRegion": "WA",
"postalCode": "98121",
"countryCode": "US",
"phoneNumber": "800-000-0000"
},
"paymentPreferences": [
{
"paymentDescriptor": "Visa ****1111 (Amazon Pay)"
}
],
"statusDetails": {
"state": "Open",
"reasonCode": null,
"reasonDescription": null,
"lastUpdatedTimestamp": "20191015T204327Z"
},
"shippingAddress": { // Null for PayOnly product type
"name": "Susie Smith",
"addressLine1": "10 Ditka Ave",
"addressLine2": "Suite 2500",
"addressLine3": null,
"city": "Chicago",
"county": null,
"district": null,
"stateOrRegion": "IL",
"postalCode": "60602",
"countryCode": "US",
"phoneNumber": "800-000-0000"
},
"platformId": null,
"chargePermissionId": null,
"chargeId": null,
"constraints": [
{
"constraintId": "ChargeAmountNotSet",
"description": "chargeAmount is not set."
},
{
"constraintId": "CheckoutResultReturnUrlNotSet",
"description": "checkoutResultReturnUrl is not set."
},
{
"constraintId": "PaymentIntentNotSet",
"description": "paymentIntent is not set."
}
],
"creationTimestamp": "20191015T204313Z",
"expirationTimestamp": "20191016T204313Z",
"storeId": "amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId",
"deliverySpecifications": {
"specialRestrictions": ["RestrictPOBoxes"],
"addressRestrictions": {
"type": "Allowed",
"restrictions": {
"US": {
"statesOrRegions": ["WA"],
"zipCodes": ["95050", "93405"]
},
"GB": {
"zipCodes": ["72046", "72047"]
},
"IN": {
"statesOrRegions": ["AP"]
},
"JP": {}
}
}
},
"providerMetadata": {
"providerReferenceId": null
},
"releaseEnvironment": "Sandbox"
}
エラーコード
HTTPステータスコード
|
理由コード
|
説明
|
404 NOT_FOUND |
ResourceNotFound |
Checkout Sessionの詳細は、30日後に完全に削除されます。以降、Checkout Sessionに対してリクエストを行うと、このエラーコードが返されます
|
その他エラーはこちらをご参照ください。
Update Checkout Session
トランザクションの詳細でCheckout Sessionを更新します。購入者がamazonPayRedirectUrl
リダイレクトされるまで、Checkout Sessionを更新し続けることができます。すべての必須パラメータが設定されると、 CheckoutSessionオブジェクトは、購入者を決済を完了するようにリダイレクトするために使用する一意のamazonPayRedirectUrl
で応答します。
決済時にpaymentIntent
を使用して処理する必要があるchargeAmount
を設定してください。決済が完了した後に分割して追加請求する必要がある場合は、フルオーダー金額をオプションのtotalOrderAmount
パラメータで使用してください。
リクエスト
リクエストボディ
{
"webCheckoutDetails": {
"checkoutResultReturnUrl": "https://a.com/merchant-confirm-page"
},
"paymentDetails": {
"paymentIntent": "AuthorizeWithCapture",
"canHandlePendingAuthorization":false,
"softDescriptor": "Descriptor",
"chargeAmount": {
"amount": "1",
"currencyCode": "USD"
}
},
"merchantMetadata": {
"merchantReferenceId": "Merchant reference ID",
"merchantStoreName": "Merchant store name",
"noteToBuyer": "Note to buyer",
"customInformation": "Custom information"
}
}
リクエストパラメータ
名前
|
ロケーション
|
説明
|
checkoutSessionId (必須) Type: string |
Path parameter
|
Checkout Session識別子
|
webCheckoutDetails Type: webCheckoutDetails |
Body
|
事業者から提供された決済結果のURL。トランザクションの完了後、Amazon PayはこのURLにリダイレクトします 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
recurringMetadata Type: recurringMetadata |
Body
|
recurringのChargePermissionの使用方法に関するメタデータ。 Amazon Payは、この情報をChargePermissionの有効期限を計算と、購入者とのコミュニケーションにのみ使用します 各請求サイクルで購入者に請求するためにCreate Chargeを呼び出すのは、依然として事業者の責任であることに注意してください。 |
paymentDetails Type: paymentDetails |
Body
|
購入者に請求する金額や方法など、販売者が指定した支払いの詳細 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
merchantMetadata Type: merchantMetadata |
Body
|
事業者から提供された外部の注文詳細 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
platformId Type: string |
Body
|
ソリューションプロバイダー(SP)の事業者識別子 SPのみがこのフィールドを使用します。 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
providerMetadata Type: providerMetadata |
Body
|
決済サービスプロバイダー(PSP)によって作成されたトランザクション識別子 PSPのみがこれらのフィールドを使用します。 変更可否: 購入者が amazonPayReturnUrl にリダイレクトされるまで回数制限なし
|
レポンス
処理が成功した場合、 HTTP 200 ステータスコードを返します。
{
"checkoutSessionId": "ada3f397-7d4b-4a55-abac-786685c02d8b",
"webCheckoutDetails": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page",
"checkoutResultReturnUrl": "https://a.com/merchant-confirm-page",
"checkoutCancelUrl": null,
"amazonPayRedirectUrl": "https://pay.amazon.com/redirect/checkoutId-1"
},
"productType": "PayAndShip",
"paymentDetails": {
"paymentIntent": "AuthorizeWithCapture",
"canHandlePendingAuthorization": false,
"chargeAmount": {
"amount": "1",
"currencyCode": "USD"
},
"totalOrderAmount": null,
"softDescriptor": "Descriptor",
"presentmentCurrency": "USD",
"allowOvercharge": null,
"extendExpiration": null
},
"merchantMetadata": {
"merchantReferenceId": "Merchant reference ID",
"merchantStoreName": "Merchant store name",
"noteToBuyer": "Note to buyer",
"customInformation": "Custom information"
},
"paymentMethodOnFileMetadata": null,
"supplementaryData": null, // Amazon Pay system data
"buyer": {
"buyerId": "buyerId",
"name": "name-1",
"email": "name@amazon.com",
"phoneNumber": "800-000-0000",
"primeMembershipTypes": null
},
"billingAddress":{
"name": "Work",
"addressLine1": "440 Terry Ave",
"addressLine2": "",
"addressLine3": "",
"city": "Seattle",
"county": "King",
"district": "Seattle",
"stateOrRegion": "WA",
"postalCode": "98121",
"countryCode": "US",
"phoneNumber": "800-000-0000"
},
"paymentPreferences": [
{
"paymentDescriptor": "Visa ****1111 (Amazon Pay)"
}
],
"statusDetails": {
"state": "Open",
"reasonCode": null,
"reasonDescription": null,
"lastUpdatedTimestamp": "20191015T195703Z"
},
"shippingAddress": { // Null for PayOnly product type
"name": "Susie Smith",
"addressLine1": "10 Ditka Ave",
"addressLine2": "Suite 2500",
"addressLine3": null,
"city": "Chicago",
"county": null,
"district": null,
"stateOrRegion": "IL",
"postalCode": "60602",
"countryCode": "US",
"phoneNumber": "800-000-0000"
},
"platformId": null,
"chargePermissionId": null,
"chargeId": null,
"constraints": [],
"creationTimestamp": "20191015T195655Z",
"expirationTimestamp": "20191016T195655Z",
"storeId": "amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId",
"deliverySpecifications": {
"specialRestrictions": ["RestrictPOBoxes"],
"addressRestrictions": {
"type": "Allowed",
"restrictions": {
"US": {
"statesOrRegions": ["WA"],
"zipCodes": ["95050", "93405"]
},
"GB": {
"zipCodes": ["72046", "72047"]
},
"IN": {
"statesOrRegions": ["AP"]
},
"JP": {}
}
}
},
"providerMetadata": {
"providerReferenceId": null
},
"releaseEnvironment": "Sandbox"
}
エラーコード
HTTPステータスコード
|
理由コード
|
説明
|
404 NOT_FOUND |
ResourceNotFound |
Checkout Sessionは、30日後に完全に削除されます。以降、Checkout Sessionに対してリクエストを行うと、このエラーコードが返されます
|
422 UNPROCESSABLE_ENTITY |
InvalidCheckoutSessionStatus
|
その処理が許可されていないstateのCheckout Sessionに対して処理を実行しようとしました
|
その他エラーはこちらを参照してください。
Complete Checkout Session
購入者がcheckoutResultReturnUrl
に戻って、paymentIntent
を確定した後、Checkout Sessionを完了します。
<code リクエストが成功した場合は、HTTP 200 ステータスコードを返します。もしリクエストが失敗した場合は 4xx/5xxのレスポンスを返します。
リクエスト
リクエストボディ
{ }
リクエストパラメータ
名前
|
ロケーション
|
説明
|
checkoutSessionId (必須) Type: string |
Path parameter
|
Checkout Session識別子
|
chargeAmount (必須) Type: price |
Body
|
決済時にpaymentIntent を使用して処理される金額。Checkout SessionオブジェクトのpaymentDetails.chargeAmount と一致する必要があります
|
totalOrderAmount Type: price |
Body
|
注文の総額。この項目に値が指定されている場合は、Checkout SessionオブジェクトpaymentDetails.totalOrderAmount と一致する必要があります
|
レスポンス
paymentIntent
が成功した場合、 HTTP 200 ステータスコードを返します。
{
"checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
"webCheckoutDetails": null,
"chargePermissionType": null,
"recurringMetadata": null,
"productType": null,
"paymentDetails": null,
"merchantMetadata": null,
"paymentMethodOnFileMetadata": null,
"supplementaryData":null, // Amazon Pay system data
"buyer": null,
"billingAddress": null,
"paymentPreferences": [
null
],
"statusDetails": {
"state": "Completed",
"reasonCode": null,
"reasonDescription": null,
"lastUpdatedTimestamp": "20191015T204327Z"
},
"shippingAddress": null,
"platformId":null,
"chargePermissionId": "S01-5105180-3221187",
"chargeId": "S01-5105180-3221187-C056351",
"constraints": [
null
],
"creationTimestamp": "20191015T204313Z",
"expirationTimestamp": null,
"storeId": null,
"deliverySpecifications": null,
"providerMetadata": null,
"releaseEnvironment": null
}
エラーコード
HTTPステータスコード
|
理由コード
|
説明
|
400 BAD_REQUEST |
CurrencyMismatch |
リクエストで提供された通貨コードが、決済時に設定された通貨と一致しません
|
400 BAD_REQUEST |
TransactionAmountExceeded |
Checkout Sessionで許可されている最大請求金額を超えました
|
404 NOT_FOUND |
ResourceNotFound |
Checkout Sessionは、30日後に完全に削除されます。以降、Checkout Sessionに対してリクエストを行うと、このエラーコードが返されます
|
409 CONFLICT
|
AmountMismatch
|
Checkout SessionオブジェクトのchargeAmount とリクエストchargeAmount が一致していません
|
422 UNPROCESSABLE_ENTITY |
CheckoutSessionCanceled |
購入者が取引をキャンセルしたか、支払いが拒否されたため、決済に失敗しました
|
422 UNPROCESSABLE_ENTITY |
InvalidCheckoutSessionStatus
|
その処理が許可されていないstateのCheckout Sessionに対して処理を実行しようとしました
|
422 UNPROCESSABLE_ENTITY |
InvalidChargeStatus
|
その処理が許可されていないstateのChargeに対して処理を実行しようとしました。または、paymentIntent がAuthorizeWithCaptureでcanHandlePendingAuthorization をtrueに設定しているCheckout Sessionに対して、Complete Checkout Sessionを実行しようとしました
|
422 UNPROCESSABLE_ENTITY
|
HardDeclined
|
Chargeはhard declinedとなりました。再試行は成功しません。購入者に連絡して、別のお支払い方法を選択してもらいます
|
422 UNPROCESSABLE_ENTITY
|
PaymentMethodNotAllowed
|
購入者が選択した支払い方法は、このChargeに対しては許可されていません
|
422 UNPROCESSABLE_ENTITY
|
AmazonRejected
|
ChargeはAmazonによって拒否されました。紐づくCharge Permissionもキャンセルされます
|
422 UNPROCESSABLE_ENTITY
|
MFANotCompleted
|
トランザクションを処理するには、購入者が多要素認証(MFA)を完了する必要があります
|
422 UNPROCESSABLE_ENTITY
|
TransactionTimedOut
|
canHandlePendingAuthorization がfalseの場合,Amazon Payがオーソリを取得するのに十分な時間な時間が取れずChargeは拒否されました。購入者に連絡して、別の支払い方法を選択してもらいます。このエラーが頻繁に発生する場合は、canHandlePendingAuthorization をtrueに設定して下さい。もしcanHandlePendingAuthorization をtrueにした場合,Amazon Payが注文の有効性を判断できなかったため、このChargeは拒否されました。購入者に連絡して、別の支払い方法を選択してもらいます。詳細については、非同期処理を参照してください
|
500 INTERNAL_SERVER_ERROR
|
ProcessingFailure
|
内部処理エラーのため、AmazonはChargeを処理できませんでした。 Charge PermissionがChargeable状態の場合にのみChargeを再試行する必要があります
|
その他エラーはこちらを参照してください。