Topremit
OPEN APITopremit
OPEN APITopremit
  1. Virtual Account
  • Open API
    • Virtual Account
      • Create Virtual Account
        POST
      • Inquiry Status Virtual Account
        POST
      • Virtual Account Callback
        POST
      • Cancel Virtual Account
        POST
      • Simulate Virtual Account Payment (Test Mode Only)
        POST
    • QRIS
      • Create QRIS
      • Inquiry QRIS
      • QRIS Callback
      • Simulate QRIS Payment (Test Mode Only)
    • Fetch Access Token
      POST
  1. Virtual Account

Create Virtual Account

Developing
POST
/pg/snap/v1/transfer-va/create-va
Last modified:2025-05-19 04:29:39
Ideal for scenarios where you need to assign a dedicated VA to each transaction, such as e-commerce checkouts, invoice payments, or wallet top-ups.
This endpoint allows you to create a dynamic Virtual Account (VA) for a specific transaction. A VA provides a unique bank account number that customers can use to make payments via bank transfers. Once the payment is received, the system automatically updates the transaction status, facilitating seamless reconciliation.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://staging-uno.topremit.com/pg/snap/v1/transfer-va/create-va' \
--header 'Authorization;' \
--header 'CHANNEL-ID;' \
--header 'X-TIMESTAMP;' \
--header 'X-SIGNATURE;' \
--header 'X-PARTNER-ID;' \
--header 'X-EXTERNAL-ID;' \
--header 'Content-type:  application/json' \
--data-raw '{
    "partnerServiceId": "string",
    "customerNo": "string",
    "virtualAccountNo": "string",
    "virtualAccountName": "string",
    "trxId": "string",
    "totalAmount": {
        "value": "string",
        "currency": "string"
    },
    "expiredDate": "string",
    "additionalInfo": {
        "channel": "string",
        "description": "string"
    }
}'
Response Response Example
200 - Example 1
{
    "responseCode": "string",
    "responseMessage": "string",
    "virtualAccountData": {
        "partnerServiceId": "string",
        "customerNo": "string",
        "virtualAccountNo": "string",
        "trxId": "string",
        "totalAmount": {
            "value": "string",
            "currency": "string"
        },
        "expiredDate": "string",
        "additionalInfo": {
            "paymentId": "string",
            "channelCode": "string",
            "status": "string",
            "created_at": "string"
        }
    }
}

Request

Header Params

Body Params application/json

Examples

Responses

🟢200Success
application/json
Body

🟠400Bad Request
Previous
Virtual Account
Next
Inquiry Status Virtual Account
Built with