Errors
Every error carries a stable machine code.
{
"error": {
"type": "invalid_request_error",
"code": "method_requirements_not_met",
"message": "The request does not satisfy iDEAL's requirements.",
"details": [ ... ]
}
}
Branch on code. The message is for humans and may
be reworded.
| Status | Meaning | Retry? |
|---|---|---|
400 | Malformed request | No, fix it |
401 | Bad or missing key | No |
402 | The bank refused | No, try another method |
404 | Not found | No |
409 | Idempotency conflict | See idempotency |
422 | Valid JSON, impossible request | No |
429 | Rate limited | Yes, after Retry-After |
503 | Bank unreachable | Yes, with the same idempotency key |
Common codes
| Code | Cause |
|---|---|
method_requirements_not_met | Currency, country or a required field does not suit the method |
method_not_enabled | Not enabled on your account for that currency |
refund_not_supported | The scheme has no refund mechanism |
payment_not_settled | Refund attempted before settlement |
refund_exceeds_balance | More than the remaining refundable amount |
cannot_cancel | Already authorised, refund instead |