Create a Virtual Account
Send aPOST request to /virtual-accounts to reserve a dedicated account number for a customer.
Request
A successful response returns the reserved bank account details:
Response
Look Up a Virtual Account
By Account Reference
To fetch the details of an existing virtual account, callGET /virtual-accounts/{account_reference}:
Request
By Customer Email
If you only have a customer’s email address, use aPOST request to /virtual-accounts/email:
Request
Response
If multiple virtual accounts share the same email address (for example, accounts created across different environments), the API returns the most recently created one.
Monitor Incoming Transactions
Retrieve a paginated list of all payments received into your virtual accounts atGET /merchants/virtual-accounts/transactions.
Example request
A typical entry in the transactions list looks like:
Single transaction (example)
Handle Webhook Events
When a customer completes a transfer to a virtual account, Paylink fires ava_charge_success webhook event to the URL you configured on your merchant dashboard.
Webhook payload (example)
account_reference and any values you stored in metadata to identify which customer sent the payment and credit their account in your system.
A va_charge_failure event is fired when an incoming transfer to a virtual account cannot be processed. Listen for this event to alert your team or notify the customer to retry.