Order-based VA API
The order-based VA (Virtual Account) API is an automated payment confirmation solution. Instead of using a fixed VA, each order is issued its own VA with an exact matching amount.

Workflow explanation
When a customer pays via a VA (Virtual Account), the entire process is handled automatically through the following steps:
- After the customer completes an order on your website, the system automatically connects to SePay via API to create a new order. SePay returns a unique VA number for this order.
- Your website immediately displays the payment information to the customer, including:
- The VA account number to transfer to
- The exact amount to be paid
- The VA validity period
- A QR code for quick payment
- The customer can easily pay by scanning the QR code or by making a direct transfer to the issued VA number.
- As soon as the transaction is successfully completed, the bank automatically sends a notification to SePay to confirm the payment.
- SePay receives the notification and immediately forwards this information to your website via Webhook.
- Your system processes the received information, updates the order status, and displays a successful payment confirmation to the customer.
Key advantages
The VA only accepts the exact order amount; if the customer transfers the wrong amount, the banking app will immediately report an error.
Each order has its own VA, so it doesn’t rely on transfer notes, avoiding errors caused by customers entering incorrect content.
The VA is automatically canceled after successful payment or upon expiration, completely preventing duplicate payments.
A professionally designed RESTful API with comprehensive documentation, making it easy to integrate into any platform.
Supported banks
See the business documentation for the Order-based VA API Here