Skip to main content

Initiate fund transfer

You can transfer funds between sellers using our fund transfer API. This allows you to move money from one seller’s payout destination to another.
Fund transfers are processed asynchronously, meaning you’ll receive a confirmation that the request was received, but the actual result will appear in the settlement report.

Ensuring safe retries

Each transfer request requires a unique fund_transfer_id. This ID ensures idempotent processing, meaning if a request fails (for example, due to a timeout), you can safely retry it using the same fund_transfer_id. This avoids accidentally creating duplicate transfers. The API will recognize it’s the same request and not process it again.

Error codes

For full details, see our API documentation for fund transfers.

Testing fund transfers

You can test fund transfers using your sandbox account.
Sandbox account IDs use a T prefix.

Initiate a test fund transfer

Initiate a fund transfer using your sandbox account_id and credentials. POST /payout-destinations/{payout_destination_id}/fund-transfers
Request

Simulating error responses

Insufficient funds Set reference to "ERR_INSUFFICIENT_FUNDS" to simulate an HTTP 400 response:
Timeout followed by an idempotent retry Set reference to "TIMEOUT" to simulate an HTTP 500 response, i.e. the outcome of the request is unknown. Retrying the identical request using the same fund_transfer_id and payload will return the original fund transfer as a successful response.
Last modified on November 4, 2026