Skip to main content

Support errors and recovery

Ticket, refund, chargeback, and attachment methods return the standard signed API error envelope. Use the numeric error.code for program logic, request_id for support/reconciliation, and HTTP status only for the broad recovery class.
Prerequisites: capture the raw response bytes and X-Data-Hash header so you can verify SHA512(rawResponseBody + secretKey) before acting on an error.

Envelope

Error messages can become clearer over time. Numeric codes and public structured details are the stable contract; never parse a message to decide a money retry.

HTTP recovery classes

Numeric codes

Common supporting codes include 1002 (method unavailable), 1005 (invalid method-specific request), 2002 (support dependency unavailable), 3000 (signature/replay failure), 3008 (scope/policy denied), and quota HTTP 429 errors.

Handle errors safely

Retry matrix

A transport timeout is an unknown outcome, not proof that a mutation failed. Never issue a refund with a new c_id until the original c_id has been queried or retried exactly.

Best practices

  • Alert on sustained 2002, replay failures, and quota errors separately from business conflicts.
  • Log request_id, method, public resource IDs, and your operation key; redact bodies, comments, hashes, presigned forms, and secrets.
  • Treat resource-specific 404 responses as tenant-safe and never use them as an ownership oracle.
  • See the complete platform-wide Error Codes reference.