Payonclick Developer Docs
v1

UPI Cash Point — UPI QR Cash Withdrawal

Cash withdrawal with nothing but a UPI app: your outlet shows a QR for the amount, the customer scans and pays from any UPI app (PhonePe, Google Pay, Paytm, BHIM…), and the outlet hands over the cash. No card, no fingerprint device. The amount, less any charge, is credited to your AEPS wallet.

Base: /ext/v1/upicw Permission: upicw Wallet: AEPS Per QR: ₹100 – ₹5,000, multiples of ₹100 QR life: about 60 seconds Hours: closed daily 11:30 PM – 5:00 AM (bank network) Idempotency: client_reference on /qr (required)
⚠️
Hand over cash only on SUCCESS

A QR is PENDING until the customer’s bank confirms the payment. Never pay out on the customer’s word or on a screenshot of their UPI app. Poll /transaction/{reference_id} from qr.poll_after seconds, every qr.poll_every seconds, or subscribe to upicw.success. An unpaid QR expires in about a minute and becomes FAILED with failure_code: QR_EXPIRED.

📘
Each outlet uses its own merchant

The QR is created under the outlet’s own merchant, onboarded and eKYC’d through /ext/v1/aeps/merchants (the upicw permission is enough for those calls; Bank eKYC and daily authentication are not needed for UPI Cash). The bank network enables UPI Cash per merchant, which can take a few days after eKYC; until then /qr answers QR_NOT_CREATED with failure_code: OUTLET_NOT_ENABLED. It is safe to retry later with a new client_reference.

📘
If the payer’s bank declines

A repeat payment from the same customer to the same outlet within about 30 minutes is very often declined by the customer’s own bank as a risk check (PAYER_BANK_DECLINED). Ask the customer to wait or to pay from a different UPI app or bank account — retrying at once rarely helps.

Integration flow

1
/ext/v1/aeps/merchants
0. Onboard the outlet and complete its eKYC (once; shared with AEPS).
2
/merchants/{merchant_ref}
1. Check that UPI Cash is enabled for the outlet.
3
/qr
2. Mint a QR for the amount and show it to the customer.
4
/transaction/{reference_id}
3. Poll, or take the upicw.* webhook. SUCCESS → hand over the cash.

Endpoints

Rules & Outlet

QR

Status & History