The Inquiry Transaction Status endpoint allows you to check the latest status of an e-wallet top-up transaction. This is particularly useful when a transaction initially returns with a “Pending” status, or to confirm final transaction results.
| Method | Path | Format | Authentication |
|---|
| POST | /api/v2.0/ewallet/{account_id}/inquiry-status | 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… |
| Key | Data Type | Mandatory | Description |
|---|
| reference_number | String | YES | Unique transaction identifier from trigger top-up request (Max: 64 chars) |
| Key | Data Type | Mandatory | Description |
|---|
| response_code | String | YES | Response code (see Response Code appendix) |
| response_message | String | YES | Response message (see Response Code appendix) |
| data | Object | No | Conditional parameter (present on success) |
| > transaction_id | String | YES | ID transaction created by system |
| > transaction_status | Object | YES | Transaction status (see Transaction Status appendix) |
| >> code | String | YES | Status code (e.g., “00”, “03”) |
| >> desc | String | YES | Status description (e.g., “Success”, “Pending”) |
| > reference_number | String | YES | Your unique transaction identifier (Max: 64 chars) |
| > ewallet | Object | YES | E-wallet details |
| >> code | String | YES | E-Wallet vendor code |
| >> customer_number | String | YES | Customer’s e-wallet account number |
| >> customer_name | String | YES | Customer’s e-wallet account name |
| > post_timestamp | String | YES | Request time with Unix timestamp millisecond format |
| > processed_timestamp | String | YES | Finish processed time with Unix timestamp millisecond format |
| > balance_after | Object | YES | Balance after transaction of account |
| >> value | String (ISO 4217) | YES | Amount with 2 decimal digits |
| >> currency | String (ISO 4217) | YES | Currency code (IDR) |
| > amount | Object | YES | Net amount received by customer |
| >> value | String (ISO 4217) | YES | Amount with 2 decimal digits |
| >> currency | String (ISO 4217) | YES | Currency code (IDR) |
| > fee_amount | Object | YES | Total fee per transaction charged to merchant (based on agreement) |
| >> value | String (ISO 4217) | YES | Amount with 2 decimal digits |
| >> currency | String (ISO 4217) | YES | Currency code (IDR) |
| > gross_amount | Object | YES | Total balance deducted from merchant account (amount + fee_amount) |
| >> value | String (ISO 4217) | YES | Amount with 2 decimal digits |
| >> currency | String (ISO 4217) | YES | Currency code (IDR) |
{
"reference_number": "735463554"
}
{
"response_code": "SP000",
"response_message": "Successful",
"data": {
"transaction_id": "112220251111135424691",
"transaction_status": {
"code": "00",
"desc": "Success"
},
"reference_number": "123456789123",
"ewallet": {
"code": "DANA",
"customer_number": "082199722404",
"customer_name": "Adnan"
},
"post_timestamp": "1762844064000",
"processed_timestamp": "1762844065000",
"balance_after": {
"value": "120000.00",
"currency": "IDR"
},
"amount": {
"value": "21000.00",
"currency": "IDR"
},
"fee_amount": {
"value": "500.00",
"currency": "IDR"
},
"gross_amount": {
"value": "21500.00",
"currency": "IDR"
}
}
}
{
"response_code": "SP009",
"response_message": "Timeout",
"data": {
"reference_number": "176458254538481",
}
}
- Use this endpoint to check transaction status after Trigger Top Up
- If transaction status is “Pending” (code: “02” or “03”), use Inquiry Status API to check for updates after a few minutes
- ⚠️ IMPORTANT: Never create a new transaction with the same amount while an existing transaction is pending. Always verify the status first to avoid double charges
- Always check
transaction_status.code to determine if the transaction succeeded:
- “00” = Success
- “03” = Pending (verify status using Inquiry Status API)
- “06” = Failed
- Refer to the Response Code appendix for all possible response codes
- Refer to the Transaction Status appendix for all possible transaction statuses
- Call Inquiry Account to validate beneficiary
- Call Trigger Top Up to initiate transaction
- If status is “Pending” (code: “02” or “03”), use Inquiry Status API to check for updates
- Repeat step 3 after a few minutes if still pending - ⚠️ DO NOT create a new transaction with the same amount