Enkash Developer Portal
Home
Home
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

Create UPI Mandate

POST
/api/v0/upi-mandate
📌
Use this API to create a UPI mandate, allowing you to set up automated recurring payments directly from your customer’s UPI-linked bank account. This ensures secure, hassle-free collections for subscriptions, EMIs, or any recurring billing.

Request

Header Params
merchantAccessKey
string 
required
Authorization
string 
required
Body Params application/json
referenceId
string 
required
amount
integer 
required
amountRule
enum<string> 
required
Allowed values:
EXACTMAX
currency
string 
required
payee
object 
optional
vpa
string 
required
name
string 
required
mcc
string 
required
payer
object 
required
vpa
string 
required
name
string 
required
account
string 
required
accountValidation
boolean 
required
mandateName
string 
required
expiry
integer 
required
recurrence
object 
required
period
enum<string> 
required
Allowed values:
ONETIMEDAILYWEEKLYFORTNIGHTLYMONTHLYQUATERLYHALF_YEARLYYEARLYASPRESENTED
rule
enum<string> 
required
Allowed values:
ONBEFOREAFTER
value
string 
required
validity
object 
required
startAt
string 
required
endAt
string 
required
upiReferenceUrl
string 
optional
description
string 
required
upiPurposeCode
string 
optional
Example
{
    "referenceId": "TXN9876543",
    "amount": 100,
    "amountRule": "EXACT",
    "currency": "INR",
    "payee": {
        "vpa": "eu@vpa",
        "name": "Joyce Hermann-Bogisich",
        "mcc": "0000"
    },
    "payer": {
        "vpa": "9876543210.prod@bank",
        "name": "John Doe",
        "account": "0987654321",
        "accountValidation": false
    },
    "mandateName": "Lula Hammes",
    "expiry": 100,
    "recurrence": {
        "period": "MONTHLY",
        "rule": "ON",
        "value": "cupidatat"
    },
    "validity": {
        "startAt": "2025-07-20 00:00:00",
        "endAt": "2025-10-20 00:00:00"
    },
    "upiReferenceUrl": "https://www.example.com/",
    "description": "Recurring Payment for Subscription",
    "upiPurposeCode": "63"
}

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 '/api/v0/upi-mandate' \
--header 'merchantAccessKey;' \
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "referenceId": "TXN9876543",
    "amount": 100,
    "amountRule": "EXACT",
    "currency": "INR",
    "payee": {
        "vpa": "eu@vpa",
        "name": "Joyce Hermann-Bogisich",
        "mcc": "0000"
    },
    "payer": {
        "vpa": "9876543210.prod@bank",
        "name": "John Doe",
        "account": "0987654321",
        "accountValidation": false
    },
    "mandateName": "Lula Hammes",
    "expiry": 100,
    "recurrence": {
        "period": "MONTHLY",
        "rule": "ON",
        "value": "cupidatat"
    },
    "validity": {
        "startAt": "2025-07-20 00:00:00",
        "endAt": "2025-10-20 00:00:00"
    },
    "upiReferenceUrl": "https://www.example.com/",
    "description": "Recurring Payment for Subscription",
    "upiPurposeCode": "63"
}'

Responses

🟢200OK
application/json
Body
response_code
integer 
required
response_message
string 
required
payload
object (UpiMandateResponse) 
required
referenceId
string 
required
pspRefNo
string 
required
umn
string 
optional
mandateTransactionId
string 
optional
amount
integer 
required
amountRule
enum<string> 
required
Allowed values:
EXACTMAX
currency
string 
required
payer
object 
required
mandateName
string 
required
expiry
integer 
required
blockFund
boolean 
optional
revocableByPayer
boolean 
optional
recurrence
object 
required
validity
object 
required
pausePeriod
object 
optional
upiReferenceUrl
string 
required
description
string 
required
mcc
string 
required
upiPurposeCode
string 
required
status
enum<string> 
required
Allowed values:
CREATEDACTIVEPAUSEREVOKEDPROCESSINGPENDING
createdAt
string 
required
revoked
boolean 
optional
orgTxnId
string 
optional
Example
{
    "response_code": 0,
    "response_message": "string",
    "payload": {
        "referenceId": "string",
        "pspRefNo": "string",
        "umn": "string",
        "mandateTransactionId": "string",
        "amount": 0,
        "amountRule": "EXACT",
        "currency": "string",
        "payer": {
            "vpa": "string",
            "name": "string",
            "account": "string",
            "accountValidation": true
        },
        "mandateName": "string",
        "expiry": 0,
        "blockFund": true,
        "revocableByPayer": true,
        "recurrence": {
            "period": "ONETIME",
            "rule": "ON",
            "value": "string"
        },
        "validity": {
            "startAt": "string",
            "endAt": "string"
        },
        "pausePeriod": {
            "startAt": "string",
            "endAt": "string"
        },
        "upiReferenceUrl": "string",
        "description": "string",
        "mcc": "string",
        "upiPurposeCode": "string",
        "status": "CREATED",
        "createdAt": "string",
        "revoked": true,
        "orgTxnId": "string"
    }
}
Modified at 2025-07-23 11:07:58
Previous
UPI Autopay
Next
Update UPI Mandate
Built with