Singapay Home Page
Logo Icon
  1. E-Wallet (Money Out)
  2. Inquiry Transaction Status

Overview

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.


Information

MethodPathFormatAuthentication
POST/api/v2.0/ewallet/{account_id}/inquiry-statusjsonOAuth 2.0 with Access Token

Request Details

Headers Structure

FieldValueTypeMandatoryLengthDescriptionExample
X-PARTNER-IDapi_keyAlphanumericMandatoryAPI key obtained from the merchant dashboard.b3ed7d4b-a96c-6c08-b3c7-12c3124242d9
Acceptapplication/jsonAlphabeticMandatorySpecifies JSON as the expected response format.application/json
AuthorizationBearer {bearerToken}AlphanumericMandatoryBearer token obtained from the get access token endpoint.Bearer eyJ0eXAiOiJKV1…

Body Structure

KeyData TypeMandatoryDescription
reference_numberStringYESUnique transaction identifier from trigger top-up request (Max: 64 chars)

Response

Response Body

KeyData TypeMandatoryDescription
response_codeStringYESResponse code (see Response Code appendix)
response_messageStringYESResponse message (see Response Code appendix)
dataObjectNoConditional parameter (present on success)
> transaction_idStringYESID transaction created by system
> transaction_statusObjectYESTransaction status (see Transaction Status appendix)
>> codeStringYESStatus code (e.g., “00”, “03”)
>> descStringYESStatus description (e.g., “Success”, “Pending”)
> reference_numberStringYESYour unique transaction identifier (Max: 64 chars)
> ewalletObjectYESE-wallet details
>> codeStringYESE-Wallet vendor code
>> customer_numberStringYESCustomer’s e-wallet account number
>> customer_nameStringYESCustomer’s e-wallet account name
> post_timestampStringYESRequest time with Unix timestamp millisecond format
> processed_timestampStringYESFinish processed time with Unix timestamp millisecond format
> balance_afterObjectYESBalance after transaction of account
>> valueString (ISO 4217)YESAmount with 2 decimal digits
>> currencyString (ISO 4217)YESCurrency code (IDR)
> amountObjectYESNet amount received by customer
>> valueString (ISO 4217)YESAmount with 2 decimal digits
>> currencyString (ISO 4217)YESCurrency code (IDR)
> fee_amountObjectYESTotal fee per transaction charged to merchant (based on agreement)
>> valueString (ISO 4217)YESAmount with 2 decimal digits
>> currencyString (ISO 4217)YESCurrency code (IDR)
> gross_amountObjectYESTotal balance deducted from merchant account (amount + fee_amount)
>> valueString (ISO 4217)YESAmount with 2 decimal digits
>> currencyString (ISO 4217)YESCurrency code (IDR)

Examples

Request Example

{
  "reference_number": "735463554"
}

Response Example - Success

{
  "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 Example - Error

{
  "response_code": "SP009",
  "response_message": "Timeout",
  "data": {
    "reference_number": "176458254538481",
  }
}

Important Notes

  • 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

Transaction Flow

  1. Call Inquiry Account to validate beneficiary
  2. Call Trigger Top Up to initiate transaction
  3. If status is “Pending” (code: “02” or “03”), use Inquiry Status API to check for updates
  4. Repeat step 3 after a few minutes if still pending - ⚠️ DO NOT create a new transaction with the same amount