
VA Transactions
This endpoint allows you to retrieve a list of Virtual Account (VA) transactions based on VA Number.
| Method | Path | Format | Authentication |
|---|---|---|---|
| GET | /api/v1.0/va-transactions/{account_id}/detail-by-va-number/{va_number} | json | OAuth 2.0 with Access Token |
| Parameter | Type | Mandatory | Description | Example |
|---|---|---|---|---|
| transaction_id | String | Optional | Filter by transaction ID (partial match) | 6411120251024133950078 |
| status | String | Optional | Filter by transaction status | paid |
| amount | Decimal | Optional | Filter by exact amount | 1000000.00 |
| amount_min | Decimal | Optional | Filter by minimum amount | 100000.00 |
| amount_max | Decimal | Optional | Filter by maximum amount | 5000000.00 |
| has_settle | Boolean | Optional | Filter by settlement status | true |
| post_timestamp_from | Timestamp | Optional | Filter by minimum post timestamp (ms) | 1761714886809 |
| post_timestamp_to | Timestamp | Optional | Filter by maximum post timestamp (ms) | 1761715000000 |
| processed_timestamp_from | Timestamp | Optional | Filter by minimum processed timestamp (ms) | 1761287991000 |
| processed_timestamp_to | Timestamp | Optional | Filter by maximum processed timestamp (ms) | 1761289000000 |
| settle_at_from | Timestamp | Optional | Filter by minimum settlement timestamp (ms) | 1761288100000 |
| settle_at_to | Timestamp | Optional | Filter by maximum settlement timestamp (ms) | 1761289000000 |
| sort_by | String | Optional | Sort by field (default: id) | id, created_at, amount |
| sort_order | String | Optional | Sort order (default: desc) | asc, desc |
| per_page | Integer | Optional | Items per page (default: 50) | 25, 50, 100 |
GET /api/v1.0/va-transactions/01K8AESCCKYSD98Z3P9RSDA36W/detail-by-va-number/7872955175492119?status=paid&amount_min=100000&amount_max=5000000
cURL Example:
curl -X GET "https://api.singapay.id/api/v1.0/va-transactions/01K8AESCCKYSD98Z3P9RSDA36W/detail-by-va-number/7872955175492119?status=paid&amount_min=100000&amount_max=5000000" \
-H "X-PARTNER-ID: b3ed7d4b-a96c-6c08-b3c7-12c3124242d9" \
-H "Accept: application/json" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
GET /api/v1.0/va-transactions/01K8AESCCKYSD98Z3P9RSDA36W/detail-by-va-number/7872955175492119?has_settle=true&sort_by=processed_timestamp&sort_order=desc
cURL Example:
curl -X GET "https://api.singapay.id/api/v1.0/va-transactions/01K8AESCCKYSD98Z3P9RSDA36W/detail-by-va-number/7872955175492119?has_settle=true&sort_by=processed_timestamp&sort_order=desc" \
-H "X-PARTNER-ID: b3ed7d4b-a96c-6c08-b3c7-12c3124242d9" \
-H "Accept: application/json" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
GET /api/v1.0/va-transactions/01K8AESCCKYSD98Z3P9RSDA36W/detail-by-va-number/7872955175492119?processed_timestamp_from=1761287991000&processed_timestamp_to=1761289000000&per_page=100&page=1
cURL Example:
curl -X GET "https://api.singapay.id/api/v1.0/va-transactions/01K8AESCCKYSD98Z3P9RSDA36W/detail-by-va-number/7872955175492119?processed_timestamp_from=1761287991000&processed_timestamp_to=1761289000000&per_page=100&page=1" \
-H "X-PARTNER-ID: b3ed7d4b-a96c-6c08-b3c7-12c3124242d9" \
-H "Accept: application/json" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
| 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 | Array Object | Conditional | - | List of transaction data | - |
| > 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, pending, unpaid, etc.) | 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) | 1761714886809 |
| > 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 |
| pagination | Object | Optional | - | Pagination information for the list of transactions | - |
| > count | Numeric | Mandatory | - | Number of records in current page | 2 |
| > total | Numeric | Mandatory | - | Total number of available records | 2 |
| > perPage | Numeric | Mandatory | - | Number of records per page | 25 |
| > currentPage | Numeric | Mandatory | - | Current page number | 1 |
| > totalPages | Numeric | Mandatory | - | Total number of pages available | 1 |
| > links | Object | Optional | - | Pagination links for next/previous pages |
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": "1761714886809",
"processed_timestamp": "1761287991000",
"has_settle": true,
"settle_at": "1761288100000"
},
{
"transaction_id": "6311120251024133622889",
"va_number": "8463861627647924",
"account": {
"id": "01K8AESCCKYSD98Z3P9RSDA36W",
"name": "Travelan",
"email": "travelan@gmail.com",
"phone": "085673574337633"
},
"bank": {
"short_name": "Danamon",
"number": "011",
"swift_code": "BDINIDJA",
"bank_code": "DANAMON"
},
"notes": null,
"status": "paid",
"fees": {
"name": "VA Danamon",
"amount": "1500.00",
"currency": "IDR"
},
"amount": {
"value": "300000.00",
"currency": "IDR"
},
"post_timestamp": "1761714886817",
"processed_timestamp": "1761287790000",
"has_settle": false,
"settle_at": null
}
],
"pagination": {
"count": 2,
"total": 2,
"perPage": 25,
"currentPage": 1,
"totalPages": 1,
"links": {}
}
}