Initiate Payment
Welcome to the cutting-edge world of digital finance with our innovative Initiate Payment API! Designed to streamline and simplify the process of mandate creation, this API empowers businesses and financial institutions to effortlessly collect and authenticate customer mandates for various transactions.
With just a few basic inputs about a mandate, our Initiate Payment API generates a secure URL link tailored to each customer. This link serves as the gateway for customers to authenticate their mandates seamlessly using familiar and secure methods such as net banking, debit card, or UPI credentials.
This revolutionary API not only enhances the user experience but also ensures a robust and secure authentication process. Say goodbye to cumbersome paperwork and hello to a more efficient and user-friendly mandate creation process. Join the future of digital financial interactions with our Initiate Payment API and witness the transformation of mandate authentication into a smooth, secure, and hassle-free experience for both businesses and customers alike.
This API employs API Keys for request authentication. It's crucial to safeguard your API Keys, as they grant various privileges. To obtain the Access Key, kindly reach out to our Support/CSM team. Once obtained, please utilize this access key in the Authorization header.
Authentication for the API is executed through the Authorization header.
Feel free to replace 'YOUR_ACCESS_KEY_HERE' with the actual Access Key provided by our Support/CSM team.
The details of the API can be found here.
Here's a table outlining the key parameters, descriptions, whether they are mandatory or optional, and their data types.
Key | Description | M/O | Type |
firstName | First name of the user | Mandatory | String |
amount | Amount of the payment It should always be 1. In case of eNACH, there will not be any deduction of INR 1 from the bank account. In case of UPI AutoPay, INR 1 will be deducted from the bank account, post authorization. | Mandatory | String |
productInfo | Information about the product | Mandatory | String |
phone | User's mobile number This mobile number will be used to send SMS about the mandate to the end user. | Mandatory | String |
User's email address This email address will be used to send email about the mandate to the end user. | Mandatory | String | |
successRedirectUrl | URL to redirect post successful transaction | Mandatory | String |
failureRedirectUrl | URL to redirect post failed transaction | Mandatory | String |
maxAmount | Maximum amount for the madate creation | Mandatory | Number |
callbackUrl | URL for callback/notification Signzy will post the data on this callback URL for each of the events. | Mandatory | String |
finalCollectionDate | Final collection date for the mandate. It should be in YYYY/MM/DD format | Mandatory | String |
subMerchantId | Sub-merchant identifier Signzy will share a sub-merchant ID for every client which they need to pass in Production. It will be done post doing an onboarding. For Pre-Production, please use the sub-merchant ID S79159ASPT. You can test out the flow using this. | Mandatory | String |
showPaymentMode | Payment mode display preference. By default, it supports eNACH and UPI AutoPay. If you don't pass anything, it will support both modes. For UPI AutoPay, you should pass, UPIAD. For eNACH, you should pass, EN | Optional | String |
address1 | First line of the user's address | Mandatory | String |
address2 | Second line of the user's address | Mandatory | String |
city | City of the user | Mandatory | String |
state | State of the user | Mandatory | String |
country | Country of the user | Mandatory | String |
zipcode | Zipcode of the user | Mandatory | String |
userDefinedField1 | User-defined field 1 This is user defined field. So you can use it for anything that you want to pass. | Optional | String |
userDefinedField2 | User-defined field 2 This is user defined field. So you can use it for anything that you want to pass. | Optional | String |
userDefinedField3 | User-defined field 3 This is user defined field. So you can use it for anything that you want to pass. | Optional | String |
Key | Description | Type |
result | Main result object | Object |
result.txnId | Transaction ID This is the transaction ID for the mandate that is created. You can use this in Transaction Status API to know the status of a transaction at any point. | String |
result.amount | Amount of the transaction | String |
result.productInfo | Product information | String |
result.firstName | First name of the customer | String |
result.phone | Phone number of the customer | String |
result.email | Email address of the customer | String |
result.customerAuthenticationId | Customer authentication ID It is the unqiue ID for the mandate that is created for a customer | String |
result.data | URL or data related to the transaction, where the end customer has to do authorization using Net Banking, Debit Card, or UPI, as the case maybe. | String |
Key | Description | Type |
error | Main error object | Object |
error.name | Error name | String |
error.message | Error message | String |
error.status | Error status code | String |
error.reason | Error reason | String |
error.type | Type of error | String |
error.statusCode | HTTP status code | String |
Error Code | Error Message | Explanation |
400 | Bad Request | Input parameter has a missing required parameter or invalid inputs |
401 | Authorization Failed | Authorization token is invalid |
500 | Internal Server Error | Internal error at Signzy, Please reach out to [email protected] |