Skip to main content
When Tanda rejects a request, it returns a standard HTTP status and a JSON body:
Branch your code on errorCode. message is for people and its wording can change.
These are errors on the request. A request can succeed and the payment still fail later, for example if the customer cancels the prompt. Those failures arrive by webhook; see Transaction errors.

Common errors

Collections

Payouts

Handling errors well

  • Retry only what’s retryable. 5xx errors are worth retrying with exponential backoff. 4xx errors need you to change the request or your account first.
  • Retry with the same externalReference. If a request times out and you resend it, a 409 means Tanda already has that transaction. Look it up with Get transaction rather than sending it again with a new reference.
  • Validate first. Resolve payout recipients with Account resolver and check phone formats before sending.
  • Check service health with Service status before retrying many failures at once.