Set up your client for EBANX UPI payments
Learn how to set up your client for UPI payments through EBANX by specifying required parameters and understanding the payment processing flows.
Overview
Follow the instructions in Integrate Payment Pages 2.0. When rendering the Payment Page form, specify the required parameters in the Z.render or Z.renderWithErrorHandler function. For other optional parameters, see Client Parameters for Payment Pages 2.0.
The following table lists the required parameters for implementing UPI payments through EBANX.
Required parameters
| Required parameter | Description |
|---|---|
field_upiTimerWindow |
Type: integer Default: 36 | Min: 5 | Max: 36 The timer window (in minutes) during which end customers can complete the UPI authorization in their UPI application after submitting the hosted payment page. When the timer expires, the timer dialog on the hosted payment page closes and Zuora stops waiting for customer interaction in that browser session. Zuora continues to rely on EBANX asynchronous notifications and status checks to determine the final payment status, which might arrive shortly after the timer expires. |
doPayment |
Type: boolean Default: false
If it is To implement payment processing flows, set To implement payment method validation and setup flows (for example, UPI Autopay enrollment without an immediate charge), set |
storePaymentMethod |
Type: boolean Default: true
|
field_accountId |
Type: string Example: Zuora customer account ID. This account must be set up with the INR currency. The UPI payment method will be created for this specified account and processed through the configured EBANX gateway instance. |
authorizationAmount |
Required for authorization amount processing. For payment processing flows, this is the amount of the one-time payment that will be sent to EBANX. For payment method validation flows (for example, enrollment only), specify For more information about this parameter, see the General Parameters section in Client Parameters for Payment Pages 2.0. |
field_currency |
Required for authorization amount processing. The currency of the one-time payment amount. Only For more information about this parameter, see the General Parameters section in Client Parameters for Payment Pages 2.0. |
documents |
Required for invoice processing. An array of invoices to be paid in this transaction, containing the following fields:
|
param_gwOptions_UpiMandateEnabled |
Type: boolean Default: false Controls whether Zuora should create a UPI Autopay mandate with EBANX and store the UPI payment method in Zuora for subsequent recurring payments.
EBANX requires mandate and enrollment details such as UPI VPA, customer name, email, and mobile number. Zuora populates these fields from the Billing Account and payment page input when |
shopperEmail |
Optional. If you want to include the shopper’s email address explicitly in the request that Zuora sends to EBANX (for example, to control the value used for After it is enabled, you can use the If
In recurring payments and ad-hoc payments triggered from the Zuora UI or API operations, In case of orphan payment methods created without a customer account, the below parameters are mandatory :
|
Mandate status synchronization
You do not need to pass additional client-side parameters to handle mandate revocation or expiry. Mandate status changes are driven by EBANX and propagated to Zuora through Real-Time Reconciliation.
When EBANX reports that a UPI Autopay mandate is revoked or expired, Zuora:
- Updates the mandate status using EBANX webhook and RTR events.
- Automatically closes the associated UPI payment method in Zuora so that it cannot be selected for new payments or payment runs.
- Keeps mandate-related identifiers in sync for downstream reporting and reconciliation, such as the EBANX-issued UPI token, merchant_enrollment_code, and UPI Autopay enrollment reference stored on the UPI payment method.
For scenarios where you want to close or reactivate a UPI payment method directly from Zuora (for example, ahead of an EBANX status update or after re-establishing a mandate), use the standard payment method REST APIs:
For more information about mandate lifecycle behavior, see Mandate cancellation in UPI for EBANX payment gateway integration.
Example
Here is an example of the parameters for the payment flow for processing the first one-time and subsequent recurring payments:
var params = {
field_upiTimerWindow: 20,
doPayment: "true",
storePaymentMethod: "true",
field_accountId: "testc0f87596f2f301759c29443622fa",
documents: '[{"type":"invoice","ref":"INV00026338"}, {"type":"invoice","ref":"INV00026339"}]',
param_gwOptions_UpiMandateEnabled: "true",
param_gwOptions_UpiMandateAmount: 100000,
param_gwOptions_UpiMandateFrequency: "weekly|monthly| quarterly|halfyealy|yearly",
gwOptions_start_date: "2024-05-06",
gwOptions_expiration_date: "2024-09-28",
};
Implement the callback response. For more detailed information, see Advanced Integration of Payment Pages 2.0.