Enkash Developer Portal
HomePayment GatewayPayoutsCreate Account
HomePayment GatewayPayoutsCreate Account
Login
  1. UPI Autopay
  • Back to home
  • Payment Gateway APIs
  • Authorisation
    • Get Authorization Token
  • Order
    • Create Order
    • Get Order Status
    • Get Order By Merchant Order Id
    • Get BNPL Payment Methods
    • Get Dynamic UPI QR
    • UPI Intent Links
  • Payment
    • Submit Payment Request
    • Get Transaction Status
    • Validate OTP
    • Resend OTP
    • Payment Notify Request
    • Get UPI Transaction Status
    • Verify UPI VPA
  • Refund
    • Refund
  • Settlement
    • Get Settlement Payout By ID
    • Search Settlement Payouts
  • Split Settlement
    • Create Split Settlement Account
    • Update Split Settlement Account
    • Get All Split Settlement Account
    • Deactivate Split Settlement Account
    • Activate Split Settlement Account
    • Submit Payment with Split Details
    • Edit Or Deferred Split Settlement
  • E-Commerce Plugins
  • UPI QR
    • Create UPI QR
    • Get UPI QR
    • Search UPI QR
    • Create Customer
    • Search Customer
    • Cancel UPI QR
  • UPI Autopay
    • Create UPI Mandate
      POST
    • Update UPI Mandate
      PATCH
    • Revoke UPI Mandate
      PATCH
    • Get UPI Mandate
      GET
    • UPI Mandate Callback
      POST
    • Mandate Pre-debit Notification
      POST
    • Execute Mandate Debit
      POST
    • Mandate Debit Callback
      POST
  • Payment Links
    • Payment Link APIs
    • Create Payment Link
    • Get Payment Link Details
    • Delete Payment Link
    • Webhook Request
  1. UPI Autopay

UPI Mandate Callback

POST
/post
📌
EnKash sends a callback (webhook) to your server whenever there’s an update to a UPI mandate—such as approval, rejection, or revocation. Use this to automatically track mandate status changes and keep your systems in sync without manual checks.

Request

Body Params application/json
umn
string 
required
referenceId
string 
required
mandateId
string 
required
amount
integer 
required
amountRule
string 
required
currency
string 
required
payee
object 
required
vpa
string 
required
name
string 
required
mcc
string 
required
payer
object 
required
name
string 
required
vpa
string 
required
account
string 
required
accountValidation
boolean 
required
name
string 
required
expireAt
integer 
required
blockFund
boolean 
required
revokeableByPayer
boolean 
required
recurrence
object 
required
period
string 
required
rule
string 
required
value
integer 
required
validity
object 
required
startAt
integer 
required
endAt
integer 
required
pausePeriod
object 
required
start_at
integer 
required
end_at
integer 
required
upiReferenceUrl
string 
required
description
string 
required
upiPurposeCode
string 
required
upiResponseCode
string 
required
status
string 
required
createdAt
integer 
required
Example
{
    "umn": "XYZ987",
    "referenceId": "TXN6543210",
    "mandateTransactionId": "ENKA00001234",
    "amount": 1722,
    "amountRule": "EXACT | MAX",
    "currency": "usd",
    "payee": {
        "vpa": "merchant@abc",
        "name": "ABC Pvt. Ltd.",
        "mcc": "1234"
    },
    "payer": {
        "name": "Jane Smith",
        "vpa": "1234567890.prod@bank",
        "account": "5678901234",
        "accountValidation": true
    },
    "name": "Subscription Payment",
    "expireAt": 1823418099,
    "blockFund": true,
    "revokeableByPayer": true,
    "recurrence": {
        "period": "ONE_TIME | DAILY | WEEKLY | FORTNIGHTLY | MONTHLY | BIMONTHLY | QUARTERLY | HALF_YEARLY | YEARLY | AS_PRESENTED",
        "rule": "after",
        "value": 3
    },
    "validity": {
        "startAt": 1823418099,
        "endAt": 1924519100
    },
    "pausePeriod": {
        "start_at": 1722317078,
        "end_at": 1722317078
    },
    "upiReferenceUrl": "https://www.example.com/",
    "description": "Automated Recurring Mandate",
    "upiPurposeCode": "10",
    "upiResponseCode": "99",
    "status": "pending",
    "createdAt": 1823418099
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/post' \
--header 'Content-Type: application/json' \
--data-raw '{
    "umn": "XYZ987",
    "referenceId": "TXN6543210",
    "mandateTransactionId": "ENKA00001234",
    "amount": 1722,
    "amountRule": "EXACT | MAX",
    "currency": "usd",
    "payee": {
        "vpa": "merchant@abc",
        "name": "ABC Pvt. Ltd.",
        "mcc": "1234"
    },
    "payer": {
        "name": "Jane Smith",
        "vpa": "1234567890.prod@bank",
        "account": "5678901234",
        "accountValidation": true
    },
    "name": "Subscription Payment",
    "expireAt": 1823418099,
    "blockFund": true,
    "revokeableByPayer": true,
    "recurrence": {
        "period": "ONE_TIME | DAILY | WEEKLY | FORTNIGHTLY | MONTHLY | BIMONTHLY | QUARTERLY | HALF_YEARLY | YEARLY | AS_PRESENTED",
        "rule": "after",
        "value": 3
    },
    "validity": {
        "startAt": 1823418099,
        "endAt": 1924519100
    },
    "pausePeriod": {
        "start_at": 1722317078,
        "end_at": 1722317078
    },
    "upiReferenceUrl": "https://www.example.com/",
    "description": "Automated Recurring Mandate",
    "upiPurposeCode": "10",
    "upiResponseCode": "99",
    "status": "pending",
    "createdAt": 1823418099
}'

Responses

🟢200OK
application/json
Body
object {0}
Example
{}
Modified at 2025-07-05 12:40:18
Previous
Get UPI Mandate
Next
Mandate Pre-debit Notification
Built with