POST /api/checkout/va
Request
| Name | Type | Required | Validation | Description |
|---|---|---|---|---|
| merchant_transaction_id | string | true | Merchant-provided unique transaction identifier. | |
| amount | string | true | Numeric, 1-12 digits | Transaction amount as a numeric value. |
| currency | string | true | Allowed value: "IDR" | Transaction currency (only Indonesian Rupiah supported). |
| customer_name | string | true | 5-25 characters, Allowed: a-z A-Z 0-9 - (space) | Customer name linked to the transaction. |
| product_name | string | true | 5-25 characters, Allowed: a-z A-Z 0-9 - (space) | Product name linked to the transaction. |
| description | string | false | Optional transaction information. | |
| success_redirect_url | string | false | URL to redirect the customer upon successful payment. Also supports mobile deep link URLs. |
{
"merchant_transaction_id": "ICZ10000001",
"amount": "100000",
"currency": "IDR",
"description": "Lorem Ipsum",
"customer_name": "John Doe",
"product_name": "Product Test",
"success_redirect_url": "https://example.com/success"
}
Response
| Name | Description |
|---|---|
| transaction_id | System-generated unique transaction identifier. |
| client_id | Client identifier of the requesting party |
| amount | Numeric representation of the transaction amount. |
| currency | Currency code used in the transaction (IDR is the only supported currency). |
| description | Transaction description text. |
| customer_details | Customer information, returned as a JSON-encoded string — parse it before reading the fields below. |
| customer_details.customer_name | Customer name for this transaction. Available only after parsing customer_details. |
| customer_details.product_name | Product name for this transaction. Available only after parsing customer_details. |
| customer_obj | The same customer information as customer_details, returned as a JSON object. No parsing needed. null if customer_details is empty or not valid JSON. |
| checkout_url | Web URL where users can complete payment through their browser. |
| success_redirect_url | URL to redirect the customer upon successful payment. Also supports mobile deep link URLs. |
{
"transaction_id": "9e536777-2bfa-4161-9931-35f5c4b23faf",
"client_id": "9dbf86be-f9e9-4000-8b39-fdd5a841fce1",
"amount": "100000",
"currency": "IDR",
"description": "Order Product",
"customer_details": "{\"customer_name\":\"John Doe\",\"product_name\":\"Product Test\"}",
"customer_obj": {
"customer_name": "John Doe",
"product_name": "Product Test"
},
"checkout_url": "{host}/checkout/va/9e536777-2bfa-4161-9931-35f5c4b23faf",
"success_redirect_url": "https://example.com/success"
}
Payment Expiry (TTL)
Webhook