Money In Operation: Funds are transferred from the customer’s e-wallet to your SingaPay Payment Gateway account. For top-ups to customer e-wallets (Money Out), please refer to the E-Wallet Top Up (Money Out) documentation.
E-Wallet Payment Flow
The process from creating a checkout to successfully confirming a payment:Create Checkout
Merchant System sends a
POST /ewallet-native/{account_id}/create-checkout request to the SingaPay API containing the bill amount, vendor, and customer information.Redirect Customer
Merchant System redirects the customer using the web URL or deep link to their e-wallet app.
Payment Notification
E-Wallet Provider sends a payment confirmation notification to the SingaPay API.
Process Payment
SingaPay API processes the payment internally, changing the transaction status from
open to success.Webhook Notification (Optional)
SingaPay API sends a webhook notification to the Merchant System to inform them that the payment has been received.
Supported E-Wallet Vendors
ShopeePay
EWALLET_SHOPEEPAYSupports web redirect and app deep link.
Dana
EWALLET_DANASupports web redirect.
OVO
EWALLET_OVOSupports push to pay.
Transaction Status Lifecycle
Every e-wallet transaction goes through the following status lifecycle:| Status | Description |
|---|---|
open | Checkout has been created, waiting for the customer to authorize and complete the payment via the e-wallet app. Checkout URL is active. |
success | Payment completed successfully. Funds have been received from the customer. |
expired | Checkout link has expired. Computed automatically when the expired_at timestamp has passed while the status is still open. |
canceled | Transaction was canceled before the payment was completed. |
failed | Payment attempt failed due to an error during processing. |
Available endpoints
Create Checkout (Legacy)
Create a new e-wallet checkout order with a redirect URL for the customer
Create Checkout v2
Create a new e-wallet checkout order with a redirect URL for the customer
List E-Wallet
Retrieve a paginated list of all e-wallet transactions for an account, with filters available.
Show E-Wallet
Get detailed information about a specific e-wallet transaction.
Inquiry Status
Check and sync the latest payment status from the e-wallet vendor. This operation can trigger state changes.
Important Notes
Checkout Expiration & Auto-Expire
Checkout Expiration & Auto-Expire
By default, checkout URLs expire after 30 minutes. You can set a custom expiration using the
expired_at parameter. The status_computed field automatically shows expired when an open transaction’s expired_at has passed, even if the raw status is still open.Understanding Redirect URLs
Understanding Redirect URLs
The API returns two types of links:
checkout_url: Used for redirecting to a web browser.checkout_url_app: A deep link to directly open the related e-wallet app (if supported by the vendor).
Fees & Settlements
Fees & Settlements
Each transaction details a
vendor_fee, merchant_fee, and net_amount for transparent fee tracking. You can monitor reconciliation and settlement statuses via the has_recon and has_settle fields.Data Retention & Deletion Restrictions
Data Retention & Deletion Restrictions
- Only transactions with the status
opencan be deleted. Paid or settled transactions cannot be deleted. - Transaction history records from the last 1 year are available via the API. Older records are safely archived.
