Virtual Account

Overview

Virtual Accounts (VA) are temporary bank accounts where the money flows to when a bank transfer payment takes place. The virtual account is generated by our bank and the money is stored in our master account before being transferred into your Cash Account.

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.

Benefits of using Virtual Accounts

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

We offer 2 solutions for our Virtual Account payment method:

Dynamic VAs: Suitable for invoices and checkouts

Features:

  • Create a unique VA for each payment
  • Specify the expected payment amount
  • Reject payments made with the incorrect amount
  • Set an expiration for the VA

Use-cases:

  • For marketplaces or social sellers with many one-time customers

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.

Static VAs: Suitable for each customer and account

Features:

  • Assign a unique VA to each customer or account
  • Customers can make payments of any amount
  • Receive callback notifications when payments are made

Use-cases:

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

Using the Virtual Account payment method

Payment limits

Maximum amount (SGD)
20,000

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 customers to make the funds transfer through the online service of their bank or an Automated Teller Machine (ATM). For payment methods that require customer's action, we recommend setting up callbacks so that you can be notified whether payment has succeeded or not.

🚧

Payment notification delays

Bank transfer payment notifications may be delayed. In such cases, 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 and not fulfil the order until the payment is successful.

Refunds

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 Dynamic VA for a One-Time Payment

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

Find out more in our API Docs: Payments

Creating a Static VA for Unlimited Payments

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

Find out more in our API Docs: Payment Methods

Displaying the Virtual Account payment method

The below photo shows an example of how you can display the Virtual Account payment method on your user interface.

1350