Skip to main content


Who can I disburse to? 

BanksIndonesia: 140+ banks
Philippines: 50+ banks
Virtual AccountsIndonesia: Disburse to VAs of major Indonesian banks: BRI, BNI, Mandiri, CIMB Niaga, Permata, BTN, and NOBU Bank
E-WalletsIndonesia: Gopay, OVO, DANA, Linkaja, Shopeepay
Philippines: Paymaya, GCASH, Coins, Grabpay, Starpay

Bank Accounts

We have direct connections to multiple banks that enable us to send disbursements to 140+ banks in Indonesia and 50+ banks in the Philippines. See all available bank destinations or get the full list via our Get available disbursement banks API.

Virtual Accounts

We support disbursements to VAs of major banks (BRI, BNI, Mandiri, CIMB Niaga, Permata, BTN, and NOBU Bank). The disbursement will be subject to that bank’s limits, if any.

E-wallet top-ups

We support disbursements into all Indonesia e-wallets and some Philippines e-wallets. You can transfer funds directly to the e-wallets of your customers. Simply use the following input in a disbursement request:

  • bank_code or channel_code = code of the destination e-wallet (example: GOPAY, PH_GCASH)
  • account_holder_name or account_name = name of the account holder, per the e-wallet’s records
  • account_number = phone number registered with the e-wallet (example: ID - 0812XXXXXXXXX, PH - 09XXXXXXXXX)

As we will execute the transfer to the e-wallet account tied to the specified phone number, please ensure that you have entered the correct phone number in the request. The disbursement will appear as a top up on your customer’s e-wallet. View sample screenshots on recipient wallets here.

Please note that each e-wallet imposes a limit on the amount of balance a user can hold in their wallet. In the event that a disbursement will bring a user’s balance above the prescribed maximum balance, the transfer will fail.

View limits and processing times of all supported destinations.

Supported Currencies

We support disbursements in IDR and PHP. We accept top-ups in IDR, PHP and in foreign currencies. Please contact us if you require PHP disbursements or foreign currency top-ups.

Instant processing

Each disbursement request is processed instantly. Please note that you are unable to cancel a disbursement request once it has been made.

Upon sending a disbursement request, we return a response notifying you that the disbursement is pending. This means that the disbursement is being processed.

Error Handling

We return error details for each transaction, which you may view on the Dashboard.  where disbursements fail for any reason. For disbursements created using API, error codes are provided in API callbacks.

Failure can be due to a range of factors, including invalid API inputs, network errors, and rejection by banks. We provide a comprehensive list of all possible error codes you may receive, detailed explanation on what each error code means and corresponding recommendations on next steps, so that you know whether you should retry the disbursement and the recommended time frame for retrying. See failure codes.

Batch disbursement features

Execute multiple disbursement transactions through a single excel file upload with Batch Disbursements. This removes the time and hassle of executing many transfers one by one, reduces the risk of manual errors and ensures you pay your suppliers and customers on time.

Key features:

  • Comes ready to use--no technical integration required
  • Send up to 10,000 disbursements in a go
  • You can multiple users in your team and implement controls by configuring user permissions
  • Our system automatically checks the recipient bank details for any errors

No technical integration required

Use our easy-to-use dashboard interface to manage all disbursements. Once you create an account with us, you can start testing and using batch disbursements. See Onboarding and Activation.

Send up to 10,000 disbursements in a go

There are two ways you can create a batch disbursement:

  • Upload an excel file with up to 10,000 disbursements; or
  • Send us an API request, which can contain up to 1000 disbursements.

User permissions

You can invite multiple users of your team to access a Xendit account and collaborate on the disbursement process. To restrict the actions they can perform, you can define their user roles to limit their access. Each team member must be assigned a role when they are added. Each of your invited users receive an email which guides them to sign up for their own Xendit account.

To view and manage user permissions, please go to Dashboard > Settings > Your team > Team members.

To use batch disbursements, you’ll need at least one user with Edit access and one with Approve access (this can be the same person). A user with Edit access can create and edit disbursements. A user with Approver access has the ability to approve batch disbursements.

Bank account and name validation

When you upload a batch, we automatically validate transaction details to check for errors to pre-empt wrong or failed disbursements. After validation, you’ll be able to see any issues with disbursement details. You can fix all issues directly on the Dashboard before proceeding with the transfers.

Possible validation errors include:

  • Account does not exist. This means that the account number you entered is invalid. You should edit the account number before proceeding.
  • Account Name mismatch. This means that your account name input does not match bank records. You should check whether the destination account number is correct. If needed, edit the bank account number / bank account name before proceeding.
Was this page helpful?