Virtual Account

Virtual accounts are temporary bank accounts where the money flows to when a Bank Transfer transaction takes place. The virtual account is generated by our bank and the money is stored in our master account before being transferred into your Xfers General Wallet. Each virtual account created is unique, which allows businesses to easily identify the paying customer and the purpose of payments. Therefore, VAs are extremely effective in accounts reconciliation.

Xfers offers 2 solutions for our Virtual Account mode of payment;

1. Unlimited VA — suitable for each customer & account


  • A unique VA can be assigned to each of your customers
  • Customers can enter the payment amount manually
  • Ability to set a time-validity period before VA expires


  • For investment platforms, where no fixed amount is needed for deposits
  • For making top-ups to an e-wallet

2. One-Time VA — suitable for invoices & checkouts


  • VA changes with each transaction
  • Customer will be able to copy the required back details onto his i-Banking App.
  • You have the ability to set a time-validity period for the VA to expire in case it was unused. If not, the VA will automatically expire after the transaction takes place.


  • For marketplaces or social sellers with many one-time customers
  • For merchants who offer fixed pricing for your products

Your customer also doesn't need to manually send you a screenshot or inform you of the payment because we will do that for you.

Benefits of using Xfers VA

  1. Save time and effort of having to manually reconcile bank transfer payments
  2. No need to open bank accounts across various banks.
  3. You will be notified of the payment response almost instantaneously when your customer has made the payment.

Find out more about our Virtual Accounts via the link below;

Payment Limits

Maximum Amount (SGD))


Payment Availability

Virtual Accounts are usually available throughout the day.

Payment responses are typically fast. However, if the customer has made a payment using a bank account from a different bank to the Virtual Account, there may be a delay of up to a few working hours.

Payment Notifications

When using virtual accounts as a payment method, please note that this will require further customer action to complete the payment. Customers will be required to make the funds transfer through their bank’s online service or an ATM.

  • Delayed (Asynchronous): Bank transfer payments have delayed notification and cannot guarantee payment during the delay. The status of the Payment object will be pending until the payment is either successful or failed. It’s common for businesses to hold an order in a “pending” state during this time, not fulfilling the order until the payment is successful.

For payment methods that require customer action, we recommend setting up callbacks so that you can be notified whether payment has succeeded or not.


Please note that refunds can only be done manually by our operations team at the moment.

Closing a VA

It is currently not possible to close a VA.

Creating a Payment Method (Unlimited Payment) with Virtual Account Mode of Payment

# POST api/v4/payment_methods/virtual_bank_accounts
    "data": {
      "attributes": {
        "referenceId": "customer_id_123456",
        "bankShortCode": "CIMB"

Find out more in our API Docs; Payment Methods

Creating a Payment (One-Time Payment) with Virtual Account Mode of Payment

# POST api/v4/payments/
  "data": {
    "attributes": {
      "amount": "100",
      "referenceId": "ORDER_0001",
      "description": "This is the first order",
      "paymentMethodType": "virtual_bank_account",
      "paymentMethodOptions": {
        "bankShortCode": "cimb"},
      "expiredAt": "2021-04-30T17:48:42+07:00"

Find out more in our API Docs; Payments

Displaying the Virtual Account Mode of Payment on Front End

The below photo shows an example of how you can display the Virtual Account Mode of Payment on your Front End.


Did this page help you?