Skip to content

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
Example
{ "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.