
Virtual Account
This feature is used to find out information regarding the details of virtual accounts in an account.
| Method | Path | Format | Authentication |
|---|---|---|---|
| GET | /api/v1.0/virtual-accounts/{account_id}/{virtual_account_id} | json | OAuth 2.0 with Access Token |
| Field | Value | Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|---|
| X-PARTNER-ID | api_key | Alphanumeric | Mandatory | API key obtained from the merchant dashboard. | b3ed7d4b-a96c-6c08-b3c7-12c3124242d9 | |
| Accept | application/json | Alphabetic | Mandatory | Specifies JSON as the expected response format. | application/json | |
| Authorization | Bearer {bearerToken} | Alphanumeric | Mandatory | Bearer token obtained from the get access token endpoint. | Bearer eyJ0eXAiOiJKV1{…} |
| Field | Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| status | Numeric | Mandatory | 3 | HTTP Status Code | 200 |
| success | Boolean | Mandatory | 1 | 2xx is true. 4xx-500 is false. | true |
| data | Object | Conditional | - | - | - |
| > id | String | Mandatory | - | virtual account id | 01K9EH4HTX4921FCYE01RPVQ87 |
| > number | String | Mandatory | - | Virtual account number | 9090583126022726 |
| > merchant_reff_no | String | Optional | 255 | Merchant reference number for tracing | INV-2026-001 |
| > code | String | Mandatory | - | Virtual account code | VA_BRI |
| > bank | Object | Mandatory | - | Bank details | - |
| >> short_name | String | Mandatory | - | Short name of the bank | BRI |
| >> number | String | Mandatory | - | Bank’s numeric code | 002 |
| >> swift_code | String | Mandatory | - | Bank’s SWIFT code | BRINIDJA |
| > amount | Object | Mandatory | - | Amount details | - |
| >> value | String | Mandatory | - | Balance amount | 100000.00 |
| >> currency | String | Mandatory | 3 | Currency code | IDR |
| > amount_type | Enum | Mandatory | - | Type of amount: open or closed | closed |
| > min_amount | Object/Null | Conditional | - | Min amount details (only for open VA, null for closed) | null |
| >> value | Decimal | Conditional | - | Min amount value | 10000.00 |
| >> currency | Alphabetic | Conditional | 3 | Currency code | IDR |
| > max_amount | Object/Null | Conditional | - | Max amount details (only for open VA, null for closed) | null |
| >> value | Decimal | Conditional | - | Max amount value | 5000000.00 |
| >> currency | Alphabetic | Conditional | 3 | Currency code | IDR |
| > status | String | Mandatory | - | Status of virtual account. e.g. active or expired | active |
| > kind | String | Mandatory | - | temporary or permanent | permanent |
| > current_usage | Numeric | Mandatory | - | Current number of times the VA has been used | 1 |
Success: Here’s an example of a successful response.
{
"status": 200,
"success": true,
"data": {
"id": "01K9EH4HTX4921FCYE01RPVQ87",
"number": "9090583126022726",
"merchant_reff_no": "INV-2026-001",
"code": "VA_BRI",
"bank": {
"short_name": "BRI",
"number": "002",
"swift_code": "BRINIDJA"
},
"amount": {
"value": "100000.00",
"currency": "IDR"
},
"amount_type": "closed",
"min_amount": null,
"max_amount": null,
"status": "active",
"kind": "permanent",
"current_usage": 1
}
}