Skip to content
Built for your next move. Sandbox API now available
DEVELOPER PLATFORM · API v1

Good ideas.
Meet your next integration.

Clear endpoints. Predictable responses. A sandbox to build and test your payment flow before live processing is available.

Documentation / Errors & retries · Updated 16 September 2026

Handle the unexpected.

API responses include an X-Request-Id header. Application errors use the following envelope. Cloudflare or the hosting edge can return a different response before the request reaches the application; handle non-JSON errors safely.

{
  "error": {
    "code": "invalid_request",
    "message": "Invalid request fields",
    "request_id": "request-uuid"
  }
}
StatusCodeAction
400invalid_requestCheck fields, JSON, currency and idempotency key.
401unauthorizedCheck the secret, expiry and revocation status.
403forbiddenCheck scopes and workspace status; remove browser headers.
404not_foundCheck the endpoint and workspace ownership.
405method_not_allowedUse the documented HTTP method.
409conflictCheck idempotency input, terminal state or workspace limits.
413 / 415payload_too_large / unsupported_media_typeSend a small application/json request.
429rate_limitedWait at least the Retry-After value before retrying.
500internal_errorRetry safely with the same idempotency key.

Rate limits

The application permits 60 authenticated requests per minute per workspace, shared across its keys, and 120 API attempts per minute per source IP. A limited request returns 429 with Retry-After: 60. Cloudflare protections may also limit abusive traffic.

Retry without creating duplicates

  1. Persist a unique idempotency key with your test order before the first create request.
  2. On a timeout or a 5xx response, retry the identical payload with the same key.
  3. Use exponential backoff with jitter and a maximum retry count; honour Retry-After.
  4. Do not retry validation, permission or conflict errors without correcting the cause.

Do not poll continuously. Sandbox status changes only through simulation; retrieve the result when your test flow needs it. Webhook delivery is not implemented.