Skip to main content
The Disbursement API lets you programmatically transfer funds from your Singapay balance to any Indonesian bank account. Use it to automate payouts to vendors, sellers, employees, or customers — with built-in fee checking and beneficiary validation before committing to a transfer.
This is a Money Out operation. Each disbursement debits funds from your Singapay Payment Gateway account and transfers them to the destination bank account.

Pre-transfer validation

Verify beneficiary bank account name and check fees before initiating any transfer.

Real-time status

Query disbursement status by reference number at any point in the transfer lifecycle.

Multi-bank coverage

Transfer to all major Indonesian banks using bank code or SWIFT code.

1

Check beneficiary account

Call Check Beneficiary Bank Account to validate the destination account number and retrieve the registered account holder name. Confirm with the user before proceeding.
2

Check disbursement fee

Call Check Disbursement Fee to get the gross amount, fee, and net amount for the destination bank. This ensures transparency before the transfer is committed.
3

Initiate transfer

Call Disburse Transfer with the validated account details and confirmed amount. A unique reference_number is returned to track the transaction.
4

Track status

Use Inquiry Disbursement Status with the reference_number to poll or verify the final transfer status — especially for pending transactions.

Disbursement status

StatusDescription
pendingTransfer initiated, awaiting processing by the bank network.
successFunds successfully transferred to the destination account.
failedTransfer failed — check the error code for the reason.

Important notes

Use Check Beneficiary before every transfer to confirm the account number is active and retrieve the registered name. Transfers to invalid accounts may result in failed or reversed transactions.
Disbursement fees vary by destination bank. Use Check Disbursement Fee to get an accurate breakdown of gross, fee, and net amounts before committing to a transfer.
The bank_code field accepts either a 3-digit numeric code (e.g. 014 for BCA) or a SWIFT code (e.g. CENAIDJA). Both formats are supported on the Check Beneficiary and Transfer endpoints.
The Disburse Transfer and Inquiry Status endpoints require an additional X-Signature and X-Timestamp header using internal signing rules — separate from the standard Bearer token auth.
Always store the reference_number returned from a transfer. Use it to query status and handle retries safely — submitting the same reference number twice will not create a duplicate transfer.

Available endpoints

List Disbursements

Paginated list of disbursement transactions for an account (last 12 months).

Get Disbursement by Transaction ID

Retrieve a single disbursement by its business transaction_id string.

Check Disbursement Fee

Get gross, fee, and net breakdown for a destination bank before transferring.

Check Beneficiary Bank Account

Validate destination account number and retrieve the registered account holder name.

Disburse Transfer

Initiate a bank transfer from your Singapay balance to the destination account.

Inquiry Disbursement Status

Query the current status of a disbursement by reference number.
All endpoints require authentication, including X-Signature and X-Timestamp on transfer endpoints. See Authentication.