Payment Request Invalid
payment_request_invalid400
The payment provider (Dodo) rejected a billing request as invalid. Your plan was not changed and you were not charged.
What this means
A dashboard billing action (subscribe, upgrade, upgrade preview, card update or payment history) reached Dodo, our payment provider, and Dodo answered HTTP 400 or 422: it considered the request invalid. We return HTTP 400 with this code. Nothing on your Asterwise account changed.
When you'll see this
- Dodo rejected the details we sent for a checkout, plan change or card update.
- Dodo rejected the request for your payment history.
Because the request is built by our server from your account and the plan you picked, this almost always means something on our side needs fixing, not something you typed.
Learn more about how this works
Dodo's answer to every billing call is mapped to one code: HTTP 400 or 422 from Dodo is this code, 401 or any 5xx is payment_provider_unavailable, and any other failure is order_creation_failed. Dodo rejects an invalid request before any charge, so no money moves.
Example response
{
"success": false,
"error": "payment_request_invalid",
"message": "Payment provider rejected the request as invalid.",
"details": [],
"retry_after": null,
"doc_url": "https://docs.asterwise.com/reference/errors/payment_request_invalid/",
"request_id": "req_01HXYZABCDEFGH",
"timestamp": "2026-05-25T12:34:56Z"
}
- Reload asterwise.com/dashboard and try once more.
- If it fails again, email [email protected] with the
request_idfrom the error. Retrying the same action will not help until we fix the cause.
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 payment_request_invalid.
Production handler
No code example provided.
Avoid this error by
- There is nothing to change on your side; send the
request_idto support so the cause can be fixed.