Winpay — Over The Counter
Over The Counter (OTC) allows your customers to pay for their orders in cash via physical retail store cashiers throughout Indonesia.
Supported Retailers
ALFAMART(Usually covers Alfamidi, Dan+Dan, Lawson as well)INDOMARETFASTPAY
How to Create
Set method_type to over_the_counter, and in method_detail enter the store.
http
POST /v1/payments/createjson
{
"amount": 7500000,
"currency": "IDR",
"method_type": "over_the_counter",
"method_detail": {
"type": "over_the_counter",
"store": "ALFAMART"
},
"customer_name": "Budi Santoso",
"expiry_minutes": 1440
}Important Request Notes
- Expiry (
expiry_minutes): For OTC payments, it is recommended to set a long expiration time (e.g.,1440minutes = 24 hours), because customers need time to physically travel to the outlet location.
Response
If successful, you will receive a Payment object with method_data containing the payment code to give to the cashier.
json
{
"success": true,
"data": {
"id": "...",
"status": "pending",
"amount": 7500000,
"expires_at": "2026-07-22T13:00:00Z",
"method_data": {
"type": "over_the_counter",
"store": "ALFAMART",
"payment_code": "444455556666"
}
}
}Customer Instructions
In your application's UI, display the payment_code clearly and provide steps for the customer:
Example UI Instructions for Alfamart:
- Visit the nearest Alfamart / Alfamidi / Lawson / Dan+Dan store.
- Inform the cashier you want to pay for "Winpay / Toko Anda".
- Show the Payment Code: 444455556666 to the cashier.
- Pay the amount requested by the cashier (Rp 75,000 + admin fee if applicable).
- Ensure you receive the payment receipt from the cashier.
- The transaction status will automatically update in this application.