Retrieve the current status, configuration, and progress of a recurring UPI Mandate schedule, including its next execution details and latest debit reference.
API Details
| Field | Value |
|---|---|
| Method | POST |
| Endpoint | /mandate-schedule-status |
| Base URL | {{BASE_URL}} |
| Content-Type | application/json |
Authentication
Include the following credentials in the JSON request body:
| Parameter / Header | Location | Type | Mandatory | Description |
|---|---|---|---|---|
clientId | JSON body | String | Yes | Merchant client ID from the WowPe Dashboard. |
secretKey | JSON body | String | Yes | Merchant secret key from the WowPe Dashboard. Keep it on your server. |
Content-Type | Header | String | Yes | application/json |
Both credential fields must be included in every request.
Request Parameters
The authentication fields above are required in addition to the following parameter:
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
orderId | String | Yes | Merchant mandate reference. |
Sample Request
Request Body
{
"clientId": "YOUR_CLIENT_ID",
"secretKey": "YOUR_SECRET_KEY",
"orderId": "ORDSCHEDULE01"
}
cURL Request
curl --request POST '{{BASE_URL}}/mandate-schedule-status' \
--header 'Content-Type: application/json' \
--data-binary '@mandate-schedule-status.json'
Sample Response
The supplied integration guide does not include a separate JSON response example for this endpoint. It specifies the same response fields as the Create Schedule API.
Capture the actual response in UAT before publishing a definitive sample response.
Response Parameters
| Parameter | Type | Description |
|---|---|---|
statusCode | Number | Operation status: 0 = Failed, 1 = Succeeded, 2 = Pending. Interpret business-status fields separately. |
message | String | Operation or plan message. It is not a substitute for the relevant status field. |
orderId | String | Merchant mandate reference. |
scheduleStatus | String | Current schedule state: Active, Stopped, or Completed. |
amount | String | Scheduled debit amount, returned as a decimal string. |
frequency | String | Saved schedule frequency. |
startDateTime | String | First scheduled debit time. |
endDate | String | Last possible scheduled debit date. |
notifyBeforeHours | Number | Saved notification lead time in hours. |
cyclesDone | Number | Returned cycle count. Whether this counts attempts or successful debits is not specified. |
nextExecutionDateTime | String | Next scheduled debit time. |
nextNotifyDateTime | String | Next notification time. |
lastDebitId | String / Null | Most recent cycle debit ID, used for execute-status lookup when available. |
lastMessage | String / Null | Latest schedule message, when available. |
Error Handling
| Condition | Handling |
|---|---|
statusCode: 0 | Operation failed. Inspect the message and any operation-specific status fields. |
statusCode: 2 | Operation is pending. Use the applicable status endpoint to check the outcome. |
| Timeout or unknown outcome | Check the existing operation before submitting another mutation. |
The integration guide does not define endpoint-specific HTTP status mappings or a complete error response structure. Confirm these in UAT before documenting them.
Important Notes
- The
scheduleStatusfield indicates whether the schedule isActive,Stopped, orCompleted. - Use
lastDebitId, when available, to check the latest payment outcome through themandate-execute-statusAPI. - Stopping a schedule and revoking a mandate are separate operations.
- Do not assume that stopping a schedule cancels a debit that has already been notified, queued, or is executing. Confirm this behaviour with the API owner and check outstanding debit statuses.
What's Next
- Use
lastDebitId, when available, with the Execute Status API to verify the latest debit outcome. - Use the Stop Schedule API when an existing recurring schedule needs to be stopped.
