VA Order API

VA (Virtual Account) Order API is a solution for automating payment confirmation. Instead of using a fixed VA, each order will be assigned a unique VA with an exact matching amount.


Payment Flow Diagram
Click to expand
Payment method screen

How It Works

When a customer makes a payment via VA (Virtual Account), the entire process is automatically handled through the following steps:

  1. After the customer completes an order on your website, the system will automatically connect to SePay via API to create a new order. SePay will return a unique VA number for this order.
  2. Your website immediately displays the payment information to the customer, including:
    • VA account number for transfer
    • Exact amount to pay
    • VA validity period
    • QR code for quick payment scanning
  3. Customers can easily pay by scanning the QR code or transferring directly to the assigned VA number.
  4. As soon as the transaction is successfully completed, the bank will automatically send a notification to SePay to confirm the payment.
  5. SePay receives the notification and immediately forwards this information to your website via Webhook.
  6. Your system processes the received information, updates the order status, and displays a successful payment confirmation notification to the customer.

Key Advantages

Absolute Accuracy

VA only accepts payments for the exact order amount; if the customer transfers the wrong amount, the banking app will immediately report an error.

Complete Independence

Each order has its own VA, so it does not depend on transfer content, avoiding errors caused by customers entering wrong content.

Absolute Security

VA is automatically cancelled after successful payment or expiration, completely avoiding duplicate payment situations.

Easy Integration

Professionally designed RESTful API with complete documentation, making it easy to integrate into any platform.

Supported Banks

View the VA Order API documentation for enterprises Here