For the complete documentation index, see llms.txt. This page is also available as Markdown.

Error Codes

Every Global Collections API response carries a code and a message. The code indicates the processing result; the message carries a human-readable description.

Response codes

Code
Status
Description

1

SUCCESS

The request was processed successfully.

2

FAILED

An error occurred during processing. See message for details.

99

PROCESSING

The request was accepted and is being processed asynchronously.

Many Global Collections operations are asynchronous. A code of 1 or 99 on a create/initiate request means the request was accepted — the final outcome is delivered later via a webhook (see Event Notification) or can be polled with the matching query endpoint.

Common failure reasons

When code = 2, the message field describes the cause. Frequently seen reasons:

Reason
Description

INVALID_TOKEN

The Bearer token is missing, expired, or invalid.

DUPLICATE_REQUEST_ID

The requestId was already used for a different operation.

VALIDATION_ERROR

A request field failed validation (type, length, enum, regex).

RESOURCE_NOT_FOUND

The referenced resource ID does not exist.

SUB_MERCHANT_NOT_ACTIVATED

The sub-merchant is not yet onboarded / activated.

MATERIAL_REQUIRED

Supplementary KYC / payer / funds-nature material must be submitted.

INSUFFICIENT_BALANCE

The account balance is insufficient for the requested payout.

FX_TOKEN_EXPIRED

The FX / payout inquiry token has expired; request a new quote.

Asynchronous status values

Resource-level status enums (for example virtual account, collection order, payout, FX order, sub-merchant) are documented in each endpoint's response table and in the relevant webhook document. They are distinct from the response code above.

Last updated

Was this helpful?