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

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
payer
object 
required
name
string 
required
vpa
string 
required
account
string 
required
accountValidation
boolean 
required
mandateName
string 
required
expiry
string <date-time>
required
blockFund
boolean 
required
recurrence
object 
required
period
enum<string> 
required
Allowed values:
ONETIMEMONTHLYWEEKLYDAILYQUARTERLYBIMONTHLYFORTNIGHTLYHALFYEARLYYEARLYASPRESENTED
rule
enum<string> 
required
Allowed values:
ONBEFOREAFTER
value
integer 
required
validity
object 
required
startAt
string <date-time>
required
endAt
string <date-time>
required
upiReferenceUrl
string 
optional
description
string 
optional
Example
{
    "referenceId": "TXN9876543",
    "amount": 2540,
    "amountRule": "EXACT | MAX",
    "currency": "INR",
    "payer": {
        "name": "John Doe",
        "vpa": "9876543210.prod@bank",
        "account": "0987654321",
        "accountValidation": false
    },
    "name": "Subscription Payment",
    "expiry": "2025-01-31 00:00:00",
    "blockFund": true,
    "recurrence": {
        "period": "onetime|daily|weekly|fortnightly|monthly|bimonthly|quarterly|halfyearly|yearly|aspresented",
        "rule": "ON | before | after",
        "value": 3
    },
    "validity": {
        "startAt": "2025-01-20 00:00:00",
        "endAt": "2025-01-30 00:00:00"
    },
    "upiReferenceUrl": "https://www.example.com/",
    "description": "Recurring Payment for Subscription"
}

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": 2540,
    "amountRule": "EXACT | MAX",
    "currency": "INR",
    "payer": {
        "name": "John Doe",
        "vpa": "9876543210.prod@bank",
        "account": "0987654321",
        "accountValidation": false
    },
    "name": "Subscription Payment",
    "expiry": "2025-01-31 00:00:00",
    "blockFund": true,
    "recurrence": {
        "period": "onetime|daily|weekly|fortnightly|monthly|bimonthly|quarterly|halfyearly|yearly|aspresented",
        "rule": "ON | before | after",
        "value": 3
    },
    "validity": {
        "startAt": "2025-01-20 00:00:00",
        "endAt": "2025-01-30 00:00:00"
    },
    "upiReferenceUrl": "https://www.example.com/",
    "description": "Recurring Payment for Subscription"
}'

Responses

🟢200OK
application/json
Body
umn
string 
required
referenceId
string 
required
mandateId
string 
required
amount
integer 
required
amountRule
string 
required
currency
string 
required
mcc
string 
required
payer
object 
required
name
string 
required
vpa
string 
required
account
string 
required
accountValidation
boolean 
required
name
string 
required
expiry
string <date-time>
required
blockFund
boolean 
required
recurrence
object 
required
period
string 
required
rule
string 
required
value
integer 
required
validity
object 
required
startAt
string <date-time>
optional
endAt
string <date-time>
required
upiReferenceUrl
string 
required
description
string 
required
upiPurposeCode
string 
required
upiResponseCode
string 
required
status
string 
required
createdOn
string <date-time>
required
Example
{
    "umn": "string",
    "referenceId": "string",
    "mandateId": "string",
    "amount": 0,
    "amountRule": "string",
    "currency": "string",
    "mcc": "string",
    "payer": {
        "name": "string",
        "vpa": "string",
        "account": "string",
        "accountValidation": true
    },
    "name": "string",
    "expiry": "2019-08-24T14:15:22Z",
    "blockFund": true,
    "recurrence": {
        "period": "string",
        "rule": "string",
        "value": 0
    },
    "validity": {
        "startAt": "2019-08-24T14:15:22Z",
        "endAt": "2019-08-24T14:15:22Z"
    },
    "upiReferenceUrl": "string",
    "description": "string",
    "upiPurposeCode": "string",
    "upiResponseCode": "string",
    "status": "string",
    "createdOn": "2019-08-24T14:15:22Z"
}
Modified at 2025-07-05 12:37:37
Previous
UPI Autopay
Next
Update UPI Mandate
Built with