UPI Autopay V2 - Create Mandate
Introduction
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.
Authentication
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.
API Details
The details of the API can be found here.
Sample Request
curl --location 'https://api.signzy.app/api/v3/upi-autopay/create-mandate' \
--header 'Content-Type: application/json' \
--data-raw '{
"entityId": "89b5dfb3-415e-4669-a49b-02ccf61a7caf",
"programId": "437",
"merchantId": "991112",
"mandateReferenceNumber": "MandateTest001",
"merchantReferenceId": "MerchantRef001",
"mandateName": "Name",
"mandateStartDate": "2025-01-15T10:00:00Z",
"mandateEndDate": "2025-12-15T10:00:00Z",
"amount": 100.00,
"mandateDebitType": "Recurring",
"expiryAfter": 30,
"payerVpa": "user@bank",
"payerName": "JohnDoe",
"recurrenceFrequency": "ASPRESENTED"
}'Input Parameters
Here's a table outlining the key parameters, descriptions, whether they are mandatory or optional, and their data types.
Parameter | Data Type | Description | Required |
|---|---|---|---|
entityId | String | Unique identifier for the entity initiating the mandate | Mandatory |
programId | String | ID of the program under which the mandate is created | Mandatory |
merchantId | String | Unique ID assigned to the merchant | Mandatory |
mandateReferenceNumber | String | Unique reference number for the mandate | Mandatory |
merchantReferenceId | String | Merchant’s internal reference ID for tracking | Mandatory |
mandateName | String | Name or title of the mandate | Mandatory |
mandateStartDate | String | Date from which the mandate becomes active | Mandatory |
mandateEndDate | String | Date on which the mandate expires | Mandatory |
amount | Number | Transaction amount authorized under the mandate | Mandatory |
mandateDebitType | String | Defines whether the amount is fixed or variable | Mandatory |
expiryAfter | Number | Duration after which the mandate expires | Mandatory |
payerVpa | String | Virtual Payment Address (VPA) of the payer | Mandatory |
payerName | String | Name of the payer | Mandatory |
recurrenceFrequency | String | Frequency of recurring payments | Mandatory |
Sample Response
{
"error": {
"name": "error",
"message": "BAD_REQUEST",
"status": 400,
"reason": "Duplicate mandateReferenceNumber",
"type": "Bad Request",
"statusCode": 400
}
}Output Parameters
Parameter | Data Type | Description |
|---|---|---|
mandateReferenceNumber | String | Unique reference number for the mandate |
status | String | Current status of the mandate (e.g., ACTIVE, PENDING, FAILED) |
statusDescription | String | Detailed description or reason for the current status |
amount | Number | Amount associated with the mandate transaction |
payerVpa | String | Virtual Payment Address (VPA) of the payer |
payerName | String | Name of the payer linked to the mandate |
mandateStartDate | String | Date when the mandate becomes active |
mandateEndDate | String | Date when the mandate expires or ends |
Error Codes
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] |