New Virtual Account

Create a Virtual Account for an existing customer. Virtual Account is a Bank account number issued to a Finmo Wallet. The Virtual account can receive funds from any bank using the bank’s own tools.

Merchants who wish to enable the Virtual Account creation should contact the Finmo support team at [email protected], and we will review your request promptly. Please ensure to use your registered email and include your organization ID in the email.

Virtual accounts can be classified into two types:

  1. Static VA: As the name suggests, Static VAs are fixed and function like a regular bank accounts. Once issued, they can be reused indefinitely for multiple transactions. There are no restrictions on the amount that can be transferred to a Static VA.

  2. Dynamic VA: Dynamic VAs are generated for specific transactions, with each account number being unique to a particular purpose and amount. While beneficial for reconciliation, Dynamic VAs can be somewhat inconvenient for consumers, as they must transfer funds to a new account number for each transaction. Additionally, some banks may impose restrictions on the amount or have a waiting period for newly added beneficiaries. Finmo supports both types of VAs depending on the market.

Virtual Accounts in Various Markets

  • Australia: Virtual Accounts can be issued in the form of a BSB and Account Number, a static PayID, or an account proxy, e.g., [email protected].

  • Singapore: Virtual Accounts are issued solely as Account Numbers.

  • EU and UK: Virtual Accounts are issued as IBANs.

  • Indonesia: Virtual Accounts are issued as account numbers, where the first six digits identify the issuing bank. Dynamic VAs are especially popular in Indonesia, with 80-90% of eCommerce transactions conducted via Dynamic VAs.

Popular Use-cases

  • Remittances: Generate a Virtual Account and issue it to customers who frequently transfer funds. This way, customers do not need to change account numbers for each transfer.

  • Fiat or Digital Currency Wallet Top-ups: Issue a VA to wallet users, allowing them to easily load funds and transact on your platform.

Body Params
string
required

VA currency

string
required

Customer reference (customer_*)

string
enum

Scope of the VA, can be "CUSTOMER" or "MASTER"

Allowed:
string
required

Conditionally required: Either credit_wallet_id or credit_wallet_category should be present. Wallet ID is needed when a customer is linked to more than one wallet. If you pass a customer_id and its linked to a customer wallet, all funds are deposited there. But if the customer_id is linked to your Organization Payin wallet then you don't need to provide it here. However if you pass both the Customer_id and the wallet_id and both of them are not linked then the API would give an error. If you pass a customer wallet only and nothing in customer_id, API will still work.

string
enum
required

Conditionally required: Either credit_wallet_id or credit_wallet_category should be present Credit Wallet Category. Category can be "PAYIN", "PAYOUT", "FEES", "GENERAL".

Allowed:
string

Fees Wallet ID

string

VA reference or description can be passed

string
required

Payment method name. If you pass a Payin Method here that does not support the currency you passed, the API will fail

payin_method_param
object

Provide the params required by the Payin method

string

A reference you can later use to identify this payment, such as an order number. Can only be alphanumeric and must be unique for Benefit.

string
metadata
object

Custom Data

Responses

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json; charset=utf-8