
VA Transactions
This endpoint allows you to retrieve the details of a specific Virtual Account (VA) transaction by its ID.
| Method | Path | Format | Authentication |
|---|---|---|---|
| GET | /api/v1.0/va-transactions/{account_id}/{transaction_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–5xx is false. | true |
| data | Object | Conditional | - | Transaction details | - |
| > transaction_id | String | Mandatory | - | Unique ID for the transaction | 6411120251024133950078 |
| > va_number | Numeric | Mandatory | - | Virtual account bank number | 7872955175492119 |
| > account | Object | Mandatory | - | Account information | - |
| >> id | String | Mandatory | - | Unique account ID | 01K8AESCCKYSD98Z3P9RSDA36W |
| >> name | Alphabetic | Mandatory | - | Account holder name | Travelan |
| String (Email) | Optional | - | Account email address | travelan@gmail.com | |
| >> phone | Numeric/String | Optional | - | Account phone number | 085673574337633 |
| > bank | Object | Mandatory | - | Bank details | - |
| >> short_name | Alphabetic | Mandatory | - | Bank short name | Maybank |
| >> number | Numeric | Mandatory | - | Bank number code | 016 |
| >> swift_code | Alphanumeric | Optional | - | SWIFT code of the bank | IBBKIDJA |
| >> bank_code | Alphabetic | Mandatory | - | Bank code (e.g., BRI, DANAMON, MAYBANK) | MAYBANK |
| > notes | String / Null | Optional | - | Additional information or remarks | null |
| > status | Alphabetic | Mandatory | - | Transaction status (paid, unpaid) | paid |
| > fees | Object | Optional | - | Transaction fee details | - |
| >> name | Alphabetic | Optional | - | Name of the fee | VA Maybank |
| >> amount | Decimal | Optional | - | Fee amount | 1500.00 |
| >> currency | Alphabetic | Optional | 3 | Fee currency | IDR |
| > amount | Object | Mandatory | - | Total transaction amount | - |
| >> value | Decimal | Mandatory | - | Transaction amount value | 1000000.00 |
| >> currency | Alphabetic | Mandatory | 3 | Currency of transaction amount | IDR |
| > post_timestamp | Timestamp | Mandatory | - | Date requested (Unix Timestamp in milliseconds) | 1761714866693 |
| > processed_timestamp | Timestamp | Mandatory | - | Date when transaction was processed (Unix Timestamp in ms) | 1761287991000 |
| > has_settle | Boolean | Mandatory | - | Indicates whether the transaction has been settled | true |
| > settle_at | Timestamp/Null | Optional | - | Date when transaction was settled (Unix Timestamp in ms) | 1761288100000 |
Success: Here’s an example of a successful response.
{
"status": 200,
"success": true,
"data": {
"transaction_id": "6411120251024133950078",
"va_number": "7872955175492119",
"account": {
"id": "01K8AESCCKYSD98Z3P9RSDA36W",
"name": "Travelan",
"email": "travelan@gmail.com",
"phone": "085673574337633"
},
"bank": {
"short_name": "Maybank",
"number": "016",
"swift_code": "IBBKIDJA",
"bank_code": "MAYBANK"
},
"notes": null,
"status": "paid",
"fees": {
"name": "VA Maybank",
"amount": "1500.00",
"currency": "IDR"
},
"amount": {
"value": "1000000.00",
"currency": "IDR"
},
"post_timestamp": "1761714866693",
"processed_timestamp": "1761287991000",
"has_settle": true,
"settle_at": "1761288100000"
}
}