This API submits a pre-debit notification for an individual UPI AutoPay debit. The debit is processed automatically at the specified execution date and time.
API Details
| Parameter | Value |
|---|---|
| Method | POST |
| Endpoint | /mandate-notify |
| Base URL | {{BASE_URL}} |
| Content-Type | application/json |
Authentication
Include the following credentials in the JSON request body. These credentials are available in the WowPe Dashboard.
| Parameter | Location | Type | Mandatory | Description |
|---|---|---|---|---|
clientId | Request Body | String | Yes | Merchant Client ID provided in the WowPe Dashboard. |
secretKey | Request Body | String | Yes | Merchant Secret Key provided in the WowPe Dashboard. |
Request Header
| Header | Value |
|---|---|
Content-Type | application/json |
Request Parameters
The following parameters are required in addition to the authentication credentials.
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
orderId | String | Yes | Merchant reference associated with the approved mandate. |
debitId | String | Yes | Unique merchant reference for the individual debit. |
amount | Number | Yes | Debit amount permitted by the mandate's amount rule. |
executionDateTime | String (DateTime) | Yes | Scheduled debit execution date and time in IST. Must be between 24 and 72 hours from the request. |
remarks | String | No | Additional remarks for the debit. |
Sample Request
{
"clientId": "YOUR_CLIENT_ID",
"secretKey": "YOUR_SECRET_KEY",
"orderId": "ORDMANUAL01",
"debitId": "ORDMANUAL01-D1",
"amount": 99,
"executionDateTime": "2026-11-05T10:00:00",
"remarks": "November bill"
}
cURL Request
curl --request POST '{{BASE_URL}}/mandate-notify' \
--header 'Content-Type: application/json' \
--data '{
"clientId": "YOUR_CLIENT_ID",
"secretKey": "YOUR_SECRET_KEY",
"orderId": "ORDMANUAL01",
"debitId": "ORDMANUAL01-D1",
"amount": 99,
"executionDateTime": "2026-11-05T10:00:00",
"remarks": "November bill"
}'
Replace {{BASE_URL}} with the applicable WowPe API environment URL and use your merchant credentials securely.
Sample Response
Pending Response
{
"statusCode": 2,
"message": "Mandate notification request accepted",
"debitId": "ORDMANUAL01-D1",
"notifyRef": "MN261104093012345678",
"notifyStatus": "Pending",
"executionDateTime": "2026-11-05T10:00:00+05:30"
}
Response Parameters
| Parameter | Type | Description |
|---|---|---|
statusCode | Number | Indicates the API operation status. 0 = Failed, 1 = Succeeded, 2 = Pending. |
message | String | Provides the response message for the notification request. |
debitId | String | Debit reference submitted in the request. Retain this ID for status tracking and reconciliation. |
notifyRef | String | Unique reference generated for the pre-debit notification. |
notifyStatus | String | Notification status: NotSent, Pending, Success, or Failed. |
executionDateTime | String | Scheduled date and time for debit execution. |
Error Handling
| Status Code | Description | Action |
|---|---|---|
0 | API operation failed. | Check the response message and review the request parameters. |
2 | Notification request is pending. | Use the Notify Status API to track the notification outcome. |
If a request times out or its outcome is unknown, check the existing operation before submitting another notification request.
Documented Validation Messages
| Error Message | Action |
|---|---|
ExecutionDateTime must be between 24 and 72 hours from now (IST). | Provide an execution date and time within the permitted window. |
ExecutionDateTime is after mandate validity. | Select an execution date and time within the mandate's validity period. |
Important Notes
- The mandate must be approved before submitting a pre-debit notification.
- The
executionDateTimemust be between 24 and 72 hours from the request time, in IST. - The execution date must fall within the mandate's validity period.
- Use a unique
debitIdfor each individual debit. - A successful or accepted notification request does not confirm that the debit has been completed.
- The debit is processed automatically at the specified
executionDateTime. A separate Execute Debit request is not required for this flow. - Use the returned
debitIdto track the notification and debit status.
What's Next
Use the Notify Status API to check the notification outcome. Then use the Execute Status API to verify whether the debit was successfully completed.
