checkoutToken
Overview
Call this mutation to create a checkout token/encryption key that redirects to the hosted checkout. Provide the payload described by CreateCheckoutTokenInput (cart id, session info, success/cancel URLs, etc.).
- Type: GraphQL Mutation
- Endpoint: https://appssubdomain.com
- Authentication:
Authorization: Bearer <TOKEN>
Mutation
mutation CreateCheckoutToken($input: CreateCheckoutTokenInput!) {
createCheckoutToken(input: $input) {
success
message
encryptionKey
url
}
}
Variables
Adapt the payload to your backend schema. Example shape:
{
"input": {
"cartId": "<CART_ID>",
"successUrl": "https://example.com/checkout/success",
"cancelUrl": "https://example.com/checkout/cancel",
"currency": "USD"
}
}
Examples
- cURL
- JavaScript (fetch)
curl -X POST \
https://appssubdomain.com\
-H "Content-Type": "application/json" \
-H "Authorization: Bearer <TOKEN>" \
--data-binary @- << 'EOF'
{
"query": "mutation CreateCheckoutToken($input: CreateCheckoutTokenInput!) { createCheckoutToken(input: $input) { success message url encryptionKey } }",
"variables": {
"input": {
"cartId": "<CART_ID>",
"successUrl": "https://example.com/checkout/success",
"cancelUrl": "https://example.com/checkout/cancel"
}
}
}
EOF
const res = await fetch('https://appssubdomain.com', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + token,
},
body: JSON.stringify({
query: `
mutation CreateCheckoutToken($input: CreateCheckoutTokenInput!) {
createCheckoutToken(input: $input) {
success
message
url
encryptionKey
}
}
`,
variables: {
input: {
cartId: '<CART_ID>',
successUrl: 'https://example.com/checkout/success',
cancelUrl: 'https://example.com/checkout/cancel',
},
},
}),
});
const json = await res.json();
Notes
- The mutation returns
success,message,url, andencryptionKey; use them to redirect to the hosted checkout. - Include all required fields in
CreateCheckoutTokenInput(cart reference, market/currency, redirect URLs, etc.). - Store or pass along
encryptionKeysecurely; it may be required by storeGate scripts for client-side encryption.