Payment pages signature for EBANX UPI QR
This reference lists the parameters that you must include when you generate the digital signature for a UPI QR Payment Page, including the additional parameters that are required for one-time UPI QR payments.
Signature generation overview
Before you render a Payment Page, your server must generate a digital signature for the page by calling the Generate RSA signature REST API. Your server then passes the returned signature, token, key, and tenantId values to Z.render along with the Page ID. For the general procedure, see Generate the signature and access token.
Parameters for one-time UPI QR payments
To charge a customer immediately with a one-time UPI QR payment, that is, when you pass doPayment as true together with an amount, include the customer account and payment details in the signed payload so that Zuora can validate them on the server side.
The following table lists the parameters that you must include when you generate the signature:
| Parameter | Description |
|---|---|
field_accountId | The ID of the Zuora customer account to charge. This parameter is required to process a payment from a Payment Page. |
field_currency | The transaction currency. For EBANX UPI QR, only INR is supported. |
field_authorizationAmount | The amount to charge the customer. |
When the customer submits the page, Zuora compares the values received from the page with the values in the signature, and rejects the request if any value does not match. This validation prevents the amount, currency, or account from being altered on the client side.
Example signature request body
The following example shows a request body for generating the signature for a one-time UPI QR payment:
{
"uri": "https://<tenant-domain>/apps/PublicHostedPageLite.do",
"method": "POST",
"pageId": "<UPI QR Payment Page ID>",
"field_accountId": "<Zuora account ID>",
"field_currency": "INR",
"field_authorizationAmount": "100.00"
}