Stop Schedule

Stop an existing recurring UPI Mandate schedule using its merchant mandate reference. The underlying mandate remains separate and is not revoked by this operation.

API Details

FieldValue
MethodPOST
Endpoint/mandate-schedule-stop
Base URL{{BASE_URL}}
Content-Typeapplication/json

Authentication

Include the following credentials in the JSON request body:

Parameter / HeaderLocationTypeMandatoryDescription
clientIdJSON bodyStringYesMerchant client ID from the WowPe Dashboard.
secretKeyJSON bodyStringYesMerchant secret key from the WowPe Dashboard. Keep it on your server.
Content-TypeHeaderStringYesapplication/json

Both credential fields must be included in every request.

Request Parameters

The authentication fields above are required in addition to the following parameter:

ParameterTypeMandatoryDescription
orderIdStringYesMerchant 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-stop' \
  --header 'Content-Type: application/json' \
  --data-binary '@mandate-schedule-stop.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

ParameterTypeDescription
statusCodeNumberOperation status: 0 = Failed, 1 = Succeeded, 2 = Pending. Interpret business-status fields separately.
messageStringOperation or plan message. It is not a substitute for the relevant status field.
orderIdStringMerchant mandate reference.
scheduleStatusStringSchedule state: Active, Stopped, or Completed.
amountStringScheduled debit amount, returned as a decimal string.
frequencyStringSaved schedule frequency.
startDateTimeStringFirst scheduled debit time.
endDateStringLast possible scheduled debit date.
notifyBeforeHoursNumberSaved notification lead time in hours.
cyclesDoneNumberReturned cycle count. Whether this counts attempts or successful debits is not specified.
nextExecutionDateTimeStringReturned next debit time.
nextNotifyDateTimeStringReturned next notification time.
lastDebitIdString / NullMost recent cycle debit ID for execute-status lookup, when available.
lastMessageString / NullLatest schedule message, when available.

Error Handling

ConditionHandling
statusCode: 0Operation failed. Inspect the message and any operation-specific status fields.
statusCode: 2Operation is pending. Use the applicable status endpoint to check the outcome.
Timeout or unknown outcomeCheck the existing operation before submitting another mutation.

The supplied 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

  • Check the returned scheduleStatus field to determine whether the schedule is Active, Stopped, or Completed.
  • Use lastDebitId, when available, with the mandate-execute-status API to check the latest cycle's payment outcome.
  • 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 inspect outstanding debit statuses.

What's Next

Use the mandate-schedule-status API to confirm that scheduleStatus is Stopped and inspect any outstanding debit outcomes.

If the underlying mandate also needs to be revoked, use the Revoke Mandate API separately.