Execute Debit

This API initiates an eligible initial debit against an approved UPI AutoPay mandate. Its use is subject to the bank/backend's eligibility rules.

API Details

ParameterValue
MethodPOST
Endpoint/mandate-execute
Base URL{{BASE_URL}}
Content-Typeapplication/json

Authentication

Include the following credentials in the JSON request body. These credentials are available in the WowPe Dashboard.

ParameterLocationTypeMandatoryDescription
clientIdRequest BodyStringYesMerchant Client ID provided in the WowPe Dashboard.
secretKeyRequest BodyStringYesMerchant Secret Key provided in the WowPe Dashboard.

Request Header

HeaderValue
Content-Typeapplication/json

Request Parameters

The following parameters are required or supported in addition to the authentication credentials.

ParameterTypeMandatoryDescription
orderIdStringYesMerchant reference associated with the mandate.
debitIdStringYesUnique merchant reference for the initial debit.
amountNumberYesInitial debit amount permitted by the mandate.
remarksStringNot specifiedAdditional remarks for the debit.

Sample Request

{
  "clientId": "YOUR_CLIENT_ID",
  "secretKey": "YOUR_SECRET_KEY",
  "debitId": "ORDMANUAL01-D0",
  "orderId": "ORDMANUAL01",
  "amount": 1,
  "remarks": "First debit"
}

cURL Request

curl --request POST '{{BASE_URL}}/mandate-execute' \
  --header 'Content-Type: application/json' \
  --data '{
    "clientId": "YOUR_CLIENT_ID",
    "secretKey": "YOUR_SECRET_KEY",
    "debitId": "ORDMANUAL01-D0",
    "orderId": "ORDMANUAL01",
    "amount": 1,
    "remarks": "First debit"
  }'

Replace {{BASE_URL}} with the applicable WowPe API environment URL and use your merchant credentials securely.

Sample Response

Pending Response

{
  "statusCode": 2,
  "message": "Mandate execution request accepted",
  "debitId": "ORDMANUAL01-D0",
  "amount": "1.00",
  "notifyStatus": "NotSent",
  "txnStatus": "Pending",
  "executeRef": "ME261101101630696642",
  "yppReferenceNumber": null,
  "rrn": null,
  "executionDateTime": "2026-11-01T10:16:30",
  "executedDateTime": null
}

Response Parameters

ParameterTypeDescription
statusCodeNumberIndicates the API operation status. 0 = Failed, 1 = Succeeded, 2 = Pending.
messageStringProvides the response message for the execution request.
debitIdStringDebit reference submitted in the request.
amountStringDebit amount, returned as a decimal string.
notifyStatusStringNotification status: NotSent, Pending, Success, or Failed.
txnStatusStringDebit transaction status: NotInitiated, Pending, Success, or Failed.
executeRefString / NullUnique execution request reference, when available.
yppReferenceNumberString / NullProvider reference number, when available.
rrnString / NullBank reference number used for transaction tracing.
executionDateTimeStringScheduled or recorded execution date and time.
executedDateTimeString / NullActual date and time of debit execution, when available.

Error Handling

Status CodeDescriptionAction
0API operation failed.Check the response message and review the request parameters.
2Execution request is pending.Use the Execute Status API to track the transaction outcome.

If a request times out or its outcome is unknown, check the existing debit status before submitting another execution request.

Documented Validation Messages

Error MessageAction
Pre-debit notification not successful.Check the notification status and verify the applicable execution flow.
Mandate cannot be executed before <time>.Wait until the permitted execution time.
Amount not allowed by mandate (MAX 99.00).Ensure the debit amount complies with the mandate's authorised amount rule.
Mandate is not valid today.Check the mandate status and validity dates.

Important Notes

  • The initial debit flow is subject to bank/backend eligibility rules. Confirm the applicable execution window before using this API.
  • Use an approved mandate that does not already have an automatic first debit configured.
  • Provide a unique debitId for the initial debit.
  • The requested debit amount must comply with the mandate's amount rule.
  • The sample request uses a separate mandate created without an automatic plan.
  • txnStatus: "Pending" indicates that the payment outcome has not yet been confirmed.
  • A pre-debit notification is not required for the documented eligible initial-debit example. This must not be interpreted as a general exemption from pre-debit notification requirements.
  • For individually notified debits, the debit is processed automatically at the specified execution time. Do not routinely submit another Execute Debit request for the same debit.

What's Next

Use the Execute Status API with the same debitId to track the transaction and confirm its final outcome.