This is a Money Out operation. Each successful withdrawal debits funds from your Singapay Payment Gateway merchant balance.
No card required
Customers withdraw using only their phone number and a one-time OTP — no physical card needed.
Balance locked on issuance
Merchant balance is locked immediately when the OTP is generated — guaranteeing funds are available at ATM redemption.
Auto-reverse on failure
If the OTP expires or the ATM rejects the transaction, SingaPay automatically reverses the locked balance back to the merchant.
Withdrawal Flow
Transaction Status
| Status | Description |
|---|---|
OPEN | OTP issued and active — awaiting customer ATM input. Merchant balance is locked. |
SUCCESS | Cash dispensed at ATM. Funds deducted from merchant balance. |
FAILED | ATM rejected the transaction — invalid OTP or CustID. Merchant balance reversed. |
EXPIRED | OTP expired before ATM redemption. Merchant balance automatically reversed. |
Recommended Flow
Customer initiates withdrawal
Customer submits a cardless withdrawal request on your platform — providing the desired amount and their registered phone number (CustID).
Request OTP from SingaPay
Call Create Cardless Withdrawal with the bank type, amount, and CustID. SingaPay locks the merchant balance and returns an OTP with an expiry time.
Deliver credentials to customer
Forward the OTP, CustID, and expiry time to the customer along with ATM usage instructions.
Customer redeems at ATM
Customer visits the supported ATM, selects the cardless withdrawal menu, and enters their CustID and OTP.
Receive webhook notification
SingaPay sends a webhook callback to your system with the final transaction status —
SUCCESS, FAILED, or EXPIRED.Important Notes
Balance locked on OTP issuance
Balance locked on OTP issuance
The merchant balance is locked the moment a withdrawal request is created. If the transaction fails or expires, SingaPay automatically reverses the locked amount back to the merchant balance — no manual action required.
OTP expiry
OTP expiry
Each OTP has a fixed expiry defined by the
expired_at field returned in the API response. Customers must redeem the OTP at an ATM before this timestamp. Expired transactions cannot be re-used — create a new withdrawal request instead.Supported ATM banks
Supported ATM banks
Only ATMs from the bank specified in the
bank_type parameter can process the withdrawal. Ensure customers are directed to the correct ATM network.Cancellation
Cancellation
Only transactions with status
OPEN can be cancelled. Once a transaction reaches SUCCESS, FAILED, or EXPIRED, it cannot be cancelled.Customer internal balance
Customer internal balance
If your platform maintains an internal customer balance, remember to refund it when a transaction results in
FAILED or EXPIRED — SingaPay reverses the merchant balance, but internal platform balance adjustments are the merchant’s responsibility.Available Endpoints
Create Cardless Withdrawal
Initiate a withdrawal request and receive the OTP and CustID credentials to deliver to the customer.
List Cardless Withdrawals
Retrieve a paginated list of all cardless withdrawal transactions for an account.
Show Cardless Withdrawal
Get detailed information about a specific cardless withdrawal transaction.
Cancel Cardless Withdrawal
Cancel an
OPEN cardless withdrawal transaction before it is redeemed at an ATM.All endpoints require authentication. See Authentication.
