Errors
Errors are returned with a non-2xx HTTP status and a JSON body:
{ "error_code": "invalid_argument", "error_message": "the transaction amount is insufficient as it wont cater for cost: (4.62)", "status_code": 400}Common cases
Section titled “Common cases”| Status | error_code |
Example cause |
|---|---|---|
400 |
invalid_argument |
Amount too low to cover cost; inactive channel |
401 |
— | Missing or invalid Basic auth credentials |
Handling tips
Section titled “Handling tips”- Always read
error_message— it carries the specific business reason. - A
400is a permanent rejection of that request; fix the input before retrying. - A
401means your API key is missing or wrong. - Network/5xx errors can be retried with backoff using the same
external_referencefor idempotency on your side.

