Virtual Account
Virtual Account
Virtual Account (VA) is a payment method that allows you to create unique virtual account numbers for each customer or transaction. One Virtual Account can receive multiple payments over time, with each payment recorded as a separate VA Transaction.
💡 Virtual Account Payment Flow
Virtual Account vs VA Transactions
Understanding the relationship:
Virtual Account (Parent)
- • Reusable payment instrument
- • Has unique VA number
- • Configured with fixed amount
- • Can be temporary or permanent
VA Transaction (Child)
- • Individual payment records
- • Linked to one Virtual Account
- • Tracks status & settlement
- • One VA = Multiple transactions
Example: VA 8890-1234-5678 receives 3 payments → 3 VA Transaction records created
Important Notes
- • One VA, Multiple Transactions: A single Virtual Account can receive multiple payments. Each payment is tracked separately as a VA Transaction.
- • Temporary VA: Expires based on your setting. Can have usage limit (max_usage) to control how many times it can be paid.
- • Permanent VA: Does not expire. Can be used for recurring payments from the same customer.
- • Amount Matching: System validates that the payment amount matches the VA's configured amount.
- • Cannot Delete VA with Transactions: Once a VA has received payments, it cannot be deleted to maintain transaction history integrity.
- • Transaction History: Use the VA Transaction API to view all payments made to a Virtual Account.

