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.


Payment Flow Diagram
Payment method screen

Workflow explanation

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

    1. 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.
    2. 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
    3. The customer can easily pay by scanning the QR code or by making a direct transfer to the issued VA number.
    4. As soon as the transaction is successfully completed, the bank automatically sends 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 to the customer.

Key advantages

Absolute accuracy

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

Fully independent

Each order has its own VA, so it doesn’t rely on transfer notes, avoiding errors caused by customers entering incorrect content.

Maximum safety

The VA is automatically canceled after successful payment or upon expiration, completely preventing duplicate payments.

Easy integration

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