UPI QR for Adyen Integration v2.0
Learn how to process one-time and recurring UPI payments in INR using QR codes and UPI Autopay with Adyen Integration v2.0.
Overview
Unified Payments Interface (UPI) is an Indian instant payment system that enables users to complete bank-to-bank transactions through mobile applications.
Adyen Integration v2.0 supports UPI transactions in INR. On desktop, UPI payments are completed using a QR code displayed on the hosted payment page. Shoppers scan the QR code using a UPI-enabled mobile app to complete the payment. UPI QR can be used from both desktop and mobile browsers. However, we recommend using a desktop browser for the best user experience.
This implementation supports:
- One-time UPI payments using desktop QR
- UPI Autopay (recurring payments using mandates)
- Webhook-based reconciliation and token handling
Support for the UPI payment method on Adyen must be requested through the Specialized Payment Connections service.
Supported and unsupported features
The following table summarizes the supported and unsupported operations and features for UPI on Adyen Integration v2.0. The desktop UPI QR experience affects the UI flow but not the high-level capabilities.
|
Supported |
Unsupported |
|---|---|
| One-time payment processing (desktop UPI QR) | Payment cancel (void) |
| Recurring payment processing (UPI Autopay) | Non-referenced refund |
| Standalone payment method validation | Batch Gateway Reconciliation |
|
Referenced refund | Delayed Capture |
|
Real-Time Reconciliation | Stored Credential Transactions framework and the sharing NTI feature |
| Idempotency for retrying recurring payment and refund requests | Creation of UPI payment method through UI or API operation |
| Asynchronous payment statuses beyond what is already supported by webhook-based reconciliation |
Recurring payments with UPI Autopay
UPI Autopay allows recurring payments based on a mandate approved by the customer.
Pre-debit notification
Before each recurring charge, Zuora sends a notification request to Adyen when:
- The invoice has an outstanding balance
- The payment method type is UPI
- The transaction currency is INR
- The gateway instance is Adyen Integration v2.0
If the request is successful:
- Adyen returns a notificationReference
- Zuora stores the reference and uses it for payment processing
Error handling and retry behavior
Zuora does not automatically retry failed UPI QR payments or recurring debits on Adyen Integration v2.0.
-
One-time UPI QR payments: If Adyen returns an error or Zuora does not receive a webhook before the QR code timer expires, the hosted payment page callback sets the payment status to
Payment_Status_Unknown. Zuora does not attempt the payment again. You should use the Retrieve a payment API to confirm the final status and decide whether to start a new payment session. -
UPI Autopay recurring payments: UPI Autopay recurring payments For recurring UPI payments, a pre-debit notification (PDN) must be sent to the customer at least 24 hours before the scheduled debit, in line with UPI Autopay requirements. Zuora sends the PDN once and schedules the recurring debit based on that notification. If the debit fails, Zuora does not automatically resend the PDN or retry the payment. If you want to attempt collection again, you must send a new PDN and then retry the payment (for example, by running another payment run or calling the payment APIs).