UPI for EBANX payment gateway integration
Learn about integrating UPI with the EBANX payment gateway using Zuora's EBANX payment gateway integration, supporting one-time and recurring payments in INR.
Unified Payments Interface (UPI) is an Indian instant payment system developed by the National Payments Corporation of India (NPCI). It enables users to link multiple bank accounts to a single mobile application, facilitating inter-bank transactions through a user-friendly process. Zuora uses EBANX’s Real Time Reconciliation to operate the UPI payments, and therefore it is mandatory to configure Real Time Reconciliation (RTR) for UPI payments.
Zuora's EBANX payment gateway integration supports UPI transactions in INR. To support UPI one-time and recurring payment flows, you can implement a hosted payment page through Overview of Payment Pages 2.0.
Supported and unsupported features
The following table lists the supported and unsupported operations and features for UPI on Adyen Integration v2.0.
| Supported | Unsupported |
|---|---|
|
|
One-time payment flow
Zuora supports a one-time payment flow through UPI QR code. When the hosted payment page is initiated, a QR code is displayed for the customer to scan by using their UPI application to complete the payment. After the customer authorizes the payment, a success page is displayed. This flow supports one-time payments only, and no payment token is created for future use.
Payment Method Creation
On the hosted payment page, customers enter their Virtual Payment Address (VPA) and submit the payment. Zuora then calls the EBANX Direct API (/ws/direct) with payment_type_code set to upi-intent, along with the required customer and charge parameters.
The following table describes the workflows after Zuora receives a successful or failed response from the EBANX synchronous payment API.
| Response | Workflow |
|---|---|
| Successful response |
|
| Failed response |
|
Stored token information
After a successful payment method creation, the created UPI payment method can be retrieved through the Zuora UI and REST APIs.
In the Electronic Payment Methods section of the customer account page, Zuora stores EBANX-issued tokens and mandate-related identifiers in the Token ID fields. These identifiers are used for subsequent recurring UPI Autopay payments and mandate management.
- Token ID fields store EBANX UPI payment tokens so that subsequent debits can be processed without exposing raw VPA data.
- Mandate-related identifiers, such as UPI Autopay enrollment references, are stored with the payment method and referenced during recurring payments and reconciliation.
Recurring payments flow (UPI Autopay)
UPI Autopay on EBANX is a mandate-based recurring payment framework. Customers approve an enrollment once in their UPI application. Zuora and EBANX reference this enrollment for future merchant-initiated transactions.
To comply with RBI and NPCI regulations, Zuora sends a pre-debit notification (PDN) to UPI users before each recurring debit by using the /ws/customerenrollment-notify endpoint.
A pre-debit notification (PDN) is required before a recurring charge can be initiated and it must be sent at least 24 hours before the scheduled payment. Because of this requirement, Zuora supports only scheduled recurring charges for this flow. Zuora automatically sends the pre-debit notification to the customer 24 hours before the scheduled payment. No additional configuration or action is required to trigger the pre-debit notification.
Conditions for triggering pre-debit notifications
When an invoice is posted, Zuora sends a pre-debit notification request to EBANX if all of the following conditions are met:
- The invoice has an outstanding balance.
- The payment method type is UPI.
- The payment gateway is an EBANX gateway configured for UPI Autopay.
- The transaction currency is INR.
- The invoice is not already associated with an active pre-debit notification for the current balance.
Retries of failed pre-debit notifications
If a pre-debit notification request fails, Zuora logs the failure and does not attempt the recurring debit until a successful notification is acknowledged.
Zuora retries the notification according to the configured retry schedule until EBANX confirms delivery or the retry window expires.
Mandate cancellation
UPI Autopay mandates can be canceled by the merchant or by the customer through their UPI application.
Merchant-initiated cancellation
- Cancels the enrollment in EBANX by using the appropriate UPI Autopay API.
- Deletes the UPI payment method in Zuora to prevent further debits.
Customer-initiated cancellation
- Customer can deactivate or cancel the mandate directly on their UPI Application.
- EBANX updates the enrollment status and sends a webhook to Zuora.
- Zuora closes the UPI payment method and updates mandate-related fields for reporting and reconciliation.