INSUFFICIENT_FUNDS
INSUFFICIENT_FUNDS
The issuer declined the payment because the account does not cover the transaction amount. The card credentials are valid — this is a decision about the balance at this moment, not about the card.
Summary
| Field | Value |
|---|---|
| Appears as | errors[].code |
| Response | HTTP 200 — Order with isValid: false and a populated errors[] |
| Retry the same card | No |
This is a reason code, not a top-level error code
INSUFFICIENT_FUNDS is an errors[].code value on the order. It is not a top-level
ProblemDetail.errorCode, so it carries no HTTP status, errorCategory, or retryable field of its
own. See Unified OrderError shape.
When This Fires
POST /v1/marketfront/orders/place— payment authorization was declined by the issuer for lack of available funds or credit.
Recommended Action
Surface the reason and let the customer choose a different payment method. This decline is safe to state plainly — unlike CARD_LOST_OR_STOLEN, there is no reason to withhold it, and telling the customer why is what lets them fix it.
An issuer may approve the same card later, so this is not a permanent decline. But retrying inside a checkout session is very unlikely to change the answer, and repeated authorization attempts against the same card can trip issuer fraud controls. Treat "ask for another payment method" as the action and leave any retry to the customer's next attempt.
Example
Code