Order Creation Failed
order_creation_failed400
The payment provider (Dodo) failed a checkout, plan change or card update with an error. Your plan was not changed.
What this means
The dashboard asked Dodo, our payment provider, to start a checkout, change your plan, price a plan change or create a link to update your card, and Dodo answered with an error we have no more specific code for. Nothing on your Asterwise account changed: your plan, keys and limits are as they were.
When you'll see this
- Dodo answered with an HTTP error other than 400, 401, 422 or 5xx (those have their own codes) when you clicked Subscribe, Upgrade, the upgrade price preview, the card update or opened the payment history.
- The call to Dodo failed in a way that was not a provider outage.
- Dodo accepted a "update payment method" request but did not return a link.
Learn more about how this works
Every paid action in the dashboard starts with a call to Dodo. Dodo's answer is mapped to one of three codes: a request Dodo calls malformed (HTTP 400 or 422) is payment_request_invalid, Dodo being down or refusing our credentials (5xx or 401) is payment_provider_unavailable, and any other failure is this code. The response is HTTP 400.
For a new subscription, no subscription is created on our side, so there is nothing to undo. For a plan upgrade, a timeout can come after Dodo has already applied the change, so the upgrade order is kept open: if Dodo did apply it, Dodo's webhook still completes the upgrade on your account.
Example response
{
"success": false,
"error": "order_creation_failed",
"message": "Failed to create payment order. Please try again.",
"details": [],
"retry_after": null,
"doc_url": "https://docs.asterwise.com/reference/errors/order_creation_failed/",
"request_id": "req_01HXYZABCDEFGH",
"timestamp": "2026-05-25T12:34:56Z"
}
- Reload asterwise.com/dashboard and check your plan before trying again; after an upgrade attempt it may already show the new plan.
- If it does not, try the action again after a minute.
- If it keeps failing, email [email protected] with the
request_idfrom the error.
Only the dashboard receives this error: billing actions need a dashboard sign-in, and an API key sent to the billing endpoints gets session_required instead. Code that calls the API with a key never sees order_creation_failed. To read an account's plan from code, call GET /v1/keys/me/usage with its key; the tier field is the plan the account is on now.
Production handler
No code example provided.
Avoid this error by
- After a failed upgrade, check the plan shown in the dashboard before trying again, so a change Dodo already applied is not requested twice.
- Keep the
request_idof a failed attempt; it lets support find the exact call to Dodo.