Winpay — E-Wallet
Winpay supports various e-wallet applications in Indonesia. The checkout flow for e-wallets usually involves redirecting the customer (Redirect) to the wallet's application/website, or through an automatic push notification (Push to Pay) directly to the customer's phone number.
Supported Wallets
OVO(Push to Pay)DANA(Redirect)SHOPEEPAY(Redirect)ASTRAPAY(Redirect)SPEEDCASH(Redirect)
How to Create
Set method_type to e_wallet, and in method_detail enter the wallet_type.
POST /v1/payments/create{
"amount": 5000000,
"currency": "IDR",
"method_type": "e_wallet",
"method_detail": {
"type": "e_wallet",
"wallet_type": "OVO"
},
"customer_phone": "081234567890",
"customer_name": "Budi Santoso"
}Important Request Notes
WARNING
Phone Number (customer_phone) is mandatory for OVO. Because OVO uses a Push to Pay mechanism, Winpay must know the phone number connected to the customer's OVO account. If it is empty, the transaction will fail.
Response & Payment Flow
The response returned depends heavily on whether the e-wallet uses a Redirect or Push to Pay mechanism.
1. Push to Pay Mechanism (e.g., OVO)
For OVO, there is no URL to click. The customer must proactively open their OVO application to see the payment notification.
Response:
{
"success": true,
"data": {
"status": "pending",
"method_data": {
"type": "e_wallet",
"wallet_type": "OVO",
"message": "Payment notification has been sent to the OVO application of number 081234567890."
}
}
}Action: Simply show a screen instructing the customer to check their OVO application within the next 30-60 seconds.
2. Redirect Mechanism (e.g., DANA, ShopeePay)
For DANA and ShopeePay, you will receive a URL where the customer must be directed to complete the transaction.
Response:
{
"success": true,
"data": {
"status": "pending",
"method_data": {
"type": "e_wallet",
"wallet_type": "DANA",
"redirect_url": "https://pay.dana.id/v1/checkout/xxxxx",
"deeplink": "dana://pay?checkout_id=xxxxx"
}
}
}Action:
- On Website/Desktop: Perform a
window.location.href = redirect_urlor display a "Click here to pay" button. - On Mobile App (Android/iOS): It is highly recommended to use the
deeplinkif the application is installed on the customer's phone, so it instantly jumps into the wallet app without going through the browser first. If it fails, fallback to theredirect_url(WebView/Browser).