Skip to main content


Feature Suite

Virtual Account (Bank Transfer) is a very popular payment method in Indonesia. Lots of business models starting from E-Commerce, Online Shop, Online Booking, to Online Loans using a Virtual Account as one of the payment methods. For this reason, Xendit provides the flexibility to use a Virtual Account according to the needs of your business. Below is a list of features that you can use to meet your business needs.

Fixed Virtual AccountVirtual Account that is tied to your customer's name. This type of Virtual Account can be created according to the Virtual Account number you want or randomly in a predetermined range.
Open-AmountVirtual Account can accept payments for any nominal value.
Close-AmountVirtual Account can only accept payments with a predetermined nominal. Close-Amount will require you to set the Expected-Amount field or the amount that the Virtual Account can accept.
Multiple-UseVirtual Account can receive payment more than once and only will become inactive when it has passed its expiration date.
Single-UseVirtual Account can only receive payment once and will become inactive afterward.
Suggested AmountVirtual Account can display the recommended amount when the customer wants to pay through payment tools (ATM, M-Banking, or Internet Banking).
Merchant NameVirtual Account can display your business name when the customer wants to pay through payment tools (ATM, M-Banking, or Internet Banking). Your business name or the name of your customer will appear when the customer is about to make a payment.
Fixed Virtual Account Binded with xenInvoiceVirtual Account that is tied to your customer's name and also tied to xenInvoice. Each payment in the FVA will make the xenInvoice that is binded to it be successfully paid.
Non-Fixed Virtual Account or xenInvoice Virtual AccountVirtual Account that is tied to xenInvoice. This type of Virtual Account is created randomly over a predetermined range and is reusable.
CallbackYou will get a notification / callback on each Virtual Account that is successfully created and paid successfully. You can set the callback URL at Note: if you want to get a callback for the expired VA, you can ask us to activate it for you through
Callback Resend AttemptIf the first notification / callback we send fails (returns the non-200 response code), we will attempt to deliver your callback six times with exponential backoff between each interval and will stop retrying until we have received response from your server or there is still no response yet. The notification / callback that we send has a validation token which you can see on your Xendit dashboard under Settings> API Key> Validation Token. You can learn it more regarding callback resend here.

Please visit our API reference for Virtual Account at for more detail.

Use Cases

Below are some combinations of features that you can use to meet the needs of the popular use cases in virtual accounts.

Virtual Account Use Case

Payment Simulation

You already understand the feature, now is the time to try it, please visit the following article to see a guide to simulate Virtual Account payment.

Was this page helpful?