Checkout Troubleshooting
Missing Shipping Methods
- Shipping methods are contextual to channels and need to be enabled in the channel the checkout is created.
- Shipping methods can be available only for specific countries. If checkout does not contain shipping country, the default country of the channel will be used.
Variant/Product is not available
Make sure product is available in the channel the checkout is created. See Product Troubleshooting.
Resolving Paid Checkouts Not Converting to Orders
Sometimes, a Checkout
that has been paid might not convert into an Order
.
This can happen for various reasons, such as the customer closing the browser before the checkoutComplete
mutation was called.
To ensure that fully paid checkouts are reliably converted into orders, consider implementing one of the following solutions:
Solution 1: Enable Automatic Checkout Completion [Recommended]
Enable automatic checkout completion
to automatically convert a Checkout
into an Order
once it is fully paid.
A checkout is considered fully paid when Checkout.authorizeStatus
is set to FULL
, meaning the associated TransactionItems
cover the checkout.totalPrice
.
Solution 2: Use a Webhook to Complete Checkouts
Set up the CHECKOUT_FULLY_PAID
webhook, and create an app to call the checkoutComplete
mutation when this webhook is triggered.
• For more information on setting up webhooks, refer to the webhook overview.
• You can find guidance on app development here.
Note: This approach only works when the CHARGE
is used as the default transaction flow strategy.
Solution 3: Periodically Query Uncompleted Fully Paid Checkouts
Implement a periodic check to query for fully paid checkouts that have not been completed, then complete them manually.
To retrieve uncompleted checkouts, use the checkouts
query with a filter for authorizeStatus: FULL
, as shown below:
query {
checkouts(filter: {authorizeStatus: [FULL]}) {
edges {
node {
id
}
}
}
}
These solutions do not apply to partially paid checkouts, which require additional handling.
For example, you may choose to send payment reminders or adjust the Periodically Query Uncompleted Fully Paid Checkouts
approach to filter out checkouts that are not yet fully paid.
Be aware that funds for abandoned checkouts are automatically released after a specified time (default is 6 hours). More information on this process is available here.