English
API ReferenceSign In

Feature List

Last updated 03/20/2021

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.

FeatureFunction
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 at the following banks: BCA, BNI, BNI Syariah, and BRI.
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 dashboard.xendit.co/settings/developers#callbacks. Note: if you want to get a callback for the expired VA, you can ask us to activate it for you through help@xendit.co
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 developers.xendit.co/api-reference/#virtual-accounts for more detail.

Use Cases

E-Commerce, Online Shop, or Booking

To support payments for E-Commerce, Online Shop, or Booking where each transaction will have its own invoice, you can use a Virtual Account on xenInvoice which will directly activate the Non-Fixed Virtual Account or xenInvoice Virtual Account. You can also use Fixed Virtual Account Binded with xenInvoice in this use case.

Credit/Balance Top Up

To support Credit Top-Up payments where customers can make payments with the desired nominal, you can use the Virtual Account feature by setting the following configurations:

  • Fixed Virtual Account (so that the Virtual Account is tied to the name of the customer)
  • Open-Amount (so that customers can top-up the amount they want)
  • Multiple-Use (so that customers can top-up more than once)
  • Suggested -Amount (so that customers get nominal recommendations for top-ups)

P2P Lending or Online Loan

To support online loan payments where customers can make loan installment payments, you can use the Virtual Account feature by setting the following configurations:

  • Fixed Virtual Account (so that the Virtual Account is tied to the name of the customer)
  • Open-Amount (so that customers can top-up the amount they want)
  • Multiple-Use (so that customers can top-up more than once)
  • Suggested -Amount (so that customers get nominal recommendations for top-ups)

Subscription

To support subscription payments (for example weekly or monthly) where customers can make payment payments more than once, you can use the Virtual Account feature by setting the following configuration:

  • Fixed Virtual Account (so that the Virtual Account is tied to the name of the customer)
  • Close-Amount (So that the customer can only make installments with a predetermined nominal). You also have to set the expected nominal in the expected_amount field.
  • Multiple-Use (so that customers can make payments more than once with the same Virtual Account number)

Note: If you don’t have a recurring workflow in place, you can use our recurring API to make your subscription payment workflow work. Please visit this page to learn more about recurring API https://developers.xendit.co/api-reference/#create-a-recurring-payment.

One-time Payment

To support one-time payments, you can use the Virtual Account feature by setting the following configurations:

  • Fixed Virtual Account (so that the Virtual Account is tied to the name of the customer)
  • Close-Amount (so that the customer can only make one payment with a predetermined nominal). You also have to set the expected nominal in the expected_amount field.
  • Single-Use (Virtual Account cannot be used again if it has been paid).

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.