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 オブジェクト

パラメータ
説明
checkoutSessionId

Type: string
Checkout Session識別子


chargePermissionType

Type: string
要求されたCharge Permissionのタイプ

サポートされている値:
  • 'OneTime' - Charge PermissionはOneTimeの注文にのみ使用できます
  • 'Recurring' - Charge PermissionはRecurringの注文に使用できます
デフォルト値: 'OneTime"
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
事業者が提供する注文の詳細情報
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を追加する必要はありません

最大長:512文字/バイト
checkoutResultReturnUrl

Type: string

事業者から提供された決済結果のURL。トランザクションの完了後、Amazon PayはこのURLにリダイレクトします

Note:本番環境では、URLはHTTPSプロトコルを使用する必要があります。SANDBOX環境では SSL証明書は必要なく、ローカルホスト(http:// localhost)でテストしている場合はHTTPプロトコルを使用できます。

最大長:512文字/バイト
checkoutCancelUrl

Type: string

決済をキャンセルした際に戻す事業者が指定するURLです。 購入者がAmazon Hosted Page上で決済をキャンセルした場合、Amazon PayはこのURLにリダイレクトします。

もしcheckoutCancelUrlが設定されていない場合は、Amazon Payは以下のロジックでリダイレクトします。
  • Amazon Payボタンからの支払い方法およびお届け先住所選択ページ - リファラーURLにリダイレクトします。ただしリファラーのドメインがcheckoutReviewReturnUrlと異なる場合はcheckoutReviewReturnUrlにリダイレクトします。
  • checkoutResultReturnUrlからの支払い方法およびお届け先住所選択ページ - checkoutReviewReturnUrlへリダイレクトします。
  • オーソリ失敗ページ - checkoutResultReturnUrlへリダイレクトします。

amazonPayRedirectUrl

Type: string
Amazon Payが提供するURL。決済を完了するためにトランザクションの詳細を設定した後、事業者はこのページにリダイレクトします。

最大長:256文字/バイト
checkoutMode

Type: string
決済を完了する前に、購入者がWebサイトに戻って注文を確認するかどうかを指定します

サポートされている値:
  • 'ProcessOrder' - 購入者は、Amazon Payボタンをクリックした直後に、Amazon Payがホストするページで決済を完了します。 'PayAndShip'に設定して'ProcessOrder'を使用する場合は、 paymentDetailsが必要です。 productTypeに'PayAndShip'を使用する場合もaddressDetailsが必要です

Type: deliverySpecifications

パラメータ
説明
specialRestrictions

Type:  list<string>
ルールによる制限

Note:AmazonはSANDBOXの値のみをを検証します。サポートされていない値が使用されている場合、このパラメータは本番環境では無視されます。

サポートされている値:
  • 'RestrictPOBoxes' - US、CA、GB、FR、DE、ES、PT、IT、AUの私書箱アドレスを制限付きとしてマークします
  • 'RestrictPackstations'- DEのパックステーションアドレスを制限付きとしてマークします
addressRestrictions

Type: addressRestrictions

住所による制限


Type: addressRestrictions

パラメータ
説明
type

Type: string
制限設定に一致するアドレスを配送先制限するかどうかを指定します

Note:AmazonはSANDBOXの値を検証します。サポートされていない値が使用されている場合、このパラメータは本番環境では無視されます。

サポートされている値:
  • 'Allowed' - 制限構成に一致しないアドレスを制限としてマークします
  • 'NotAllowed' - 制限構成に一致するアドレスを制限としてマークします

restrictions

Type: hash<countryCode:restriction>

addressRestrictions.typeに基づいて制限する必要があるアドレスと制限しないアドレスを決定する国レベルの制限のハッシュパラメータ。

CountryCodeは、アドレスの国コードをISO3166形式で表す文字列です。 AmazonはSANDBOXのCountryCodeのみを検証します。サポートされていない値が使用されている場合、 本番環境ではCountryCodeは無視されます。


Type: recurringMetadata

パラメータ
説明
frequency

Type: frequency
RecurringのCharge Permissionを使用して購入者に請求される頻度。アドホックな料金が予想される場合でも、frequencyは指定する必要があります。

可能な組み合わせ:
  • Year:1-3
  • Month:1-36
  • Week:1-57
  • Day:1-1095
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:
  • 決済USの住所 - 2文字のstateコードを使用します(例:WA、CA、IL)
  • 他のすべての国 - この要素はフリーテキストです。該当するすべてのバリエーションを含まれます:2文字のコード、全文字列、略語
zipCodes

Type: list<string>

addressRestrictions.type基づいて制限する必要があるまたは制限しない国固有の郵便番号のパラメータ

Type: paymentDetails

パラメータ
説明
paymentIntent

Type: string
購入者に請求するための支払いフロー

サポートされている値:
  • 'Confirm' - 後でオーソリを確保するおよび売上請求するためのCharge Permissionを作成します
  • 'Authorize' - すぐにオーソリし、後で売上請求します
  • 'AuthorizeWithCapture' - すぐにオーソリおよび売上請求します。このpaymentIntentを使用する場合、 canHandlePendingAuthorizationをtrueに設定することはできません。
canHandlePendingAuthorization

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

trueに設定されている場合:
  • OneTimeでの処理:Dynamic Authorizationが有効になっています。Chargeは"Authorized", "Declined"、または"AuthorizationInitiated" いずれかの状態になります。Chargeは"AuthorizationInitiated" 状態にある場合、アマゾン側で非同期でオーソリを処理し、24時間以内にオーソリの結果を返します。詳細については、非同期処理Charge状態を参照してください
  • Recurring決済:Amazon Payはオーソリを非同期で処理し、24時間以内にオーソリ結果を返します。詳細については、非同期処理を参照してください。

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
事業者名。このパラメータを設定すると、セラーセントラル (USEUJP)で構成されたデフォルト値が上書きされます。MerchantStoreNameは、 Amazon Payウェブサイト購入者とのコミュニケーションおよび購入者の取引履歴で共有されます。

最大長:50文字/バイト
noteToBuyer

Type: string
購入者とのコミュニケーションで共有される注文の説明。

購入者や取引に関する機密データを保存しないでください(例えば、政府発行の身分証明書、銀行口座番号、クレジットカード番号などが含まれますが、これらに限定されません)

最大長:255文字/バイト
customInformation

Type: string
注文のカスタム情報。このデータは、購入者とのコミュニケーションでは共有されません。

購入者や取引に関する機密データを保存しないでください(例えば、政府発行の身分証明書、銀行口座番号、クレジットカード番号などが含まれますが、これらに限定されません)

最大長:4096文字/バイト

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
アドレスの州または行政区:
  • USおよびCAの住所 - 応答は常に2文字のコードになります
  • 他のすべての国-この要素はフリーテキストであり、2文字のコード、完全なスペル、または省略形のいずれかです。日本では都道府県名として利用します。※購入者の入力次第で「東京」「Tokyo-to」などの文字が返却されることもあります
最大長:50文字/バイト
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
-
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の詳細が返されます)。
-
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

サポートされている値:
  • 'OneTime' - このCharge Permissionは単発の注文に使用できます
  • 'Recurring' - このCharge Permissionは定期的な注文に使用できます
Default value: 'OneTime"
recurringMetadata

Type: recurringMetadata
Body
recurringのChargePermissionの使用方法に関するメタデータ。 Amazon Payは、この情報をChargePermissionの有効期限を計算と、購入者とのコミュニケーションにのみ使用します

各請求サイクルで購入者に請求するためにCreate Chargeを呼び出すのは、依然として事業者の責任であることに注意してください。
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,
        "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
    },
    "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
    },
    "supplementaryData": null, // Amazon Pay system data
    "buyer": {
        "buyerId": "buyerId",
        "name": "name-1",
        "email": "name@amazon.com",
        "phoneNumber": "800-000-0000",
        "primeMembershipTypes": null
    },
    "billingAddress": {  // Only available in EU or for PayOnly product type
        "name": "Work",
        "addressLine1": "440 Terry Ave",
        "addressLine2": "",
        "addressLine3": "",
        "city": "Seattle",
        "county": "King",    
        "district": "Seattle",
        "stateOrRegion": "WA",
        "postalCode": "98121",
        "countryCode": "US"
    },
    "paymentPreferences": [
        {
            "paymentDescriptor": "Your selected Amazon payment method"
        }
    ],
    "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"
    },
    "supplementaryData": null, // Amazon Pay system data 
    "buyer": {
        "buyerId": "buyerId",
        "name": "name-1",
        "email": "name@amazon.com",
        "phoneNumber": "800-000-0000",
        "primeMembershipTypes": null
    },
    "billingAddress":{  // Only available in EU or for PayOnly product type
        "name": "Work",
        "addressLine1": "440 Terry Ave",
        "addressLine2": "",
        "addressLine3": "",
        "city": "Seattle",
        "county": "King",    
        "district": "Seattle",
        "stateOrRegion": "WA",
        "postalCode": "98121",
        "countryCode": "US"
    },
    "paymentPreferences": [
        {
            "paymentDescriptor": "Your selected Amazon payment method"
        }
    ],
    "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を完了します 。リクエストのchargeAmountは、 トランザクション金額を確認するため CheckoutSessionオブジェクトのpaymentDetailsと一致する必要があります。

canHandlePendingAuthorizationがtrueに設定されていて、オーソリがまだ保留中の場合、このリクエストはHTTP 202 ステータスコードを返します。オーソリが成功した場合は、HTTP 200 ステータスコードを返し、オーソリが失敗した場合は 4xx/5xxのレスポンスを返します。詳細については、非同期処理を参照してください。

リクエスト

リクエストボディ

{
    "chargeAmount": {
        "amount": "14.00",
        "currencyCode": "USD"
    }
}

リクエストパラメータ

名前
ロケーション
説明
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 ステータスコードを返します。オーソリがまだ保留中の場合は、 HTTP 202 ステータスコードを返します。

{
    "checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
    "webCheckoutDetails": null,
    "chargePermissionType": "OneTime",   
    "recurringMetadata": null,
    "productType": null,
    "paymentDetails": null,
    "merchantMetadata": 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を再試行する必要があります

その他エラーはこちらを参照してください。

関連トピック