Welcome to Zuora Product Documentation

Explore our rich library of product information

Set up your client code for processing payments in India

Learn how to set up client code for payment processing using Payment Pages 2.0, including parameters for authorization and invoice processing.

Follow the instructions in Integrate Payment Pages 2.0 . When rendering the Payment Page form, specify the following parameters in the Z.render function to support the use case of authorization amount processing or invoice processing .

Parameter

Applicable use case

Description

doPayment

Both

Required

Type: boolean

Default: false

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

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

storePaymentMethod

Both

Type: boolean

Default: true

true indicates that the tokenized payment method will be stored in Zuora and will be used in subsequent recurring payments.

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

For the implementation of one-time payment flows on CyberSource 2.0, storePaymentMethod must be false , because Zuora does not support processing recurring payments in INR through one-time payment flows on CyberSource.

field_accountId

Both

Required

The payment method will be created for the specified account.

For more information about this parameter, see Client parameters for Payment Pages 2.0.

authorizationAmount

Authorization amount processing

Required for authorization amount processing

If doPayment is true , this field is used to specify the one-time payment amount sent to the gateway.

If doPayment is false , this field is used to specify the initial authorization amount of the payment method.

For more information about this parameter, see Client parameters for Payment Pages 2.0.

field_currency

Authorization amount processing

Required for authorization amount processing

The currency of the one-time payment amount.

For more information about this parameter, see Client parameters for Payment Pages 2.0.

documents

Invoice processing

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 .

For the implementation of the one-time payment flow for local recurring payments in India, in addition to the fields for authorization amounts or invoices, specify the following fields to generate a mandate ID. The default value for each field is specific to the payment gateway integration.

Parameter

Description

cardMandateEnabled

Required

Type: boolean

Default: false

true indicates that the Gateway Options fields for generating a mandate ID can be specified.

If cardMandateEnabled is true , for the Gateway Options fields in this table that are not specified, the default values will be used. You can specify the field to override the default value.

param_gwOptions_CardMandateReference

Optional

Type: string

Default: null

Unique identifier for the mandate.

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateDescription

Optional

Type: string

Default: null

A description of the mandate.

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateAmountType

Optional

Type: string (enum)

Default: maximum

The value can be fixed or maximum .

  • fixed - The value of the param_gwOptions_CardMandateAmount field indicates the exact amount to be charged in future payments.

  • maximum - The amount charged can be up to the value passed for the param_gwOptions_CardMandateAmount field.

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateAmount

Optional

Type: number

Default: 5000

Amount to be charged for future payments.

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateStartDate

Optional

Type: date-time

Default: Date and time when passing the parameter

Start date of the mandate, such as 2021-09-14T21:56:00+08:00

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateEndDate

Optional

Type: date-time

Default: 20 years after the mandate start date

End date of the mandate, such as 2022-09-14T21:56:00+08:00

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateInterval

Optional

Type: string (enum)

Default: sporadic

Payment frequency. The value can be day , week , month , year , or sporadic .

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateIntervalCount

Optional

Type: integer

Default: null

The number of intervals between payments. Up to one year interval is allowed (1 year, 12 months, or 52 weeks). This parameter is optional when iparam_gwOptions_CardMandateInterval is sporadic .

For details about the Gateway Options fields, see Client parameters for Payment Pages 2.0.

param_gwOptions_CardMandateSupportedTypes

Optional

Type: string

Default: empty

The mandate type supported for this payment. Currently, only india is allowed. If you want to set india as the default value, submit a request at Zuora Global Support.

In summary, to create a payment flow for processing one-time payments in India, use any of the above payment gateway integrations and specify the following fields and other fields according to your use case:

  • doPayment:"true"

  • storePaymentMethod:"false"

  • Other fields for processing authorization amounts or invoices according to your use case

To create a payment flow for processing local recurring payments in India, use the Stripe v2 payment gateway integration and specify the following fields and other fields according to your use case:

  • doPayment:"true"

  • storePaymentMethod:"true"

  • cardMandateEnabled:"true"

  • Other fields for generating the mandate ID for your needs

  • Other fields for processing authorization amounts or invoices according to your use case

To create a recurring mandate without being required to make a payment, use the Stripe v2 payment gateway integration and specify the following fields and other fields according to your use case:

  • doPayment:"false"

  • storePaymentMethod:"true"

  • cardMandateEnabled:"true"

  • Other fields for generating the mandate ID for your needs

Here is an example of the parameters for the payment flow for processing recurring payments on Stripe v2:

var params = {
    doPayment:"true",
    field_accountId:"testc0f87596f2f301759c29443622fa",
    authorizationAmount:"99",
    field_currency:"INR",
    cardMandateEnabled:"true",
    param_gwOptions_CardMandateReference:"sample-reference",
    param_gwOptions_CardMandateDescription:"sample description",
    param_gwOptions_CardMandateAmountType:"fixed",
    param_gwOptions_CardMandateAmount: "4000",
    param_gwOptions_CardMandateStartDate: "2021-09-14T21:56:00+08:00",
    param_gwOptions_CardMandateEndDate: "",
    param_gwOptions_CardMandateInterval: "month",
    param_gwOptions_CardMandateIntervalCount: "1",
    param_gwOptions_CardMandateSupportedTypes: "india"
};

Step 5. Implement callback response

See Advanced Integration of Payment Pages 2.0 for more information.