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

Overview

This page provides a comprehensive list of all transaction status codes returned by the E-Wallet Top Up API. These status codes indicate the current state of your transaction and help you determine the appropriate next steps.


Transaction Status Codes

CodeDescriptionNotes
00SuccessSucceed
01InitiatedTransaction has been initiated and is being processed by the payment provider
02Paying

Pending/Suspect:

  • Use Inquiry Status API to check transaction status after a few minutes
  • Waiting for final status from payment provider
03Pending

Pending/Suspect:

  • Use Inquiry Status API to check transaction status after a few minutes
  • Waiting for final status from payment provider
04RefundedReversal transaction
05CanceledPlease create new transaction
06FailedFailed Transaction
07Not FoundPlease create new transaction

Status Categories

Final Success Status

  • 00 - Success: Transaction completed successfully. No further action required.

Pending Statuses

These statuses indicate the transaction is still being processed by the payment provider. Use Inquiry Status to check for updates:

  • 01 - Initiated: Transaction has been initiated and is being processed
  • 02 - Paying: Transaction in progress, verify status using Inquiry Status API
  • 03 - Pending: Transaction awaiting final status, verify status using Inquiry Status API

Final Failed Statuses

These statuses indicate the transaction cannot be completed. Create a new transaction if needed:

  • 04 - Refunded: Transaction was reversed
  • 05 - Canceled: Transaction was canceled
  • 06 - Failed: Transaction failed
  • 07 - Not Found: Transaction not found in system

Handling Transaction Statuses

Success Flow

01 (Initiated) → 02 (Paying) → 03 (Pending) → 00 (Success)

Failed Flow

01 (Initiated) → 02 (Paying) → 03 (Pending) → 06 (Failed)

Best Practices

  1. For Pending Statuses (02, 03)

    • Wait a few minutes before using Inquiry Status API to check the transaction status
    • ⚠️ IMPORTANT: Never create a new transaction with the same amount while status is pending. This may result in double charges.
    • Continue checking via Inquiry Status API until you receive a final status (00, 04, 05, 06, or 07)
  2. For Final Statuses

    • Success (00): Transaction complete - update your system accordingly
    • Failed (04, 05, 06, 07): Transaction cannot be completed - create new transaction if needed
  3. Status Checking

    • Always use Inquiry Status endpoint to check transaction status
    • Implement exponential backoff when checking pending transactions
    • Set a maximum retry limit (e.g., 10 attempts) to prevent infinite loops

Important Notes

  • Transaction status codes are returned in the transaction_status.code field of API responses
  • Always check the status code in conjunction with the response code to understand the complete transaction state
  • Pending statuses (02, 03) require periodic status checks via Inquiry Status API - do not assume failure if the transaction is pending
  • ⚠️ CRITICAL: Do not create a new transaction with the same amount while an existing transaction is pending. Always verify the status first using Inquiry Status API to avoid double charges
  • Refer to the Response Code page for API response codes (different from transaction status codes)