Checkout Session
A Checkout Session represents a single active session (or engagement) for a buyer on your website. The Checkout Session can be used to facilitate a new, one-time charge, or recovery from a declined payment.
The Checkout Session starts in an Open state and moves to a Canceled state, unless the buyer completes checkout within 24 hours. In the Open state, you can use the Checkout Session to retrieve checkout details such as buyer profile, shipping address, and payment info.
If the buyer completes checkout within 24 hours, the Checkout Session will move to either a Completed state or Canceled state, depending on whether or not the checkout was successful. In the Completed state, you can use the Checkout Session to retrieve references to a Charge Permission. If payment authorization was requested, the response will also include references to a Charge. In the Canceled state, you can use the Checkout Session to retrieve why Checkout failed.
Note that Amazon Pay permanently deletes Checkout Session objects and any associated info after 30 days.
Supported operations:
- Create Checkout Session - POST https://pay-api.amazon.com/:environment/:version/checkoutSessions/
- Get Checkout Session - GET https://pay-api.amazon.com/:environment/:version/checkoutSessions/:checkoutSessionId
- Update Checkout Session - PATCH https://pay-api.amazon.com/:environment/:version/checkoutSessions/:checkoutSessionId
- Create Checkout Session - POST https://pay-api.amazon.eu/:environment/:version/checkoutSessions/
- Get Checkout Session - GET https://pay-api.amazon.eu/:environment/:version/checkoutSessions/:checkoutSessionId
- Update Checkout Session - PATCH https://pay-api.amazon.eu/:environment/:version/checkoutSessions/:checkoutSessionId
- Create Checkout Session - POST https://pay-api.amazon.jp/:environment/:version/checkoutSessions/
- Get Checkout Session - GET https://pay-api.amazon.jp/:environment/:version/checkoutSessions/:checkoutSessionId
- Update Checkout Session - PATCH https://pay-api.amazon.jp/:environment/:version/checkoutSessions/:checkoutSessionId
- Checkout Session object
- States and reason codes
- Operations
- Create Checkout Session
- Get Checkout Session
- Update Checkout Session
- Related topics
Checkout Session object
Parameter
|
Description
|
checkoutSessionId Type: string |
Checkout Session identifier |
webCheckoutDetail Type: webCheckoutDetail |
URLs associated to the Checkout Session used for completing checkout
|
productType Type: string |
Amazon Pay integration type. You can not set this value via Checkout Session operations, you must set it using button productType parameter
|
paymentDetail Type: paymentDetail |
Payment details specified by the merchant, such as the amount and method for charging the buyer
|
merchantMetadata Type: merchantMetadata |
Merchant-provided order info
|
platformId Type: string |
Merchant identifier of the Solution Provider (SP)- also known as ecommerce provider Only SPs should use this field |
providerMetadata Type: providerMetadata |
Payment service provider (PSP)-provided order information Only PSPs should use these fields |
buyer Type: buyer |
Details about the buyer, such as their unique identifier, name, and email This info will only be returned for a Checkout Session in the Open state |
shippingAddress Type: address |
Shipping address selected by the buyer
|
paymentPreferences Type: list<paymentPreferences> |
List of payment instruments selected by the buyer
|
statusDetail Type: statusDetail |
State of the Checkout Session object
|
constraints Type: list<constraint> |
Constraints that must be addressed to complete Amazon Pay checkout
|
creationTimestamp Type: dateTime |
Universal Time Coordinated (UTC) date and time when the Checkout Session was created in ISO 8601 format
|
expirationTimestamp Type: dateTime |
UTC date and time when the Checkout Session will expire in ISO 8601 format
|
chargePermissionId Type: string |
Charge permission identifier returned after Checkout Session is complete Used for creating charges for deferred transactions |
chargeId Type: string |
Charge identifier returned after Checkout Session is complete Used for processing refunds |
storeId Type: string |
Login with Amazon client ID. Do not use the application ID Retrieve this value from "Login with Amazon" in Seller Central |
deliverySpecifications Type: deliverySpecifications |
Specify shipping restrictions to prevent buyers from selecting unsupported addresses from their Amazon address book
|
releaseEnvironment Type: string |
The environment the Checkout Session object was created in (either Sandbox or Live)
|
checkoutButtonText Type: string |
Amazon Pay-provided button text for buyers who have chosen Affirm as payment instrument. For all other use cases, this value will be null
|
Type: webCheckoutDetail
Parameter
|
Description
|
checkoutReviewReturnUrl Type: string |
Checkout review URL provided by the merchant. Amazon Pay will redirect to this URL after the buyer selects their preferred payment instrument and shipping address Note: In the Live environment, URLs must use HTTPS protocol. In Sandbox environment, you don't need a SSL certificate and can use the HTTP protocol Max length: 1024 characters |
checkoutResultReturnUrl Type: string |
Checkout result URL provided by the merchant. Amazon Pay will redirect to this URL after completing the transaction Note: In the Live environment, URLs must use HTTPS protocol. In Sandbox environment, you don't need a SSL certificate and can use the HTTP protocol Max length: 1024 characters |
amazonPayRedirectUrl Type: string |
URL provided by Amazon Pay. Merchant will redirect to this page after setting transaction details to complete checkout Max length: 256 characters |
Type: deliverySpecifications
Parameter
|
Description
|
specialRestrictions Type: list<string> |
Rule-based restrictions Note: Amazon will only validate this value in Sandbox. This parameter is ignored in the Live environment if an unsupported value is used Supported values:
|
addressRestrictions Type: addressRestrictions |
Country-based restrictions |
Type: addressRestrictions
Parameter
|
Description
|
type Type: string |
Specifies whether addresses that match restrictions configuration should or should not be restricted Note: Amazon will only validate this value in Sandbox. This parameter is ignored in the Live environment if an unsupported value is used Supported values: 'Allowed' - Mark addresses that don't match restrictions configuration as restricted 'NotAllowed' - Mark addresses that match restrictions configuration as restricted |
restrictions Type: hash<countryCode:restriction> |
Hash of country-level restrictions that determine which addresses should or should not be restricted based on addressRestrictions.type parameter.CountryCode is a string that represents the country code of the address in ISO 3166 format. Amazon will only validate CountryCode in Sandbox. CountryCode is ignored in the Live environment if an unsupported value is used |
Type: restriction
Parameter
|
Description
|
statesOrRegions Type: list<string> |
List of country-specific states that should or should not be restricted based on addressRestrictions.type parameterNote:
|
zipCodes Type: list<string> |
List of country-specific zip codes that should or should not be restricted based on addressRestrictions.type parameter |
Type: paymentDetail
Parameter
|
Description
|
paymentIntent Type: string |
Payment flow for charging the buyer Possible values: Confirm or Authorize |
canHandlePendingAuthorization Type: boolean |
Boolean that indicates whether merchant can handle pending response See asynchronous processing for more info |
chargeAmount Type: price |
Transaction amount
|
presentmentCurrency Type: string |
The currency that the buyer will be charged in ISO 4217 format. Example: USD See multi-currency integration for more info |
Type: price
Parameter
|
Description
|
amount Type: string |
Transaction amount
|
currencyCode Type: string |
Transaction currency code in ISO 4217 format Example: USD |
<tbody>
<tr id='ERL9CAkCDAX'>
<td id='s:ERL9CAkCDAX;ERL9CA2PpgG' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Parameter
<br /></td>
<td id='s:ERL9CAkCDAX;ERL9CA2NQzd' style='vertical-align: top; font-weight: bold; width: 70%;' class='bold'>Description
<br /></td>
</tr>
<tr id='ERL9CAp4Zym'>
<td id='s:ERL9CAp4Zym;ERL9CA2PpgG' style='vertical-align: top;'>amount<br><br>Type: string
<br /></td>
<td id='s:ERL9CAp4Zym;ERL9CA2NQzd' style='vertical-align: top;'>Transaction amount
<br /></td>
</tr>
<tr id='ERL9CAvtIrl'>
<td id='s:ERL9CAvtIrl;ERL9CA2PpgG' style='vertical-align: top;'>currencyCode<br><br>Type: string
<br /></td>
<td id='s:ERL9CAvtIrl;ERL9CA2NQzd' style='vertical-align: top;'>Transaction currency code in ISO 4217 format. Example: USD
<br /></td>
</tr>
</tbody>
</table>
Type: providerMetadata
Parameter
|
Description
|
providerReferenceId Type: string |
Payment service provider (PSP)-provided order identifier Only PSPs should use these fields |
Type: merchantMetadata
Parameter
|
Description
|
merchantReferenceId Type: string |
External merchant order identifier. The merchant order identifier is shared in buyer communication and in the buyer transaction history on the Amazon Pay website Max length: 256 characters |
merchantStoreName Type: string |
Merchant store name. Setting this parameter will override the default value configured in Seller Central (the account management tool for merchants). The store name is shared in buyer communication and in the buyer transaction history on the Amazon Pay website Max length: 50 characters |
noteToBuyer Type: string |
Description of the order that is shared in buyer communication You should not store sensitive data about the buyer or the transaction in this field Max length: 255 characters |
customInformation Type: string |
Custom info for the order. This data is not shared in any buyer communication You should not store sensitive data about the buyer or the transaction in this field Max length: 4096 characters |
Type: buyer
Parameter
|
Description
|
buyerId Type: string |
Unique Amazon Pay buyer identifier
|
name Type: string |
Buyer name
|
email Type: string |
Buyer email address
|
Type: paymentPreferences
Parameter
|
Description
|
paymentDescriptor Type: string |
Amazon Pay-provided description for buyer-selected payment instrument
|
billingAddress Type: address |
Billing address for buyer-selected payment instrument. Billing address is only available in EU or for PayOnly product type
|
Type: address
Parameter
|
Description
|
name Type: string |
Address name Max length: 50 characters |
addressLine1 Type: string |
The first line of the address Max length: 180 characters |
addressLine2 Type: string |
The second line of the address Max length: 60 characters |
addressLine3 Type: string |
The third line of the address Max length: 60 characters |
city Type: string |
City of the address Max length: 50 characters |
county Type: string |
County of the address Max length: 50 characters |
district Type: string |
District of the address Max length: 50 characters |
stateOrRegion Type: string |
The state or region:
|
postalCode Type: string |
Postal code of the address Max length: 20 characters |
countryCode Type: string |
Country code of the address in ISO 3166 format Max length: 3 characters |
phoneNumber Type: string |
Phone number Max length: 20 characters |
Type: statusDetail
Parameter
|
Description
|
state Type: string |
Current object state
|
reasonCode Type: string |
Reason code for current state
|
reasonDescription Type: string |
An optional description of the Checkout Session state
|
lastUpdatedTimestamp Type: dateTime |
UTC date and time when the state was last updated in ISO 8601 format
|
Type: constraint
Parameter
|
Description
|
constraintId Type: string |
Code for any Checkout Session constraint
|
description Type: string |
Description of the Checkout Session constraint
|
Constraint Code
|
Description
|
CheckoutResultReturnUrlNotSet
|
checkoutResultReturnURL has not been set on the Checkout Session
|
ChargeAmountNotSet
|
chargeAmount has not been set on the Checkout Session
|
PaymentIntentNotSet
|
paymentIntent has not been set on the Checkout Session
|
BuyerNotAssociated
|
Buyer-preferred payment instrument or shipping address has not been set on the Checkout Session |
States and reason codes
State
|
Description
|
Reason code
|
Open
|
The initial Checkout Session state. Checkout Session state will return missing value constraints, until mandatory fields are provided by the merchant using Update Checkout Session. After all constraints have been removed, the merchant will redirect the buyer to the AmazonPayRedirectUrl to complete checkout. The Checkout Session state will then move to either Completed or Canceled state Note that the Checkout Session will move to Canceled state if the buyer doesn't complete checkout within 24 hours Allowed operation(s): GET Checkout Session UPDATE Checkout Session |
-
|
Completed
|
Checkout was successfully completed. The buyer was redirected to the AmazonPayRedirectUrl and payment intent was successfully completed. The Checkout Session can no longer be used to perform another payment, or retry a chargeNote: if you set canHandlePendingAuthorization to true, the Checkout Session state will be in a Completed state, even though the Authorization might later fail. See asynchronous processing for more infoAllowed operation(s): GET Checkout Session (will return Charge Permission ID, Charge ID, and other Checkout Session details). |
-
|
Canceled
|
Checkout was not successfully completed due to either buyer abandoment or payment decline. The payment intent was not successfully completed Allowed operation(s): GET CheckoutSession (will only return state and reasonCode) |
BuyerCanceled - The buyer canceled the checkout by clicking the Return to previous page button Expired - The Checkout Session expired 24 hour after creation because there was no redirect to the amazonPayRedirectUrl or buyer did not complete payment AmazonCanceled - Amazon has canceled the transaction due to service unavailability. This is not a payment associated cancelation Declined - Generic payment decline reason code that includes fraud declines, failure to complete multi-factor authentication (MFA) challenge, and issues with the payment instrument |
Operations
Create Checkout Session
Create a new Amazon Pay Checkout Session to customize and manage the buyer experience, from when the buyer clicks the Amazon Pay button to when they complete checkout.
Request
curl "https://pay-api.amazon.com/:environment/:version/checkoutSessions/" \
-X POST
-H "x-amz-pay-idempotency-key: AVLo5tI10BHgEk2jEXAMPLEKEY"
-H "authorization: Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"
-d @request_body
Request body
{
"webCheckoutDetail": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page"
},
"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": {}
}
}
}
}
Request parameters
Name
|
Location
|
Description
|
x-amz-pay-idempotency-key (required) Type: string |
Header
|
Idempotency key to safely retry requests
|
webCheckoutDetail (required) Type: webCheckoutDetail |
Body
|
Checkout result URL provided by the merchant. Amazon Pay will redirect to this URL after completing the transaction Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl |
storeId (required) Type: string |
Body
|
Login with Amazon client ID. Do not use the application ID Retrieve this value from "Login with Amazon" in Seller Central |
deliverySpecifications Type: deliverySpecifications |
Body
|
Specify shipping restrictions and limit which addresses your buyer can select from their Amazon address book
|
paymentDetail Type: paymentDetail |
Body
|
Payment details specified by the merchant such as the amount and method for charging the buyer Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl
|
merchantMetadata Type: merchantMetadata |
Body
|
External order details provided by the merchant Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl
|
platformId Type: string |
Body
|
Merchant identifier of the Solution Provider (SP). Only SPs should use this field. Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl .
|
providerMetadata Type: providerMetadata |
Body
|
Payment service provider (PSP)-provided order details Only PSPs should use these fields |
Response
Returns HTTP 201 (Created) status if the operation was successful. Subsequent retry attempts using the same Idempotency Key may return a HTTP 200 (OK) status if a new resource is not created.
{
"checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
"webCheckoutDetail": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page",
"checkoutResultReturnUrl": null,
"amazonPayRedirectUrl": null
},
"productType": "PayAndShip",
"paymentDetail": {
"paymentIntent": null,
"canHandlePendingAuthorization":false,
"chargeAmount": null,
"softDescriptor": null,
"presentmentCurrency": "USD"
},
"merchantMetadata": {
"merchantReferenceId": null,
"merchantStoreName": null,
"noteToBuyer": null,
"customInformation": null
},
"supplementaryData": null, // Amazon Pay system data
"buyer": null,
"paymentPreferences": [
null
],
"statusDetail": {
"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
},
"checkoutButtonText": null,
"releaseEnvironment": "Sandbox"
}
Error codes
Generic errors can be found here.
Get Checkout Session
Get Checkout Session details includes buyer info, payment instrument details, and shipping address. Shipping address will only be returned if Checkout Session has PayAndShip product type. Use this operation to determine if checkout was successful after the buyer returns from the AmazonPayRedirectUrl
to the specified checkoutResultReturnUrl
.
Request
curl "https://pay-api.amazon.com/:environment/:version/checkoutSessions/:checkoutSessionId"
-X GET
-H "authorization: Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"
Request parameters
Name
|
Location
|
Description
|
CheckoutSessionId (required) Type: string |
Path Parameter
|
Checkout session identifier
|
Response
Returns HTTP 200 (OK) status if the operation was successful.
{
"checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
"webCheckoutDetail": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page",
"checkoutResultReturnUrl": null,
"amazonPayRedirectUrl": null
},
"productType": "PayAndShip",
"paymentDetail": {
"paymentIntent": null,
"canHandlePendingAuthorization": false,
"chargeAmount": null,
"softDescriptor": null,
"presentmentCurrency": "USD"
},
"merchantMetadata": {
"merchantReferenceId": null,
"merchantStoreName": null,
"noteToBuyer": null,
"customInformation": null
},
"supplementaryData":null, // Amazon Pay system data
"buyer": {
"buyerId": "amzn1.account.AH34VHFHHYL4YMBuyerId",
"name": "name-1",
"email": "name@amazon.com"
},
"paymentPreferences": [
{
"paymentDescriptor": "Visa ****1111 (Amazon Pay)",
"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"
}
}
],
"statusDetail": {
"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
},
"checkoutButtonText": null,
"releaseEnvironment": "Sandbox"
}
Error codes
HTTP status code
|
Reason code
|
Description
|
404 NOT_FOUND |
ResourceNotFound |
Checkout Session details are permanently deleted after 30 days. Any request on the Checkout Session will return this error code
|
Generic errors can be found here.
Update Checkout Session
Update the Checkout Session with transaction details. You can keep updating the Checkout Session, as long as it’s in an Open state. Once all mandatory parameters have been set, the Checkout Session object will respond with an unique amazonPayRedirectUrl
that you will use to redirect the buyer to complete checkout.
Request
curl "https://pay-api.amazon.com/:environment/:version/checkoutSessions/:checkoutSessionId" \
-X PATCH
-H "x-amz-pay-authorization: Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"
-d @request_body
Request body
{
"webCheckoutDetail": {
"checkoutResultReturnUrl": "https://a.com/merchant-confirm-page"
},
"paymentDetail": {
"paymentIntent": "Authorize",
"canHandlePendingAuthorization": false,
"chargeAmount": {
"amount": "1",
"currencyCode": "USD"
}
},
"merchantMetadata": {
"merchantReferenceId": "Merchant reference ID",
"merchantStoreName": "Merchant store name",
"noteToBuyer": "Note to buyer",
"customInformation": "Custom information"
},
"platformId": "SPId"
}
Request parameters
Name
|
Location
|
Description
|
checkoutSessionId (required) Type: string |
Path parameter
|
Checkout Session identifier
|
webCheckoutDetail Type: webCheckoutDetail |
Body
|
Checkout result URL provided by the merchant. Amazon Pay will redirect to this URL after completing the transaction Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl |
paymentDetail Type: paymentDetail |
Body
|
Payment details specified by the merchant such as the amount and method for charging the buyer Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl
|
merchantMetadata Type: merchantMetadata |
Body
|
External order details provided by the merchant Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl
|
platformId Type: string |
Body
|
Merchant identifier of the Solution Provider (SP). Only SPs should use this field. Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl .
|
providerMetadata Type: providerMetadata |
Body
|
Transaction identifier created by the Payment Service Provider (PSP) Only PSPs should use these fields Modifiable: Multiple times before the buyer is redirected to the amazonPayReturnUrl
|
Response
Returns HTTP 200 (OK) status if the operation was successful.
{
"checkoutSessionId": "ada3f397-7d4b-4a55-abac-786685c02d8b",
"webCheckoutDetail": {
"checkoutReviewReturnUrl": "https://a.com/merchant-review-page",
"checkoutResultReturnUrl": "https://a.com/merchant-confirm-page",
"amazonPayRedirectUrl": "https://pay.amazon.com/redirect/checkoutId-1"
},
"productType": "PayAndShip",
"paymentDetail": {
"paymentIntent": "Authorize",
"canHandlePendingAuthorization":false,
"chargeAmount": {
"amount": "1",
"currencyCode": "USD"
},
"softDescriptor": null,
"presentmentCurrency": "USD"
},
"merchantMetadata": {
"merchantReferenceId": "Merchant reference ID",
"merchantStoreName": "Merchant store name",
"noteToBuyer": "Note to buyer",
"customInformation": "Custom information"
},
"supplementaryData": null, // Amazon Pay system data
"buyer": {
"buyerId": "amzn1.account.AH34VHFHHYL4YMBuyerId",
"name": "name-1",
"email": "name@amazon.com"
},
"paymentPreferences": [
{
"paymentDescriptor": "Visa ****1111 (Amazon Pay)",
"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"
}
}
],
"statusDetail": {
"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": "AEMGQX8TKDO54",
"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
},
"checkoutButtonText": null,
"releaseEnvironment": "Sandbox"
}
Error codes
HTTP status code
|
Reason code
|
Description
|
404 NOT_FOUND |
ResourceNotFound |
Checkout Session details are permanently deleted after 30 days. Any request on the Checkout Session will return this error code
|
422 UNPROCESSABLE_ENTITY |
InvalidCheckoutSessionStatus
|
You tried to call an operation on a Checkout Session that is in a state where that operation is not allowed
|
Generic errors can be found here.