Amazon Pay for Magento 2 GraphQL Documentation
GraphQL Queries, Mutations, and Types for the Amazon Pay Checkout Session API
API Endpoints
A sample GraphQL endpoint on a Magento installation:
https://example-site.com/graphql
Queries
checkoutSessionConfig
Example
Query
query checkoutSessionConfig($cartId: String) {
checkoutSessionConfig(cartId: $cartId) {
button_color
checkout_payload
checkout_signature
currency
sandbox
language
login_payload
login_signature
merchant_id
pay_only
paynow_payload
paynow_signature
public_key_id
}
}
Variables
{
"cartId": "d7Vw50EfbxdhgnoehD8ytqX8VM8nJL28"
}
Response
{
"data": {
"checkoutSessionConfig": {
"button_color": "Gold",
"checkout_payload": "{\"webCheckoutDetails\":{\"checkoutReviewReturnUrl\":\"https://example-site.com/amazon_pay/login/checkout/\",\"checkoutCancelUrl\":\"https://example-site.com/\"},\"storeId\":\"amzn1.application-oa2-client.6df660f2573c40e8ba5815b43b8434da\"}",
"checkout_signature": "BX/MOkF6pzmOp+PnznSPNmO9UdUCl3m7sRX92KJZOwlalKwfRx+AMDsG3T/LvGONe4MTkNKFza+avk321GQ5/WyeaBfBzp+W0zQFoJIJ2Suy0rEOwS+6C1ClnlOeNsCiwvrP60kc89K5LJn5srA+AlznOwFWZcyT1d7WAUxGQOVCI2MOUqyBzf4FFperRjmrhHiGuhjOZSB7UgDuFkuexdfDL2EtBnWDkRe3As6rO5OOp3B/VWWQ0etLkfryzPwMUlb8z1lMdNUdqIrb1IxrfB97SQQ+NxA/uuNn2HguubH7qekK5Enwmbbm+i1d8S6+VBxj2ReiRZFaMNeMI8q/QA==",
"currency": "USD",
"sandbox": true,
"language": "en_US",
"login_payload": "{\"signInReturnUrl\":\"https://example-site.com/amazon_pay/login/authorize/\",\"signInCancelUrl\":\"https://example-site.com/\",\"storeId\":\"amzn1.application-oa2-client.6df660f2573c40e8ba5815b43b8434da\",\"signInScopes\":[\"name\",\"email\"]}",
"login_signature": "YuxfSQ+8sgH20B4fVisrpwpES67QTSDswat9vNZeQz3KqJ1MVH2E8JLgYltMDsjRq8eY4gCOZI/aW/sB5wyerdPdDke5LA9na9XliE+glODI2T58gOtx3eZcDl2IH7zUNHvicu/g3huYe6o/4KD5euRwiKhieZFChBeVxe8Z4i74weN/8SyYriJx/osI8CosihySDUk/wSGfuUlaxsJ9VgDzeaTdi6ANc7yWyskzKPQVEReDp5TO3d8x+e1BbQWBa0AjvZvj2zK7fHHzZklKNFoU0bSu4ZzBXvGalziR3Dpib2fJ9a2RZdPxtDuVi6lxgNbfQb/p89dKGjFmtLcmHA==",
"merchant_id": "A1BIO10NFO603Q",
"pay_only": true,
"paynow_payload": "{\"webCheckoutDetails\":{\"checkoutMode\":\"ProcessOrder\",\"checkoutResultReturnUrl\":\"https://example-site.com/amazon_pay/checkout/completeSession/\",\"checkoutCancelUrl\":\"https://example-site.com/\"},\"storeId\":\"amzn1.application-oa2-client.6df660f2573c40e8ba5815b43b8434da\",\"paymentDetails\":{\"paymentIntent\":\"Authorize\",\"canHandlePendingAuthorization\":false,\"chargeAmount\":{\"amount\":10,\"currencyCode\":\"USD\"},\"presentmentCurrency\":\"USD\"},\"merchantMetadata\":{\"merchantReferenceId\":null,\"merchantStoreName\":null,\"customInformation\":\"Magento Version: 2.4.2-p1, Plugin Version: 5.11.1\"},\"addressDetails\":{\"name\":\"Jack Smith\",\"city\":\"Seattle\",\"postalCode\":\"98121\",\"countryCode\":\"US\",\"phoneNumber\":\"800-000-0000\",\"stateOrRegion\":\"WA\",\"addressLine1\":\"83034 Terry Ave\"}}",
"paynow_signature": "HbCXNhALzzdVfAfMobMRSczijntjiLfpYzYNSpGJOcb9O48n2iDNdep0wQV73D1deO8oVVS4buOxPp7joNMwPy05D/ChQ1sepDMF8g37KNw2Ev77A73tOE77IXxDkKjnZiQVVJEaWxWhIVI3UqjKTTkCCWchEPwip3qhS/H+y7w6Y41uke4c0QPF1VQc5C8l/wzrlMuXqxqdbxQKW6yKniCeXDsEJGD+ja6nec5uiBIadQ9/ILyJOCbKefEckxAYBx3Ixur+znF17+9IEwUIwG+BuB5XSfxkP/G2F4N4doGVn5v20ATeF9qL6m20JsfOLAbF2aJKyNDe4/dNCt9nHA==",
"public_key_id": "SANDBOX-AFJ2KQI25RZO2YTRPCHCGVJH"
}
}
}
checkoutSessionDetails
CheckoutSessionDetailsOutput
| Name | Description |
|---|---|
amazonSessionId -
String!
|
|
queryTypes -
[String!]
|
Example
Query
query checkoutSessionDetails($amazonSessionId: String!, $queryTypes: [String!]) {
checkoutSessionDetails(amazonSessionId: $amazonSessionId, queryTypes: $queryTypes) {
response
}
}
Variables
{
"amazonSessionId": "f72f2b7a-5ffe-4544-918b-6a25ce481dce",
"queryTypes": ["shipping"]
}
Response
{
"data": {
"checkoutSessionDetails": {
"response": "{\"shipping\":[{\"city\":\"Chicago\",\"firstname\":\"Susie\",\"lastname\":\"Smith\",\"country_id\":\"US\",\"street\":[\"10 Ditka Ave\",\"Suite 2500\"],\"postcode\":\"60602\",\"company\":\"\",\"telephone\":\"800-000-0000\",\"region\":\"Illinois\",\"region_id\":\"23\",\"region_code\":\"IL\",\"email\":\"amzn+customer@example.com\"}]}"
}
}
}
checkoutSessionSignIn
Example
Query
query checkoutSessionSignIn($buyerToken: String!) {
checkoutSessionSignIn(buyerToken: $buyerToken) {
customer_id
customer_email
customer_firstname
customer_last
customer_bearer_token
message
success
}
}
Variables
{
"buyerToken": "eyJ6aXAiOiJERUYiLCJlbmMiOiJBMjU2R0NNIiwidGFnIjoicXBtZWE2QmVHd3VlNk5GNDdSTkt6dyIsImFsZyI6IkExMjhHQ01LVyIsIml2IjoiNWNVcUUyeHU4X2Q0LWZDYyJ9.zh3wB8Q4xDniG7nP75AgJovXceqYbw-YIBF2QzrlWcw.U3Dcc6_7enIgdimr.aALvl6ZKMLqWUdQMbQ7eOqlWgAiT-k4laJbkIkFsUsA8PXo-v7GhDhveuzgwqdGXMczFXEZFFIM8y5NjL9HJbubHh3RMyhOchMeMHfXdPDkC2w-FsB3Z5EG4ufUzbi3zLz7YFKmdgTnz-1iKNfrnOWSdaJK6xwGBGuRjHt4uAg-YmKn37nTmd3Lcjhfb6D7IPA0aoIODvMRWGciGwYpYLXGJtxfjj_K1ZXntbXxWx4OohiUOyFaQs5Ds7pFw_hbD.hK_KHXuLQ4fdiFQxuN7gwA"
}
Response
{
"data": {
"checkoutSessionSignIn": {
"customer_id": "201",
"customer_email": "amzn+customer@example.com",
"customer_firstname": "John",
"customer_last": "Doe",
"customer_bearer_token": "e8zxfpp9ljffsipjfbyl95oztaqls0y9",
"message": null,
"success": true
}
}
}
Mutations
completeCheckoutSession
Example
Query
mutation completeCheckoutSession($cartId: String!, $amazonSessionId: String!) {
completeCheckoutSession(cartId: $cartId, amazonSessionId: $amazonSessionId) {
increment_id
message
success
}
}
Variables
{
"cartId": "d7Vw50EfbxdhgnoehD8ytqX8VM8nJL28",
"amazonSessionId": "f72f2b7a-5ffe-4544-918b-6a25ce481dce"
}
Response
{
"data": {
"completeCheckoutSession": {
"increment_id": "000000026",
"message": null,
"success": true
}
}
}
setCustomerLink
Example
Query
mutation setCustomerLink($buyerToken: String!, $password: String!) {
setCustomerLink(buyerToken: $buyerToken, password: $password) {
customer_id
customer_email
customer_firstname
customer_last
customer_bearer_token
message
success
}
}
Variables
{
"buyerToken": "eyJ6aXAiOiJERUYiLCJlbmMiOiJBMjU2R0NNIiwidGFnIjoicXBtZWE2QmVHd3VlNk5GNDdSTkt6dyIsImFsZyI6IkExMjhHQ01LVyIsIml2IjoiNWNVcUUyeHU4X2Q0LWZDYyJ9.zh3wB8Q4xDniG7nP75AgJovXceqYbw-YIBF2QzrlWcw.U3Dcc6_7enIgdimr.aALvl6ZKMLqWUdQMbQ7eOqlWgAiT-k4laJbkIkFsUsA8PXo-v7GhDhveuzgwqdGXMczFXEZFFIM8y5NjL9HJbubHh3RMyhOchMeMHfXdPDkC2w-FsB3Z5EG4ufUzbi3zLz7YFKmdgTnz-1iKNfrnOWSdaJK6xwGBGuRjHt4uAg-YmKn37nTmd3Lcjhfb6D7IPA0aoIODvMRWGciGwYpYLXGJtxfjj_K1ZXntbXxWx4OohiUOyFaQs5Ds7pFw_hbD.hK_KHXuLQ4fdiFQxuN7gwA",
"password": "Password_ABC"
}
Response
{
"data": {
"setCustomerLink": {
"customer_id": "201",
"customer_email": "amzn+customer@example.com",
"customer_firstname": "John",
"customer_last": "Doe",
"customer_bearer_token": "e8zxfpp9ljffsipjfbyl95oztaqls0y9",
"message": null,
"success": true
}
}
}
updateCheckoutSession
Example
Query
mutation updateCheckoutSession($cartId: String!, $amazonSessionId: String!) {
updateCheckoutSession(cartId: $cartId, amazonSessionId: $amazonSessionId) {
redirectUrl
}
}
Variables
{
"cartId": "d7Vw50EfbxdhgnoehD8ytqX8VM8nJL28",
"amazonSessionId": "f72f2b7a-5ffe-4544-918b-6a25ce481dce"
}
Response
{
"data": {
"updateCheckoutSession": {
"redirectUrl": "https://apay-us.amazon.com/checkout/processing?amazonCheckoutSessionId=3afdaa90-8b83-4c94-ba10-5a2ee0ef7433"
}
}
}
Types
CheckoutSessionConfigOutput
For details on how to use these values to render the Amazon Pay button, see the Add the Amazon Pay Button documentation.
| Field Name | Description |
|---|---|
button_color -
String
|
|
checkout_payload -
String
|
|
checkout_signature -
String
|
|
currency -
String
|
|
sandbox -
Boolean
|
|
language -
String
|
|
login_payload -
String
|
|
login_signature -
String
|
|
merchant_id -
String
|
|
pay_only -
Boolean
|
|
paynow_payload -
String
|
|
paynow_signature -
String
|
|
public_key_id -
String
|
Example
{
"button_color": "Gold",
"checkout_payload": "{\"webCheckoutDetails\":{\"checkoutReviewReturnUrl\":\"https://example-site.com/amazon_pay/login/checkout/\",\"checkoutCancelUrl\":\"https://example-site.com/\"},\"storeId\":\"amzn1.application-oa2-client.6df660f2573c40e8ba5815b43b8434da\"}",
"checkout_signature": "BX/MOkF6pzmOp+PnznSPNmO9UdUCl3m7sRX92KJZOwlalKwfRx+AMDsG3T/LvGONe4MTkNKFza+avk321GQ5/WyeaBfBzp+W0zQFoJIJ2Suy0rEOwS+6C1ClnlOeNsCiwvrP60kc89K5LJn5srA+AlznOwFWZcyT1d7WAUxGQOVCI2MOUqyBzf4FFperRjmrhHiGuhjOZSB7UgDuFkuexdfDL2EtBnWDkRe3As6rO5OOp3B/VWWQ0etLkfryzPwMUlb8z1lMdNUdqIrb1IxrfB97SQQ+NxA/uuNn2HguubH7qekK5Enwmbbm+i1d8S6+VBxj2ReiRZFaMNeMI8q/QA==",
"currency": "USD",
"sandbox": true,
"language": "en_US",
"login_payload": "{\"signInReturnUrl\":\"https://example-site.com/amazon_pay/login/authorize/\",\"signInCancelUrl\":\"https://example-site.com/\",\"storeId\":\"amzn1.application-oa2-client.6df660f2573c40e8ba5815b43b8434da\",\"signInScopes\":[\"name\",\"email\"]}",
"login_signature": "YuxfSQ+8sgH20B4fVisrpwpES67QTSDswat9vNZeQz3KqJ1MVH2E8JLgYltMDsjRq8eY4gCOZI/aW/sB5wyerdPdDke5LA9na9XliE+glODI2T58gOtx3eZcDl2IH7zUNHvicu/g3huYe6o/4KD5euRwiKhieZFChBeVxe8Z4i74weN/8SyYriJx/osI8CosihySDUk/wSGfuUlaxsJ9VgDzeaTdi6ANc7yWyskzKPQVEReDp5TO3d8x+e1BbQWBa0AjvZvj2zK7fHHzZklKNFoU0bSu4ZzBXvGalziR3Dpib2fJ9a2RZdPxtDuVi6lxgNbfQb/p89dKGjFmtLcmHA==",
"merchant_id": "A1BIO10NFO603Q",
"pay_only": true,
"paynow_payload": "{\"webCheckoutDetails\":{\"checkoutMode\":\"ProcessOrder\",\"checkoutResultReturnUrl\":\"https://example-site.com/amazon_pay/checkout/completeSession/\",\"checkoutCancelUrl\":\"https://example-site.com/\"},\"storeId\":\"amzn1.application-oa2-client.6df660f2573c40e8ba5815b43b8434da\",\"paymentDetails\":{\"paymentIntent\":\"Authorize\",\"canHandlePendingAuthorization\":false,\"chargeAmount\":{\"amount\":10,\"currencyCode\":\"USD\"},\"presentmentCurrency\":\"USD\"},\"merchantMetadata\":{\"merchantReferenceId\":null,\"merchantStoreName\":null,\"customInformation\":\"Magento Version: 2.4.2-p1, Plugin Version: 5.11.1\"},\"addressDetails\":{\"name\":\"Jack Smith\",\"city\":\"Seattle\",\"postalCode\":\"98121\",\"countryCode\":\"US\",\"phoneNumber\":\"800-000-0000\",\"stateOrRegion\":\"WA\",\"addressLine1\":\"83034 Terry Ave\"}}",
"paynow_signature": "HbCXNhALzzdVfAfMobMRSczijntjiLfpYzYNSpGJOcb9O48n2iDNdep0wQV73D1deO8oVVS4buOxPp7joNMwPy05D/ChQ1sepDMF8g37KNw2Ev77A73tOE77IXxDkKjnZiQVVJEaWxWhIVI3UqjKTTkCCWchEPwip3qhS/H+y7w6Y41uke4c0QPF1VQc5C8l/wzrlMuXqxqdbxQKW6yKniCeXDsEJGD+ja6nec5uiBIadQ9/ILyJOCbKefEckxAYBx3Ixur+znF17+9IEwUIwG+BuB5XSfxkP/G2F4N4doGVn5v20ATeF9qL6m20JsfOLAbF2aJKyNDe4/dNCt9nHA==",
"public_key_id": "SANDBOX-AFJ2KQI25RZO2YTRPCHCGVJH"
}
CheckoutSessionDetailsOutput
String representation of shipping/billing address or payment descriptor associated with an Amazon checkout session
| Field Name | Description |
|---|---|
response -
String!
|
Example
{
"response": "{\"shipping\":[{\"city\":\"Chicago\",\"firstname\":\"Susie\",\"lastname\":\"Smith\",\"country_id\":\"US\",\"street\":[\"10 Ditka Ave\",\"Suite 2500\"],\"postcode\":\"60602\",\"company\":\"\",\"telephone\":\"800-000-0000\",\"region\":\"Illinois\",\"region_id\":\"23\",\"region_code\":\"IL\",\"email\":\"amzn+customer@example.com\"}]}"
}
CheckoutSessionSignInOutput
On failure, message will not be null, and customer_email may be non-null if a customer in the Magento store exists with the same email address as the Amazon account used for sign in.
| Field Name | Description |
|---|---|
customer_id -
String
|
|
customer_email -
String
|
|
customer_firstname -
String
|
|
customer_last -
String
|
|
customer_bearer_token -
String
|
|
message -
String
|
|
success -
Boolean
|
Example
{
"customer_id": "201",
"customer_email": "amzn+customer@example.com",
"customer_firstname": "John",
"customer_last": "Doe",
"customer_bearer_token": "e8zxfpp9ljffsipjfbyl95oztaqls0y9",
"message": null,
"success": true
}
SetCustomerLinkOutput
On failure, message will be non-null to indicate what went wrong.
| Field Name | Description |
|---|---|
customer_id -
String
|
|
customer_email -
String
|
|
customer_firstname -
String
|
|
customer_last -
String
|
|
customer_bearer_token -
String
|
|
message -
String
|
|
success -
Boolean
|
Example
{
"customer_id": "201",
"customer_email": "amzn+customer@example.com",
"customer_firstname": "John",
"customer_last": "Doe",
"customer_bearer_token": "e8zxfpp9ljffsipjfbyl95oztaqls0y9",
"message": null,
"success": true
}
String
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
UpdateCheckoutSessionOutput
Returns empty string until all checkout constraints have been satisfied. Then, an amazonPayRedirectUrl will be returned to direct the customer to for payment to be completed.
| Field Name | Description |
|---|---|
redirectUrl -
String
|
Example
{
"redirectUrl": "https://apay-us.amazon.com/checkout/processing?amazonCheckoutSessionId=3afdaa90-8b83-4c94-ba10-5a2ee0ef7433"
}