Welcome to Zuora Product Documentation

Explore our rich library of product information

Set up your client for Stripe 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 parameterDescription
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

true indicates that the Payment Page will create a payment method as well as process the one-time payment transaction through EBANX.

If it is false or not specified, the Payment Page will only create a payment method.

To implement payment processing flows, set doPayment to true.

To implement payment method validation and setup flows (for example, UPI Autopay enrollment without an immediate charge), set doPayment to false.

storePaymentMethod

Type: boolean

Default: true

true indicates that the UPI payment method will be stored in Zuora and can be used in subsequent recurring payments (for example, UPI Autopay via EBANX).

false indicates that the payment method will not be stored in Zuora. End customers must be brought back on session to authenticate future payments.

field_accountId

Type: string

Example: 8a90e5e48f2eade6018f2ed19133003a

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 0 for this field.

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 INR is supported by EBANX UPI.

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:

  • type – The value must be invoice.
  • ref – The value must be the invoice number, such as INV0000001.
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.

  • true – Zuora submits the enrollment information to EBANX UPI Autopay, creates a tokenized UPI payment method, and links the resulting mandate so that recurring payments can be processed off-session.
  • false – Zuora processes a one-time UPI payment without creating an Autopay mandate. The payment method is not stored for future recurring use, and end customers must come back on session to authenticate each new payment.

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 param_gwOptions_UpiMandateEnabled is set to true.

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 enrollment.email in EBANX UPI APIs), submit a ticket at Zuora Global Support to enable this feature.

After it is enabled, you can use the gwOptions_shopperEmail Gateway Options field to pass in the shopper’s email address.

If gwOptions_shopperEmail is not provided, the shopperEmail field that Zuora sends to the gateway is populated with the email information of the account specified through field_accountId, according to the following priority order, from highest to lowest:

  • BillTo work email
  • BillTo personal email
  • SoldTo work email
  • SoldTo personal email

In recurring payments and ad-hoc payments triggered from the Zuora UI or API operations, shopperEmail is also populated in the preceding priority order.

In case of orphan payment methods created without a customer account, the below parameters are mandatory :

  • gwOptions_shopperEmail

  • gwOptions_phoneNumber

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.