Skip to main content
Learn about error handling when using the API.

Transaction Status

The API uses standard HTTP status codes.
A request body that fails schema validation (missing/invalid field, wrong type, an unmet cross-field rule) always returns 422 with error.code: "validation_error" — 400 is reserved for requests that never even reach body validation, like unparseable JSON.

Error Handling

When a transaction cannot be completed, the API returns a machine-readable failure code along with a human-readable message. Use these codes to determine the appropriate action for your application.

Response Format

Example error response body:
validation_error carries extra structure: the top-level message names the first failing field, and details.fieldErrors lists every field that failed, keyed by path.

Failure Codes

Best Practices

Always use the code field for programmatic handling. The message is intended for debugging and may change over time.
When retrying failed requests, always include the same Idempotency-Key to prevent duplicate transactions.

Next Steps

Going live

Things to set to move from your sandbox account to live payments.