API reference
Errors
Error format and every error code.
Errors use standard HTTP status codes and a JSON body:
json
{ "error": "A payment with this reference exists with a different amount", "code": "IDEMPOTENCY_CONFLICT" }| Code | HTTP | Meaning |
|---|---|---|
VALIDATION_ERROR | 400 | The body is invalid; error lists each field problem. |
UNAUTHORIZED | 401 | Missing or wrong API key. |
INTENT_NOT_FOUND | 404 | No payment with that id / reference. |
IDEMPOTENCY_CONFLICT | 409 | A payment with this purpose + reference exists with a different amount. |
NOT_CANCELLABLE | 409 | Only PENDING or EXPIRED payments can be cancelled. |
INVALID_TRANSACTION_ID | 400 | The Transaction ID doesn’t look like one (6–24 letters/digits after normalising). |
ALREADY_VERIFIED | 409 | The payment was already verified with another Transaction ID. |
NOT_CLAIMABLE | 409 | The payment is cancelled or rejected. |
CLAIM_WINDOW_CLOSED | 410 | The claim window has ended. |
TRANSACTION_ALREADY_CLAIMED | 409 | Another payment already claimed this Transaction ID. |
TRANSACTION_ALREADY_USED | 409 | This Transaction ID already verified another payment. |
LINK_NOT_FOUND | 404 | No payment link with that id or slug. |
SLUG_TAKEN | 409 | Another link uses that address. |
LINK_INACTIVE / LINK_EXPIRED / LINK_SOLD_OUT | 410 | The link is off, expired or reached its payment limit. |
PAYER_NAME_REQUIRED / PAYER_PHONE_REQUIRED | 400 | The link asks for payer details. |
— | 429 | Too many requests — see rate limits. |
