Error codes
Errors are reported with the HTTP status code and a human-readable message (error). Transfers, webhook resends and test mode add a stable code field (test_mode, rate_limited, solde_insuffisant…).
| Code | Meaning |
|---|---|
400 |
Missing or invalid parameter (amount missing, webhookUrl not public, incomplete link…) |
401 |
Missing or invalid API key: Missing API key or Invalid API Key |
402 |
Insufficient balance for a transfer (solde_insuffisant) |
403 |
Refused: gateway of another application, action not possible with a test key (test_mode: transfers, payment links), or production key of a workspace whose identity is not verified yet (identity_unverified) |
404 |
Session, link or gateway not found |
409 |
The session is no longer payable (already cancelled or refunded) |
429 |
Too many requests: honor the Retry-After header (seconds) |
500 |
Internal error: retry, then contact us if it persists |
502 |
The aggregator could not initiate the payment: the message contains its response |
{ "error": "amount is required and must be > 0" }The payment page endpoints (/checkout/initiate, /checkout/verify) respond with { "success": false, "message": "..." }. They are used by the hosted page and do not need to be called directly.