Skip to main content
MyGigsters Payments uses conventional HTTP response codes to indicate the success or failure of an API request. In general: codes in the 2xx range indicate success, codes in the 4xx range indicate an error caused by the provided information (e.g., missing required fields, invalid BSB, expired token), and codes in the 5xx range indicate an error with MyGigsters or banking gateway servers.

Error response format

When an error occurs, the server responds with an HTTP status code and a JSON payload detailing the error code, machine-readable type, and human-friendly explanation.

HTTP status codes

Error codes

Every error code returned across the MyGigsters Payments platform, complete with HTTP status, common causes, and actionable resolution steps.

Handling errors

Retry transient failures

For 5xx server errors and rate limits (429), your application should automatically retry the request. Always use exponential backoff with jitter to avoid stampeding the server. For example, wait 1s, then 2s, then 4s, adding a random variance (jitter) to each interval. Check the Retry-After HTTP header returned in 429 responses.

Retry safely with an idempotency key

Whenever retrying state-changing requests (like creating a charge, refund, or payout), always pass the exact same Idempotency-Key header. This guarantees that if a network timeout occurs after the payment was processed, retrying the request will return the original saved result without performing a duplicate transaction.

Switch on the error code

Always inspect the machine-readable error_code attribute rather than parsing the human-readable message string. Error messages may be clarified or localized over time, while error_code values remain strictly backwards-compatible.
Last modified on November 10, 2026