Content-Type of application/problem+json.
Authentication and access codes
These separate three problems that look identical from the outside: a signing bug, a missing permission, and a feature you have not been provisioned. Each needs a different response from you, and only the first is a bug in your integration.
See Authentication for what to change in each case.
Status codes
A
401 on a call that used to work most often means a service-account credential was rotated or an environment was crossed — sandbox credentials do not work against production, and vice versa.Why a payment failed
A failed transaction carries anerrorKey on GET /v1/transactions/{reference}. This is the field to surface to your own support team.
Retrying safely
Reads
GET requests are safe to retry. Back off exponentially on 429 and 5xx.Writes
Send an
idempotencyKey where the endpoint accepts one. Without it, a retry after an ambiguous failure risks creating a duplicate.