m2pfintech

Webhooks & Notifications

Real-time event notifications via Kafka and HTTP webhooks — complete reference with 18+ webhook types, SMS templates, and event payloads.

The UPI Notification System delivers real-time notifications to end users and partner systems based on events occurring across the UPI platform. Notifications are triggered for key user actions and system events related to Profile Management, Transactions, and Mandates.

Complete Event Coverage

The M2P UPI Notification System delivers real-time event notifications across SMS, Email, In-App Push, and HTTP Webhooks with support for 18+ webhook event types and 40+ SMS templates.


Architecture

Event Publishing

Events are published to Apache Kafka from the respective application modules under the following topics:

Kafka TopicSource ModuleDescription
UPI_PROFILEProfile ServiceEvents related to registration, VPA, accounts
UPI_TRANSACTIONTransaction ServiceEvents related to payments, credits, debits
UPI_MANDATEMandate ServiceEvents related to mandate lifecycle operations

Event Consumption & Channel Resolution

Channel Resolution Logic

When an event is consumed from Kafka, the Notification Engine performs the following steps:

Parse the event payload — extract event type, program ID, and dynamic parameters.

Look up program configuration — check which notification channels are enabled for the program.

Resolve enabled channels — determine if SMS, Email, In-App, or Webhook is active.

Render template — substitute dynamic placeholders (e.g., $\{amount}, $\{payeeName}) into the channel-specific template.

Dispatch notification — send the rendered message via each enabled channel.

Supported Notification Channels

ChannelDescription
SMSTransactional SMS sent to the user's registered mobile number
EmailEmail notification sent to the user's registered email address
In-AppPush notification or in-app message rendered within the partner application
WebhookHTTP callback posted to the partner's configured endpoint

Channel availability is configurable per program. A program may enable any combination of the four channels.


SMS Notification Templates

Below are the SMS templates grouped by category. Dynamic placeholders (e.g., $\{amount}, $\{payeeName}) are resolved at runtime from the event payload.

Registration & Profile Events

Sample SMSEventDescription
Hi, Your UPI registration for ABCD UPI handle has started. If it is not you, please report immediately to your bank. - ABD BANKUPI_REGISTRATIONSent when UPI registration is initiated for a user
Dear Customer, you have successfully added your ABCD account $\{maskedAccNumber} with $\{app}. If it is not you, please contact your bank immediately. - ABD BANKUPI_ADD_ACCOUNTSent when a bank account is successfully linked
Congratulations !! Your UPI ID $\{vpa} has been successfully created. - ABD BANKUPI_VPA_ADDEDSent when a new VPA is successfully created
Your UPI ID $\{vpa} linked to Mobile $\{mobileNo} has been de-registered on $\{date} at $\{time} - ABD BANKUPI_VPA_REMOVEDSent when a VPA is de-registered / removed
Your UPI ID $\{vpa} linked to Mobile $\{mobileNo} has been blocked on $\{date} at $\{time} - ABD BANKUPI_BLOCK_VPASent when a VPA is blocked
Dear Customer, you have successfully set your UPI PIN with the $\{app}. If it's not you, kindly contact your bank immediately - ABD BANKUPI_PIN_SETSent when UPI PIN is successfully set

OTP Events

Sample SMSEventDescription
Dear Customer, your OTP to generate UPI PIN is $\{OTP}. If you haven't installed UPI App, call bank's helpline no. - ABD BANKUPI_OTPOTP sent for UPI PIN generation
$\{OTP} is your OTP for ABCD UPI registration. Not you? Call 18602672626 - ABC Bank XBYUOM+GLLUPI_GENERATE_OTPOTP sent during UPI registration flow

Transaction Events

Sample SMSEventDescription
$\{payeeName} has requested INR $\{amount} on your ABCD App. On approving amount will be debited from your ABCD account. - ABD BANKUPI_COLLECT_REQUESTCollect request received by the payer
$\{payeeName} has requested INR $\{amount} on your ABCD App. On approving amount will be debited from your ABCD account. - ABD BANKUPI_COLLECT_REQUEST_V2Collect request received — v2 format
$\{payeeName} has requested INR $\{amount} on ABCD. On approving, amount will be debited from your account. https://ABCiecug.page.link/2ukm - ABC BankUPI_COLLECT_REQUEST (variant)Collect request with deep-link for approval
Your ABCD account $\{payerMaskedAccountNumber} is debited with INR $\{amount} on $\{time} and credited to $\{payeeID} through UPI $\{rrn} - ABD BANKUPI_DEBITAccount debited for a UPI payment
A/C $\{payerMaskedAccountNumber} debited by Rs $\{amount} towards $\{payeeID}. RRN:$\{rrn}. Avl Bal:$\{available_balance}. Not you? Call 18602677777 - ABC bankUPI_DEBIT (variant)Account debited — includes available balance
You have received INR $\{amount} in your ABCD account $\{payeeMaskedAccountNumber} from $\{payerID} on $\{time}, $\{rrn} - ABD BANKUPI_CREDITAccount credited for a UPI payment
A/C $\{payeeMaskedAccountNumber} credited by Rs $\{amount} from $\{payerID}. RRN:$\{rrn}. Avl Bal:$\{available_balance}. Not you? Call 18602677777 - ABC bankUPI_CREDIT (variant)Account credited — includes available balance
Your ABCD account $\{payerMaskedAccountNumber} is credited with INR $\{amount} on $\{time} for reversal of UPI transaction $\{rrn} - ABD BANKUPI_DEBIT_REVERSALAccount credited due to a debit reversal
Dear Customer, you have successfully initiated 1st transaction on $\{app}. If it is not you, please contact your bank - ABD BANKUPI_FIRST_TRANSACTIONSent after the user's first-ever UPI transaction

Mandate — One-Time Events

Sample SMSEventDescription
UPI Manadate is succesfully created towards $\{payeeName} for INR $\{amount} on $\{todayDate} - ABD BANKUPI_MANDATE_ONETIME_CREATE_SUCCESS_PAYEROne-time mandate successfully created
UPI Manadate registration has failed on $\{app} due to $\{errorDescription} - ABD BANKUPI_MANDATE_ONETIME_CREATE_FAILURE_PAYEROne-time mandate creation failed
UPI mandate is successfully revoked towards $\{payeeName} for INR $\{amount} - ABD BANKUPI_MANDATE_ONETIME_REVOKE_SUCCESS_PAYEROne-time mandate successfully revoked
UPI mandate revoke has failed towards $\{payeeName} due to $\{errorDescription} - ABD BANKUPI_MANDATE_ONETIME_REVOKE_FAILURE_PAYEROne-time mandate revocation failed
UPI mandate is successfully modified towards $\{payeeName} from INR $\{oldAmount} to INR $\{amount} - ABD BANKUPI_MANDATE_ONETIME_UPDATE_SUCCESS_PAYEROne-time mandate amount successfully modified
UPI mandate modification towards $\{payeeName} has failed due to $\{errorDescription} - ABD BANKUPI_MANDATE_ONETIME_UPDATE_FAILURE_PAYEROne-time mandate modification failed
Your account has been succesfully debited with INR $\{amount} on $\{todayDate} towards $\{payeeName} UPI Mandate - ABD BANKUPI_ONETIME_MANDATE_EXECUTIONOne-time mandate executed — account debited
Your UPI ID $\{vpa} linked UPI Mandate for $\{payeeName} debit of INR $\{amount} is scheduled on $\{date}. Please ensure sufficient balance in your account - ABD BANKUPI_MANDATE_PREDEBIT_NOTIFICATIONPre-debit reminder for upcoming one-time mandate execution

Mandate — AutoPay (Recurring) Events

Sample SMSEventDescription
UPI AutoPay Manadate with $\{recurrencePattern} is succesfully created towards $\{payeeName} from $\{startDate} to $\{endDate} for INR $\{amount}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_CREATE_SUCCESS_PAYERRecurring AutoPay mandate successfully created
UPI AutoPay Manadate registration has failed on $\{app} due to $\{errorDescription} - ABD BANKUPI_MANDATE_AUTOPAY_CREATE_FAILURE_PAYERRecurring AutoPay mandate creation failed
UPI AutoPay mandate is successfully revoked towards $\{payeeName} for INR $\{amount}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_REVOKE_SUCCESS_PAYERRecurring AutoPay mandate successfully revoked
UPI AutoPay mandate revoke has failed towards $\{payeeName} due to $\{errorDescription}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_REVOKE_FAILURE_PAYERRecurring AutoPay mandate revocation failed
UPI AutoPay mandate is successfully modified towards $\{payeeName} from INR $\{oldAmount} to INR $\{amount}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_UPDATE_SUCCESS_PAYERRecurring AutoPay mandate amount modified
UPI AutoPay mandate modification towards $\{payeeName} has failed due to $\{errorDescription}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_UPDATE_FAILURE_PAYERRecurring AutoPay mandate modification failed
UPI AutoPay mandate set towards $\{payeeName} with INR $\{amount} is paused from $\{startDate} to $\{endDate}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_PAUSE_SUCCESS_PAYERRecurring AutoPay mandate successfully paused
UPI AutoPay mandate pause has failed towards $\{payeeName} due to $\{errorDescription}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_PAUSE_FAILURE_PAYERRecurring AutoPay mandate pause failed
UPI AutoPay mandate set towards $\{payeeName} with INR $\{amount} is successfully unpaused on $\{todayDate}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_UNPAUSE_SUCCESS_PAYERRecurring AutoPay mandate successfully unpaused
UPI AutoPay mandate Unpause has failed towards $\{payeeName} due to $\{errorDescription}, $\{umn} - ABD BANKUPI_MANDATE_AUTOPAY_UNPAUSE_FAILURE_PAYERRecurring AutoPay mandate unpause failed
Your account has been succesfully debited with INR $\{amount} on $\{todayDate} towards $\{payeeName} UPI Autopay, $\{umn} - ABD BANKUPI_RECURRENCE_MANDATE_EXECUTIONRecurring AutoPay mandate executed — account debited
$\{payeeName} has requested the creation of UPI Autopay Mandate for amount upto Rs. $\{amount} on ABCD. https://ABCiecug.page.link/4s3g - ABC BankUPI_RECURRENCE_MANDATE_REQUEST_PAYERAutoPay mandate creation request received with deep-link
UPI AutoPay for $\{payeeName} debit of INR $\{amount} is scheduled on $\{date}, $\{umn}. Please ensure sufficient balance in your account - ABD BANKUPI_AUTOPAY_MANDATE_PREDEBIT_NOTIFICATIONPre-debit reminder for upcoming AutoPay execution

VPA Inactivity Events

Sample SMSEventDescription
Transact now via your VPA $\{vpa} on ABC Bank app to avoid inactivation on $\{disablingDate} due to 365 days of inactivity - ABC BankTHREE_SIXTY_DAYS_COMPLETEDReminder sent at 360 days of VPA inactivity
Transact now via your VPA $\{vpa} on ABC Bank app to avoid inactivation on $\{disablingDate} due to 365 days of inactivity - ABC BankTHREE_SIXTY_FOUR_DAYS_COMPLETEDReminder sent at 364 days of VPA inactivity
Transact now via your VPA $\{vpa} on ABC Bank app to avoid inactivation on $\{disablingDate} due to 365 days of inactivity - ABC BankTHREE_SIXTY_FIVE_DAYS_COMPLETEDFinal reminder sent at 365 days of VPA inactivity
Your UPI ID $\{vpa} is blocked due to 365 days of inactivity. Re-register on ABC Bank app to unblock your UPI Id. - ABC BankTHREE_SIXTY_SIX_DAYS_COMPLETEDVPA blocked after exceeding 365 days of inactivity

Educational / Awareness Events

Sample SMSEventDescription
Dear Customer, never share your UPI PIN, CVV & OTP with anyone over call/SMS/Email even if claiming to be from Bank - ABD BANKUPI_EDUCATIONAL_DONT_SHARESecurity awareness — do not share sensitive info
Dear Customer, please note UPI PIN is used for authorization of a payment. UPI PIN will always be used for deduction of amount from your account - ABD BANKUPI_EDUCATIONAL_PAYMENTEducates user on the purpose of UPI PIN
Dear Customer, please note that UPI PIN will always be used only on the app's UPI PIN page - ABD BANKUPI_EDUCATIONAL_PINEducates user that UPI PIN is only entered in-app

Dynamic Placeholders Reference

PlaceholderDescription
$\{payeeName}Name of the payment recipient / mandate beneficiary
$\{payerID}UPI ID (VPA) of the payer
$\{payeeID}UPI ID (VPA) of the payee
$\{amount}Transaction / mandate amount in INR
$\{oldAmount}Previous mandate amount before modification
$\{time}Timestamp of the transaction
$\{date}Date of the event
$\{todayDate}Current date
$\{rrn}Retrieval Reference Number for the transaction
$\{umn}Unique Mandate Number
$\{vpa}Virtual Payment Address (UPI ID)
$\{mobileNo}User's registered mobile number
$\{maskedAccNumber}Masked bank account number
$\{payerMaskedAccountNumber}Masked account number of the payer
$\{payeeMaskedAccountNumber}Masked account number of the payee
$\{app}Name of the partner application
$\{recurrencePattern}Mandate recurrence frequency (e.g., Monthly, Weekly)
$\{startDate}Mandate start date
$\{endDate}Mandate end date
$\{disablingDate}Date when VPA will be disabled due to inactivity
$\{errorDescription}Error reason for failed operations
$\{OTP}One-Time Password
$\{available_balance}Available account balance after transaction

Webhook Notification Payloads

When the Webhook channel is enabled for a program, the Notification Engine posts the full event payload as a JSON POST request to the partner's registered callback URL. Below are sample payloads for each supported transaction type along with field descriptions.

Sample Data Notice

All sensitive data (account numbers, device IDs, credentials, etc.) in the samples below have been tampered/masked for documentation purposes.


UPI_FINAL_PAYMENT

Final payment confirmation posted after a UPI PAY transaction is completed successfully.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXX79930663" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "amount": { "curr": "INR", "value": "100.00" },
    "code": "0000",
    "seqNum": "1",
    "name": "John Doe",
    "addr": "7993XXXX34@topay",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "91799XXXXX34" },
        { "name": "GEOCODE", "value": "28.6139,77.2090" },
        { "name": "LOCATION", "value": "Delhi" },
        { "name": "TYPE", "value": "ANDROID" },
        { "name": "ID", "value": "A1B2XXXX" },
        { "name": "OS", "value": "Android 14" },
        { "name": "APP", "value": "com.sample.app" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "John Doe", "id": "5023374", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "headType": {
    "ver": "2.0",
    "msgId": "MFP1d67d91baf97442d9bc61e63c078XXXX",
    "orgId": "188863",
    "ts": "2026-03-31T11:55:36+05:30"
  },
  "payeeDetails": [
    {
      "ac": {
        "detail": [
          { "name": "IFSC", "value": "PPIW0XXXXXX" },
          { "name": "ACTYPE", "value": "PPIWALLET" },
          { "name": "ACNUM", "value": "XXXXXXXX90417251" }
        ],
        "addrType": "ACCOUNT"
      },
      "amount": { "curr": "INR", "value": "100.00" },
      "code": "0000",
      "seqNum": "1",
      "name": "Jane Smith",
      "addr": "9041XXXX32@topay",
      "type": "PERSON"
    }
  ],
  "txn": {
    "riskScores": {
      "score": [{ "provider": "SAMPLEPE", "type": "TXNRISK", "value": "00030" }]
    },
    "note": "Payment for order",
    "refCategory": "00",
    "purpose": "00",
    "custRef": "609071996211",
    "id": "TXNVFQKNB7JP0KTW",
    "refId": "899417160",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "PAY",
    "initiationMode": "00",
    "ts": "2026-03-31T11:55:36+05:30"
  },
  "transactionType": "UPI_FINAL_PAYMENT",
  "payee_respCode": "00",
  "profileId": "SAMPLEPE2014_7993066334",
  "payerName": "Jane Smith",
  "payer_respCode": "00",
  "customer_name": "John Doe",
  "channelCode": "SAMPLEPE",
  "status": "SUCCESS"
}

Field Descriptions:

FieldTypeDescription
payerDetailsObjectPayer's account, identity, device, and credential details
payerDetails.ac.detailArrayAccount details — ACNUM, ACTYPE, IFSC
payerDetails.amountObjectTransaction amount with currency
payerDetails.codeStringResponse code (0000 = success)
payerDetails.nameStringPayer's verified name
payerDetails.addrStringPayer's VPA
payerDetails.device.tagArrayDevice metadata — mobile, geocode, OS, app
payerDetails.credsObjectCredential block used for authorization
payerDetails.info.identityObjectVerified identity of the payer account
headTypeObjectMessage header — version, message ID, org ID, timestamp
payeeDetailsArrayList of payee(s) with account and amount details
txnObjectTransaction metadata
txn.riskScoresObjectRisk score from the provider
txn.noteStringTransaction remark / note
txn.custRefStringCustomer reference number (RRN)
txn.idStringUnique transaction ID
txn.typeStringTransaction type — PAY
txn.initiationModeStringMode of initiation
transactionTypeStringEvent type — UPI_FINAL_PAYMENT
payee_respCodeStringPayee side response code
payer_respCodeStringPayer side response code
profileIdStringUnique profile identifier of the user
payerNameStringName of the payer
customer_nameStringCustomer display name
channelCodeStringPartner channel identifier
statusStringFinal transaction status — SUCCESS / FAILURE

UPI_CREDIT

Posted when the payee's account is credited for a UPI transaction.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXX79930663" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "amount": { "split": [], "curr": "INR", "value": "100.00" },
    "code": "0000",
    "seqNum": "1",
    "name": "John Doe",
    "addr": "7993XXXX34@topay",
    "type": "PERSON",
    "info": {
      "identity": { "verifiedName": "John Doe", "id": "5023374", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE", "value": "" }
    }
  },
  "amount": 100.0,
  "headType": {
    "ver": "2.0",
    "msgId": "a7gSLrXXX",
    "orgId": "NPCI",
    "ts": "2026-03-31T11:55:41+05:30"
  },
  "payeeDetails": [
    {
      "ac": {
        "detail": [
          { "name": "ACNUM", "value": "XXXXXXXX90417251" },
          { "name": "ACTYPE", "value": "PPIWALLET" },
          { "name": "IFSC", "value": "PPIW0XXXXXX" }
        ],
        "addrType": "ACCOUNT"
      },
      "amount": { "split": [], "curr": "INR", "value": "100.00" },
      "code": "0000",
      "seqNum": "1",
      "name": "Jane Smith",
      "addr": "9041XXXX32@topay",
      "type": "PERSON"
    }
  ],
  "payerID": "7993XXXX34@topay",
  "txn": {
    "riskScores": {
      "score": [
        { "provider": "SAMPLEPE", "type": "TXNRISK", "value": "00030" },
        { "provider": "NPCI", "type": "TXNRISK", "value": "00000" }
      ]
    },
    "note": "Payment received",
    "refCategory": "00",
    "purpose": "00",
    "custRef": "609071996211",
    "subType": "PAY",
    "id": "TXNVFQKNB7JP0KTW",
    "refId": "899417160",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREDIT",
    "initiationMode": "00",
    "ts": "2026-03-31T11:55:36+05:30"
  },
  "rrn": 609071996211,
  "transactionType": "UPI_CREDIT",
  "dateTimeFormat": "31-03-2026 11:55:36",
  "profileId": "SAMPLEPE2014_9041725132",
  "isSensitive": true,
  "payeeMaskedAccountNumber": "XXXXXXXXXXXXXXXX7251",
  "time": "2026-03-31,11:55:36",
  "customer_name": "John Doe",
  "channelCode": "SAMPLEPE",
  "status": "SUCCESS"
}

Field Descriptions:

FieldTypeDescription
payerDetailsObjectPayer's account and identity details
amountNumberTransaction amount as a numeric value
headTypeObjectMessage header from NPCI
payeeDetailsArrayPayee account and amount details
payerIDStringVPA of the payer
txn.typeStringCREDIT — indicates a credit leg
txn.subTypeStringOriginal transaction sub-type (PAY)
txn.custRefStringRRN — Retrieval Reference Number
rrnNumberRRN as a numeric value
transactionTypeStringUPI_CREDIT
dateTimeFormatStringFormatted date-time string
profileIdStringProfile ID of the credited user
isSensitiveBooleanFlag indicating sensitive data is present
payeeMaskedAccountNumberStringMasked account number of the payee
timeStringTransaction time
customer_nameStringCustomer name
channelCodeStringPartner channel code
statusStringSUCCESS / FAILURE

UPI_DEBIT

Posted when the payer's account is debited for a UPI transaction.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXX79930663" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "amount": { "curr": "INR", "value": "100.00" },
    "code": "0000",
    "seqNum": "1",
    "name": "John Doe",
    "addr": "7993XXXX34@topay",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "91799XXXXX34" },
        { "name": "GEOCODE", "value": "28.6139,77.2090" },
        { "name": "LOCATION", "value": "Delhi" },
        { "name": "TYPE", "value": "ANDROID" },
        { "name": "ID", "value": "A1B2XXXX" },
        { "name": "OS", "value": "Android 14" },
        { "name": "APP", "value": "com.sample.app" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "John Doe", "id": "5023374", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "amount": 100.0,
  "payerMaskedAccountNumber": "XXXXXXXXXXXXXXXX0663",
  "headType": {
    "ver": "2.0",
    "msgId": "MFP1d67d91baf97442d9bc61e63c078XXXX",
    "orgId": "188863",
    "ts": "2026-03-31T11:55:36+05:30"
  },
  "payeeDetails": [
    {
      "amount": { "curr": "INR", "value": "100.00" },
      "code": "0000",
      "seqNum": "1",
      "name": "Jane Smith",
      "addr": "9041XXXX32@topay",
      "type": "PERSON"
    }
  ],
  "txn": {
    "riskScores": {
      "score": [{ "provider": "SAMPLEPE", "type": "TXNRISK", "value": "00030" }]
    },
    "note": "Payment for order",
    "refCategory": "00",
    "purpose": "00",
    "custRef": "609071996211",
    "id": "TXNVFQKNB7JP0KTW",
    "refId": "899417160",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "PAY",
    "initiationMode": "00",
    "ts": "2026-03-31T11:55:36+05:30"
  },
  "rrn": 609071996211,
  "transactionType": "UPI_DEBIT",
  "payeeName": "Jane Smith",
  "dateTimeFormat": "31-03-2026 11:55:36",
  "profileId": "SAMPLEPE2014_7993066334",
  "isSensitive": true,
  "time": "2026-03-31,11:55:36",
  "payeeID": "9041XXXX32@topay",
  "customer_name": "John Doe",
  "channelCode": "SAMPLEPE",
  "status": "REQUESTED"
}

Field Descriptions:

FieldTypeDescription
payerDetailsObjectPayer's full details including account, device, credentials
amountNumberDebit amount
payerMaskedAccountNumberStringMasked payer account number
payeeDetailsArrayPayee details (account info may be absent for debit leg)
txn.typeStringPAY — payment transaction
txn.custRefStringRRN
rrnNumberRetrieval Reference Number
transactionTypeStringUPI_DEBIT
payeeNameStringName of the payee
payeeIDStringVPA of the payee
profileIdStringProfile ID of the debited user
isSensitiveBooleanSensitive data flag
statusStringREQUESTED / SUCCESS / FAILURE

UPI_DEBIT_REVERSAL

Posted when a previously debited amount is reversed back to the payer's account.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXXXXX0641" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "amount": { "curr": "INR", "value": "10.00" },
    "code": "0000",
    "seqNum": "1",
    "name": "Sample User",
    "addr": "86109XXXXX@sample",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9186XXXXXXXX" },
        { "name": "GEOCODE", "value": "17.489,78.393" },
        { "name": "LOCATION", "value": "Hyderabad" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "2B3384XXXXXXXXXX" },
        { "name": "OS", "value": "ios" },
        { "name": "APP", "value": "com.sample.ios" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "Sample User", "id": "9081854", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "amount": 10.0,
  "payerMaskedAccountNumber": "XXXXXXXXXXXXX0641",
  "headType": {
    "ver": "2.0",
    "msgId": "LIV62e215790ae44ff5a611a9d822a0XXXX",
    "orgId": "157272",
    "ts": "2026-03-23T12:12:04+05:30"
  },
  "payeeDetails": [
    {
      "amount": { "curr": "INR", "value": "10.00" },
      "code": "0000",
      "seqNum": "1",
      "name": "Payee User",
      "addr": "payee94879.sample@handle",
      "type": "PERSON"
    }
  ],
  "txn": {
    "riskScores": {
      "score": [{ "provider": "SAMPLE", "type": "TXNRISK", "value": "00030" }]
    },
    "note": "Pay Description",
    "refCategory": "00",
    "purpose": "00",
    "custRef": "608249564960",
    "id": "LIV8F9C6CF60CCC48B0B4CFD6770A73XXXX",
    "refId": "106349354",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "PAY",
    "initiationMode": "00",
    "ts": "2026-03-23T12:12:04+05:30"
  },
  "rrn": 608249564960,
  "transactionType": "UPI_DEBIT_REVERSAL",
  "dateTimeFormat": "23-03-2026 12:12:04",
  "profileId": "8de6753f-23a8-4a18-ab92-a708f4c1XXXX",
  "isSensitive": true,
  "time": "2026-03-23,12:12:04",
  "customer_name": "Sample User",
  "channelCode": "SAMPLEWALL",
  "status": "FAILURE"
}

Field Descriptions:

FieldTypeDescription
payerDetailsObjectOriginal payer's account, device, and identity
amountNumberReversal amount
payerMaskedAccountNumberStringMasked payer account number
payeeDetailsArrayOriginal payee details
txn.typeStringPAY — original transaction type
txn.custRefStringOriginal RRN
rrnNumberRRN of the original transaction
transactionTypeStringUPI_DEBIT_REVERSAL
profileIdStringProfile of the user receiving reversal
statusStringStatus of the reversal (FAILURE / SUCCESS)

UPI_COLLECT_REQUEST_INITIATE

Posted when a collect request is initiated towards a payer.

{
  "payerDetails": {
    "amount": { "curr": "INR", "value": "1.00" },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "c17ffca2416544b7bd3adeb0b691XXXX@sample",
    "type": "PERSON"
  },
  "amount": 1,
  "headType": {
    "ver": "2.0",
    "msgId": "LIV323d3c11a5644d109ae5a729c8ecXXXX",
    "orgId": "157272",
    "ts": "2026-03-09T14:17:49+05:30"
  },
  "payeeDetails": [
    {
      "ac": {
        "detail": [
          { "name": "ACNUM", "value": "XXXXXXXXXXXXXXXX9379" },
          { "name": "ACTYPE", "value": "PPIWALLET" },
          { "name": "IFSC", "value": "PPIW0XXXXXX" }
        ],
        "addrType": "ACCOUNT"
      },
      "amount": { "curr": "INR", "value": "1.00" },
      "code": "4784",
      "seqNum": "1",
      "name": "Merchant Topup",
      "merchant": {
        "identifier": {
          "onBoardingType": "BANK",
          "subCode": "4784",
          "mid": "MID001",
          "merchantType": "LARGE",
          "tid": "TID001",
          "merchantGenre": "ONLINE",
          "sid": "PANMERCHANT001"
        },
        "ownership": { "type": "PROPRIETARY" },
        "verifiedMerchant": false,
        "name": { "brand": "Merchant Topup" }
      },
      "addr": "merchant.autopay@sample",
      "type": "ENTITY",
      "device": {
        "tag": [
          { "name": "MOBILE", "value": "9190XXXXXXXX" },
          { "name": "GEOCODE", "value": "1.235,5.678" },
          { "name": "LOCATION", "value": "Chennai" },
          { "name": "TYPE", "value": "MOB" },
          { "name": "ID", "value": "41b352cfXXXXXXXX" },
          { "name": "OS", "value": "android" },
          { "name": "APP", "value": "1.0.0" }
        ]
      },
      "info": {
        "identity": { "verifiedName": "Merchant Topup", "id": "676530", "type": "ACCOUNT" },
        "rating": { "verifiedAddress": "TRUE" }
      }
    }
  ],
  "payerID": "c17ffca2416544b7bd3adeb0b691XXXX@sample",
  "txn": {
    "riskScores": {
      "score": [{ "provider": "SAMPLE", "type": "TXNRISK", "value": "00030" }]
    },
    "note": "Mandate Execution Collect Request",
    "refCategory": "00",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "10" }]
    },
    "custRef": "606880649491",
    "id": "LIV42870ada48854c7e8bfe51d7acabXXXX",
    "refId": "948181743",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "COLLECT",
    "initiationMode": "11",
    "ts": "2026-03-09T14:17:49+05:30"
  },
  "transactionType": "UPI_COLLECT_REQUEST_INITIATE",
  "profileId": "82d3b8d3-c39e-43a1-88a6-3da8d8a8XXXX",
  "customer_name": "Payer Name",
  "channelCode": "SAMPLEAUTOPAY",
  "status": "REQUESTED"
}

Field Descriptions:

FieldTypeDescription
payerDetailsObjectPayer's basic info (account details may not be present for collect initiation)
amountNumberCollect request amount
payeeDetailsArrayPayee / collector details including merchant info
payeeDetails[].merchantObjectMerchant identifier, ownership, and brand details
payerIDStringVPA of the payer being collected from
txn.typeStringCOLLECT
txn.purposeStringPurpose code (14 = mandate execution)
txn.rulesObjectExpiry rules for the collect request
txn.initiationModeString11 — mandate-initiated collect
transactionTypeStringUPI_COLLECT_REQUEST_INITIATE
profileIdStringProfile ID of the payer
statusStringREQUESTED

UPI_RESP_COMPLAINT

Posted when a complaint response / status update is received from NPCI.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXXXXXXXXXXX" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "LIVQ0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "amount": { "curr": "INR", "value": "1.00" },
    "code": "0000",
    "seqNum": "1",
    "name": "Complainant Name",
    "addr": "91139X@sample",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "91911XXXXXXXX" },
        { "name": "GEOCODE", "value": "90.00,135.00" },
        { "name": "LOCATION", "value": "none" },
        { "name": "TYPE", "value": "Handset" },
        { "name": "ID", "value": "1f23e9aeXXXXXXXX" },
        { "name": "OS", "value": "Android" },
        { "name": "APP", "value": "com.sample.app" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "Complainant Name", "id": "6948493", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "transactionType": "UPI_RESP_COMPLAINT",
  "headType": {
    "ver": "2.0",
    "msgId": "9edcq9XXXX",
    "prodType": "UPI",
    "orgId": "NPCI",
    "ts": "2026-01-31T13:56:19+05:30"
  },
  "payeeDetails": {
    "ac": {
      "detail": [
        { "name": "IFSC", "value": "AABC0XXXXXX" },
        { "name": "ACTYPE", "value": "SAVINGS" },
        { "name": "ACNUM", "value": "XXXXXXXXXXXXXXX2522" }
      ],
      "addrType": "ACCOUNT"
    },
    "amount": { "curr": "INR", "value": "1.00" },
    "code": "0000",
    "seqNum": "1",
    "name": "Beneficiary Name",
    "addr": "beneficiary@handle",
    "type": "PERSON"
  },
  "resp": {
    "ref": [
      {
        "adjRefId": "P170511000033882XXXXX",
        "adjCode": "103",
        "adjAmt": "10.00",
        "approvalNum": "651725",
        "adjFlag": "TCC",
        "type": "BENEFICIARY",
        "addr": "beneficiary@handle",
        "ifsc": "AABC0XXXXXX",
        "accType": "SAVINGS",
        "adjRemarks": "goods delivered"
      }
    ],
    "crn": "UPI23053146891",
    "reqMsgId": "LIVaec3349f06aa4227aa3b6c9123aaXXXX"
  },
  "complaint": {
    "currCycle": "N",
    "reqAdjAmount": "1.00",
    "orgSettRespCode": "RB",
    "reqAdjFlag": "PBRB",
    "reqAdjCode": "U010"
  },
  "profileId": "XXXXXXXXXXXXXXXXXXX",
  "txn": {
    "note": "COMPLAINT",
    "orgTxnId": "LIV70fad6c595124282833a086867327XXX",
    "refCategory": "168161481",
    "purpose": "00",
    "orgMsgId": "LIVaec3349f06aa4227aa3b6c9123aaXXXX",
    "orgRrn": "315051516494",
    "type": "STATUSUPDATE",
    "custRef": "315160341742",
    "subType": "REMITTER",
    "id": "LIVe772285bd6b94f1aa7ab67fdbeaaXXXX",
    "refId": "111648580",
    "refUrl": "https://sample-uat.example.in/upi",
    "initiationMode": "U1",
    "orgTxnDate": "2023-05-30T17:48:13+05:30",
    "ts": "2026-01-31T13:56:19+05:30"
  }
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_RESP_COMPLAINT
headType.prodTypeStringProduct type — UPI
payeeDetailsObjectBeneficiary (payee) account details (not an array for complaint)
respObjectComplaint response details
resp.refArrayAdjustment references
resp.ref[].adjRefIdStringAdjustment reference ID
resp.ref[].adjCodeStringAdjustment code
resp.ref[].adjAmtStringAdjusted amount
resp.ref[].adjFlagStringAdjustment flag (e.g., TCC)
resp.ref[].adjRemarksStringRemarks for the adjustment
resp.crnStringComplaint Reference Number
resp.reqMsgIdStringOriginal request message ID
complaintObjectComplaint metadata
complaint.currCycleStringCurrent cycle flag (Y/N)
complaint.reqAdjAmountStringRequested adjustment amount
complaint.orgSettRespCodeStringOriginal settlement response code
complaint.reqAdjFlagStringRequested adjustment flag
complaint.reqAdjCodeStringRequested adjustment code
txn.orgTxnIdStringOriginal transaction ID being disputed
txn.orgRrnStringOriginal RRN
txn.orgTxnDateStringOriginal transaction date
txn.typeStringSTATUSUPDATE
txn.subTypeStringREMITTER — complainant side

UPI_MANDATE_AUTOPAY_CREATE_REQUEST_PAYER

Posted when an AutoPay mandate creation request is received by the payer.

{
  "payerDetails": {
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "8344XXXX00.sample@handle",
    "type": "PERSON"
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_CREATE_REQUEST_PAYER",
  "payeeName": "Merchant Topup",
  "amount": 2000.0,
  "mandate": {
    "recurrence": { "pattern": "ASPRESENTED" },
    "amount": { "rule": "MAX", "value": "2000.00" },
    "revokeable": "Y",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "18032026", "end": "18032041" },
    "txnId": "LIV3132ba1f0a64434581dbb587XXXXXXXX",
    "ts": "2026-03-18T21:41:20+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "a6UazXXXX",
    "orgId": "NPCI",
    "ts": "2026-03-18T21:41:21+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXXX9379" },
              { "name": "ACTYPE", "value": "PPIWALLET" },
              { "name": "IFSC", "value": "PPIW0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "4784",
          "seqNum": "1",
          "name": "Merchant Topup",
          "addr": "merchant.autopay@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXXX9379", "id": "9178355", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "profileId": "45192a66-fc4f-49f5-b9ba-f136f63bXXXX",
  "txn": {
    "note": "Recurring Mandate",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "5" }]
    },
    "custRef": "607747367160",
    "id": "LIV3132ba1f0a64434581dbb587XXXXXXXX",
    "refId": "423242707",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2026-03-18T21:41:20+05:30"
  },
  "channelCode": "SAMPLEWALL"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_CREATE_REQUEST_PAYER
payeeNameStringMandate beneficiary name
amountNumberMandate maximum amount
mandateObjectMandate configuration
mandate.recurrence.patternStringRecurrence pattern — ASPRESENTED, MONTHLY, YEARLY, etc.
mandate.amount.ruleStringAmount rule — MAX / EXACT
mandate.revokeableStringWhether the mandate can be revoked (Y/N)
mandate.validity.startStringMandate start date (ddMMyyyy)
mandate.validity.endStringMandate end date (ddMMyyyy)
mandate.blockFundStringWhether funds are blocked (Y/N)
txn.typeStringCREATE
txn.initiatedByStringPAYEE or PAYER
txn.rules.ruleArrayExpiry rules

UPI_MANDATE_AUTOPAY_CREATE_SUCCESS_PAYER

Posted when an AutoPay mandate is successfully created.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXX44474400" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "8344XXXX00.sample@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9183XXXXXXXX" },
        { "name": "GEOCODE", "value": "13.064,80.215" },
        { "name": "LOCATION", "value": "Chennai" },
        { "name", "value": "MOB" },
        { "name": "ID", "value": "8bc0732bXXXXXXXX" },
        { "name": "OS", "value": "Android 16" },
        { "name": "APP", "value": "uat.sample.android" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXX44474400", "id": "1774886", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "amount": 2000.0,
  "mandate": {
    "recurrence": { "pattern": "ASPRESENTED" },
    "amount": { "rule": "MAX", "value": "2000.00" },
    "revokeable": "Y",
    "umn": "cccab48c122d4aed8eabecd4b018XXXX@handle",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "19032026", "end": "19032041" },
    "txnId": "LIVcc97478abf7b4e3d8e50e8c4313cXXXX",
    "ts": "2026-03-19T17:33:50+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "a6VRjXXXX",
    "orgId": "NPCI",
    "ts": "2026-03-19T17:33:50+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXXX9379" },
              { "name": "ACTYPE", "value": "PPIWALLET" },
              { "name": "IFSC", "value": "PPIW0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "4784",
          "seqNum": "1",
          "name": "Merchant Topup",
          "addr": "merchant.autopay@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXXX9379", "id": "6413000", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "endDate": "19/03/41",
  "txn": {
    "note": "Recurring Mandate",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "5" }]
    },
    "custRef": "607851666015",
    "id": "LIVcc97478abf7b4e3d8e50e8c4313cXXXX",
    "refId": "887245648",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2026-03-19T17:33:50+05:30"
  },
  "todayDate": "19/03/26",
  "transactionType": "UPI_MANDATE_AUTOPAY_CREATE_SUCCESS_PAYER",
  "payeeName": "Merchant Topup",
  "profileId": "45192a66-fc4f-49f5-b9ba-f136f63bXXXX",
  "umn": "cccab48c122d4aed8eabecd4b018XXXX@handle",
  "customer_name": "Payer Name",
  "startDate": "19/03/26",
  "channelCode": "SAMPLEWALL"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_CREATE_SUCCESS_PAYER
mandate.umnStringUnique Mandate Number — assigned on successful creation
endDateStringFormatted mandate end date (dd/MM/yy)
startDateStringFormatted mandate start date (dd/MM/yy)
todayDateStringCurrent date (dd/MM/yy)
payeeNameStringMandate beneficiary name
umnStringUMN (top-level duplicate for convenience)
customer_nameStringPayer's display name

UPI_MANDATE_AUTOPAY_CREATE_FAILURE_PAYER

Posted when an AutoPay mandate creation fails.

{
  "payerDetails": {
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "8344XXXX00.sample@handle",
    "type": "PERSON"
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_CREATE_FAILURE_PAYER",
  "mandate": {
    "recurrence": { "pattern": "ASPRESENTED" },
    "amount": { "rule": "MAX", "value": "2000.00" },
    "revokeable": "Y",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "18032026", "end": "18032041" },
    "txnId": "LIV3132ba1f0a64434581dbb587XXXXXXXX",
    "ts": "2026-03-18T21:41:20+05:30"
  },
  "errorDescription": "RESPAUTHMANDATE EXPIRED",
  "headType": {
    "ver": "2.0",
    "msgId": "a6UazXXXX",
    "orgId": "NPCI",
    "ts": "2026-03-18T21:41:21+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXXX9379" },
              { "name": "ACTYPE", "value": "PPIWALLET" },
              { "name": "IFSC", "value": "PPIW0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "4784",
          "seqNum": "1",
          "name": "Merchant Topup",
          "addr": "merchant.autopay@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXXX9379", "id": "9178355", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "profileId": "45192a66-fc4f-49f5-b9ba-f136f63bXXXX",
  "customer_name": "Payer Name",
  "txn": {
    "note": "Recurring Mandate",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "5" }]
    },
    "custRef": "607747367160",
    "id": "LIV3132ba1f0a64434581dbb587XXXXXXXX",
    "refId": "423242707",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2026-03-18T21:41:20+05:30"
  },
  "channelCode": "SAMPLEWALL"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_CREATE_FAILURE_PAYER
errorDescriptionStringReason for mandate creation failure
mandateObjectMandate details that failed to create
customer_nameString / NumberCustomer name (may be numeric if name is unavailable)

UPI_MANDATE_AUTOPAY_REVOKE_SUCCESS_PAYER

Posted when an AutoPay mandate is successfully revoked.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXX3d03ee" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "payer@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9184XXXXXXXX" },
        { "name": "GEOCODE", "value": "19.1200,72.8702" },
        { "name": "LOCATION", "value": "Mumbai" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "a6e54ea2XXXXXXXX" },
        { "name": "OS", "value": "Android" },
        { "name": "APP", "value": "com.sample.uat" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXX3d03ee", "id": "7254909", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_REVOKE_SUCCESS_PAYER",
  "amount": 2,
  "mandate": {
    "recurrence": {
      "pattern": "YEARLY",
      "rule": { "type": "ON", "value": "5" }
    },
    "amount": { "rule": "MAX", "value": "2.00" },
    "revokeable": "Y",
    "umn": "d0632c8eb73d45f69689f19c635dXXXX@handle",
    "name": "test",
    "blockFund": "N",
    "shareToPayee": "Y",
    "validity": { "start": "05122025", "end": "05122026" },
    "txnId": "MANDATEEFECB8930443441XXXXXX",
    "ts": "2025-12-05T12:50:04+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "ZKD88357844aa7546788cb19461f009XXXX",
    "orgId": "188865",
    "ts": "2025-12-05T12:50:04+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXX7890" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABF00XXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8099",
          "seqNum": "1",
          "name": "Payee Entity",
          "addr": "payee@handle2",
          "type": "ENTITY"
        }
      ]
    }
  ],
  "profileId": "d03ee44e-7258-4218-818b-76e1d590XXXX",
  "txn": {
    "note": "Mandate Revoke",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "30" }]
    },
    "custRef": "533973780932",
    "id": "MANDATEEFECB8930443441XXXXXX",
    "refId": "165006458",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "12",
    "initiatedBy": "PAYER",
    "ts": "2025-12-05T12:50:04+05:30"
  },
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_REVOKE_SUCCESS_PAYER
mandate.umnStringUnique Mandate Number of the revoked mandate
mandate.shareToPayeeStringWhether mandate details are shared with payee (Y/N)
mandate.recurrence.ruleObjectRecurrence rule — type (ON/BEFORE/AFTER) and value (day)

UPI_MANDATE_AUTOPAY_REVOKE_FAILURE_PAYER

Posted when an AutoPay mandate revocation fails.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXX3d03ee" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "payer@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9184XXXXXXXX" },
        { "name": "GEOCODE", "value": "19.1200,72.8702" },
        { "name": "LOCATION", "value": "Mumbai" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "a6e54ea2XXXXXXXX" },
        { "name": "OS", "value": "Android" },
        { "name": "APP", "value": "com.sample.uat" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXX3d03ee", "id": "7254909", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_REVOKE_FAILURE_PAYER",
  "amount": 2,
  "mandate": {
    "recurrence": {
      "pattern": "YEARLY",
      "rule": { "type": "ON", "value": "5" }
    },
    "amount": { "rule": "MAX", "value": "2.00" },
    "revokeable": "Y",
    "umn": "d0632c8eb73d45f69689f19c635dXXXX@handle",
    "name": "test",
    "blockFund": "N",
    "shareToPayee": "Y",
    "validity": { "start": "05122025", "end": "05122026" },
    "txnId": "MANDATEEFECB8930443441XXXXXX",
    "ts": "2025-12-05T12:50:04+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "ZKD88357844aa7546788cb19461f009XXXX",
    "orgId": "188865",
    "ts": "2025-12-05T12:50:04+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXX7890" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABF00XXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8099",
          "seqNum": "1",
          "name": "Payee Entity",
          "addr": "payee@handle2",
          "type": "ENTITY"
        }
      ]
    }
  ],
  "profileId": "d03ee44e-7258-4218-818b-76e1d590XXXX",
  "txn": {
    "note": "Mandate Revoke",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "30" }]
    },
    "custRef": "533973780932",
    "id": "MANDATEEFECB8930443441XXXXXX",
    "refId": "165006458",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "12",
    "initiatedBy": "PAYER",
    "ts": "2025-12-05T12:50:04+05:30"
  },
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_REVOKE_FAILURE_PAYER
mandate.umnStringUMN of the mandate that failed to revoke
errorDescriptionStringReason for revocation failure (may be absent if error is in response code)

UPI_MANDATE_AUTOPAY_EXECUTION_SUCCESS_PAYER

Posted when a recurring mandate is successfully executed (account debited).

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXXXXXXXX8179" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "8344XXXX00.sample@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9189XXXXXXXX" },
        { "name": "GEOCODE", "value": "1.235,5.678" },
        { "name": "LOCATION", "value": "Chennai" },
        { "name": "TYPE", "value": "ANDROID" },
        { "name": "ID", "value": "9f444fc1XXXXXXXX" },
        { "name": "OS", "value": "android" },
        { "name": "APP", "value": "1.0.0" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXXXXXXXX8179", "id": "3624051", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "app": "SAMPLE APP",
  "mandate": {
    "recurrence": { "pattern": "ASPRESENTED" },
    "amount": { "rule": "MAX", "value": "10.00" },
    "revokeable": "Y",
    "umn": "1d3ee651b958492983da09621a72XXXX@handle",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "18032026", "end": "18032041" },
    "txnId": "LIVbb2cd1c1300047c193677268f26aXXXX",
    "ts": "2026-03-18T13:01:06+05:30"
  },
  "amount": 1.0,
  "headType": {
    "ver": "2.0",
    "msgId": "a6U1A7XXX",
    "orgId": "NPCI",
    "ts": "2026-03-18T13:01:06+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXXX9379" },
              { "name": "ACTYPE", "value": "PPIWALLET" },
              { "name": "IFSC", "value": "PPIW0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "4784",
          "seqNum": "1",
          "name": "Merchant Topup",
          "addr": "merchant.autopay@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXXX9379", "id": "4691876", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "errorDescription": "XX",
  "txn": {
    "note": "Recurring Mandate",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "5" }]
    },
    "custRef": "607765361421",
    "id": "LIVbb2cd1c1300047c193677268f26aXXXX",
    "refId": "603346453",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2026-03-18T13:01:06+05:30"
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_EXECUTION_SUCCESS_PAYER",
  "payeeName": "Merchant Topup",
  "profileId": "45192a66-fc4f-49f5-b9ba-f136f63bXXXX",
  "umn": "1d3ee651b958492983da09621a72XXXX@handle",
  "payerName": "Payer Name",
  "customer_name": "Payer Name",
  "channelCode": "SAMPLEWALL"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_EXECUTION_SUCCESS_PAYER
appStringApplication name where mandate was set up
amountNumberExecution amount (may differ from mandate max)
mandate.amount.valueStringMaximum mandate amount
umnStringUnique Mandate Number
payeeNameStringMandate beneficiary name
payerNameStringPayer name
errorDescriptionStringError code placeholder (may contain non-error values)

UPI_MANDATE_AUTOPAY_PAUSE_SUCCESS_PAYER

Posted when an AutoPay mandate is successfully paused.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXX3d03ee" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "payer@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9184XXXXXXXX" },
        { "name": "GEOCODE", "value": "19.0760,72.8777" },
        { "name": "LOCATION", "value": "Mumbai" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "a6e54ea2XXXXXXXX" },
        { "name": "OS", "value": "Android" },
        { "name": "APP", "value": "XXXXXXXXXX" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXX3d03ee", "id": "5218820", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "amount": 20,
  "mandate": {
    "recurrence": {
      "pattern": "YEARLY",
      "rule": { "type": "ON", "value": "18" }
    },
    "amount": { "rule": "MAX", "value": "20.00" },
    "revokeable": "Y",
    "umn": "1342852ca5c6468cb2d1175a1630XXXX@handle",
    "name": "Monthly Subscription Payment",
    "blockFund": "N",
    "shareToPayee": "Y",
    "validity": { "start": "18122025", "end": "18012026" },
    "txnId": "MANDATE202B8ACEE4404547XXXXXX",
    "ts": "2025-12-18T10:40:59+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "ZKD55ddb30d314042e091957781009XXXX",
    "orgId": "188865",
    "ts": "2025-12-18T10:40:59+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXX7890" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABF00XXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8299",
          "seqNum": "1",
          "name": "Services Pvt Ltd",
          "addr": "payee@handle2",
          "type": "ENTITY"
        }
      ]
    }
  ],
  "endDate": "18/01/26",
  "txn": {
    "note": "Mandate Pause",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "30" }]
    },
    "custRef": "535252582583",
    "id": "MANDATE202B8ACEE4404547XXXXXX",
    "refId": "425723639",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "12",
    "initiatedBy": "PAYER",
    "ts": "2025-12-18T10:40:59+05:30"
  },
  "todayDate": "14/02/26",
  "transactionType": "UPI_MANDATE_AUTOPAY_PAUSE_SUCCESS_PAYER",
  "payeeName": "Services Pvt Ltd",
  "profileId": "d03ee44e-7258-4218-818b-76e1d590XXXX",
  "umn": "1342852ca5c6468cb2d1175a1630XXXX@handle",
  "startDate": "18/12/25",
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_PAUSE_SUCCESS_PAYER
startDateStringPause start date (formatted dd/MM/yy)
endDateStringPause end date (formatted dd/MM/yy)
todayDateStringDate of pause action
umnStringUnique Mandate Number
payeeNameStringMandate beneficiary name

UPI_MANDATE_AUTOPAY_UNPAUSE_SUCCESS_PAYER

Posted when an AutoPay mandate is successfully unpaused.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXX3d03ee" },
        { "name": "ACTYPE", "value": "PPIWALLET" },
        { "name": "IFSC", "value": "PPIW0XXXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "payer@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9184XXXXXXXX" },
        { "name": "GEOCODE", "value": "19.0760,72.8777" },
        { "name": "LOCATION", "value": "Mumbai" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "a6e54ea2XXXXXXXX" },
        { "name": "OS", "value": "Android" },
        { "name": "APP", "value": "XXXXXXXXXX" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "NA",
          "type": "PRE_APPROVED"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXX3d03ee", "id": "5218820", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "amount": 20,
  "mandate": {
    "recurrence": {
      "pattern": "YEARLY",
      "rule": { "type": "ON", "value": "18" }
    },
    "amount": { "rule": "MAX", "value": "20.00" },
    "revokeable": "Y",
    "umn": "1342852ca5c6468cb2d1175a1630XXXX@handle",
    "name": "Monthly Subscription Payment",
    "blockFund": "N",
    "shareToPayee": "Y",
    "validity": { "start": "18122025", "end": "18012026" },
    "txnId": "MANDATE202B8ACEE4404547XXXXXX",
    "ts": "2025-12-18T10:40:59+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "ZKD55ddb30d314042e091957781009XXXX",
    "orgId": "188865",
    "ts": "2025-12-18T10:40:59+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXX7890" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABF00XXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8299",
          "seqNum": "1",
          "name": "Services Pvt Ltd",
          "addr": "payee@handle2",
          "type": "ENTITY"
        }
      ]
    }
  ],
  "endDate": "18/01/26",
  "txn": {
    "note": "Mandate Unpause",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "30" }]
    },
    "custRef": "535252582583",
    "id": "MANDATE202B8ACEE4404547XXXXXX",
    "refId": "425723639",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "12",
    "initiatedBy": "PAYER",
    "ts": "2025-12-18T10:40:59+05:30"
  },
  "todayDate": "14/02/26",
  "transactionType": "UPI_MANDATE_AUTOPAY_UNPAUSE_SUCCESS_PAYER",
  "payeeName": "Services Pvt Ltd",
  "profileId": "d03ee44e-7258-4218-818b-76e1d590XXXX",
  "umn": "1342852ca5c6468cb2d1175a1630XXXX@handle",
  "startDate": "18/12/25",
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_UNPAUSE_SUCCESS_PAYER
todayDateStringDate of unpause action
umnStringUnique Mandate Number
payeeNameStringMandate beneficiary name

UPI_MANDATE_AUTOPAY_UNPAUSE_FAILURE_PAYER

Posted when an AutoPay mandate unpause fails.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXXXXXXX5878" },
        { "name": "ACTYPE", "value": "SAVINGS" },
        { "name": "IFSC", "value": "AABD00XXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "8430XXXX30.sample@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9184XXXXXXXX" },
        { "name": "GEOCODE", "value": "28.645,77.339" },
        { "name": "LOCATION", "value": "Ghaziabad" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "29725f25XXXXXXXX" },
        { "name": "OS", "value": "Android 13" },
        { "name": "APP", "value": "sample.example" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "MPIN",
          "type": "PIN"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXXXXXXX5878", "id": "1552406", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_UNPAUSE_FAILURE_PAYER",
  "payeeName": "Payee Name",
  "mandate": {
    "recurrence": {
      "pattern": "MONTHLY",
      "rule": { "type": "ON", "value": "28" }
    },
    "amount": { "rule": "MAX", "value": "8.00" },
    "revokeable": "Y",
    "umn": "46ef7165a2a94e3bae8a2b1252907XXX@handle",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "06122025", "end": "15102030" },
    "txnId": "MPPa40e3829bbf04e9996bf3d0ebfdaXXXX",
    "ts": "2025-12-06T00:25:59+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "aemPblXXX",
    "orgId": "NPCI",
    "ts": "2025-12-06T00:25:59+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXX2522" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABC0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8299",
          "seqNum": "1",
          "name": "Payee Name",
          "addr": "payee.sample@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXX2522", "id": "6053842", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "profileId": "952463b5-693b-448b-bbc7-7bc2a121XXXX",
  "umn": "46ef7165a2a94e3bae8a2b1252907XXX@handle",
  "txn": {
    "note": "Mandate Unpause",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "30" }]
    },
    "custRef": "534049661081",
    "id": "MPPa40e3829bbf04e9996bf3d0ebfdaXXXX",
    "refId": "460342979",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2025-12-06T00:25:59+05:30"
  },
  "todayDate": "08/12/25",
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_UNPAUSE_FAILURE_PAYER
payeeNameStringMandate beneficiary name
umnStringUnique Mandate Number
todayDateStringDate of failed unpause attempt

UPI_MANDATE_AUTOPAY_UPDATE_SUCCESS_PAYER

Posted when an AutoPay mandate amount is successfully modified.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXXXXXX2878" },
        { "name": "ACTYPE", "value": "SAVINGS" },
        { "name": "IFSC", "value": "AABD00XXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "9677XXXX36.sample@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9196XXXXXXXX" },
        { "name": "GEOCODE", "value": "13.01,80.208" },
        { "name": "LOCATION", "value": "Chennai" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "633d4f8dXXXXXXXX" },
        { "name": "OS", "value": "Android 14" },
        { "name": "APP", "value": "com.sample.upi.android" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "MPIN",
          "type": "PIN"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXXXXXX2878", "id": "9724467", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_UPDATE_SUCCESS_PAYER",
  "amount": 45,
  "mandate": {
    "recurrence": { "pattern": "ASPRESENTED" },
    "amount": { "rule": "MAX", "value": "45.00" },
    "revokeable": "Y",
    "umn": "6ed1f92bd9a84bc1a3ef24b0f846XXXX@handle",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "19112025", "end": "19112040" },
    "txnId": "MPP05dcbca1a039497f9f241bce2f7dXXXX",
    "ts": "2025-11-19T18:11:32+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "adTd6XXXX",
    "orgId": "NPCI",
    "ts": "2025-11-19T18:11:33+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXX2522" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABC0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8299",
          "seqNum": "1",
          "name": "Payee Name",
          "addr": "payee.sample@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXX2522", "id": "6705634", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "profileId": "7eb406dc-b3b9-42e2-8f13-6d2eeffaXXXX",
  "umn": "6ed1f92bd9a84bc1a3ef24b0f846XXXX@handle",
  "payerName": "Payee Name",
  "txn": {
    "note": "Recurring Mandate",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "140" }]
    },
    "custRef": "532365232548",
    "id": "MPP05dcbca1a039497f9f241bce2f7dXXXX",
    "refId": "958063926",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2025-11-19T18:11:32+05:30"
  },
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_UPDATE_SUCCESS_PAYER
amountNumberNew updated mandate amount
mandate.amount.valueStringUpdated maximum amount
umnStringUnique Mandate Number
payerNameStringPayer name

UPI_MANDATE_AUTOPAY_UPDATE_FAILURE_PAYER

Posted when an AutoPay mandate modification fails.

{
  "payerDetails": {
    "ac": {
      "detail": [
        { "name": "ACNUM", "value": "XXXXXXXXXXXXXX2878" },
        { "name": "ACTYPE", "value": "SAVINGS" },
        { "name": "IFSC", "value": "AABD00XXXXX" }
      ],
      "addrType": "ACCOUNT"
    },
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "9677XXXX36.sample@handle",
    "type": "PERSON",
    "device": {
      "tag": [
        { "name": "MOBILE", "value": "9196XXXXXXXX" },
        { "name": "GEOCODE", "value": "13.01,80.208" },
        { "name": "LOCATION", "value": "Chennai" },
        { "name": "TYPE", "value": "MOB" },
        { "name": "ID", "value": "41b352cfXXXXXXXX" },
        { "name": "OS", "value": "Android 14" },
        { "name": "APP", "value": "com.sample.upi.android" }
      ]
    },
    "creds": {
      "cred": [
        {
          "data": { "code": "NPCI", "value": "XXXXXXXXXXXX", "ki": "20150822" },
          "subType": "MPIN",
          "type": "PIN"
        }
      ]
    },
    "info": {
      "identity": { "verifiedName": "XXXXXXXXXXXXXX2878", "id": "8460211", "type": "ACCOUNT" },
      "rating": { "verifiedAddress": "TRUE" }
    }
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_UPDATE_FAILURE_PAYER",
  "mandate": {
    "recurrence": {
      "pattern": "MONTHLY",
      "rule": { "type": "ON", "value": "28" }
    },
    "amount": { "rule": "MAX", "value": "55.00" },
    "revokeable": "Y",
    "umn": "161d96310d224bae9df8f3e58e9aXXXX@handle",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "22112025", "end": "20102030" },
    "txnId": "MPP7a92915cca274242b18494b405XXXXXXXX",
    "ts": "2025-11-22T12:14:09+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "adYo2XXXX",
    "orgId": "NPCI",
    "ts": "2025-11-22T12:14:09+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXX2522" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABC0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8299",
          "seqNum": "1",
          "name": "Payee Name",
          "addr": "payee.sample@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXX2522", "id": "9835877", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "profileId": "7eb406dc-b3b9-42e2-8f13-6d2eeffaXXXX",
  "payerName": "Payee Name",
  "txn": {
    "note": "Recurring Mandate",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "30" }]
    },
    "custRef": "532681473796",
    "id": "MPP7a92915cca274242b18494b405XXXXXXXX",
    "refId": "327291281",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2025-11-22T12:14:09+05:30"
  },
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_UPDATE_FAILURE_PAYER
mandate.amount.valueStringRequested new amount that failed
umnStringUnique Mandate Number
payerNameStringPayer name

UPI_MANDATE_AUTOPAY_UPDATE_REQUEST_PAYER

Posted when an AutoPay mandate update request is received by the payer.

{
  "payerDetails": {
    "code": "0000",
    "seqNum": "1",
    "name": "Payer Name",
    "addr": "8430XXXX30.sample@handle",
    "type": "PERSON"
  },
  "transactionType": "UPI_MANDATE_AUTOPAY_CREATE_REQUEST_PAYER",
  "payeeName": "Payee Name",
  "amount": 7,
  "mandate": {
    "recurrence": {
      "pattern": "MONTHLY",
      "rule": { "type": "ON", "value": "28" }
    },
    "amount": { "rule": "MAX", "value": "7.00" },
    "revokeable": "Y",
    "name": "Recurring Mandate",
    "blockFund": "N",
    "validity": { "start": "11122025", "end": "15102030" },
    "txnId": "MPPf5a0a0f7c0e24a3aa10aab64d77XXXXXXXX",
    "ts": "2025-12-11T14:02:35+05:30"
  },
  "headType": {
    "ver": "2.0",
    "msgId": "aevS5XXXX",
    "orgId": "NPCI",
    "ts": "2025-12-11T14:02:35+05:30"
  },
  "payeeDetails": [
    {
      "payee": [
        {
          "ac": {
            "detail": [
              { "name": "ACNUM", "value": "XXXXXXXXXXXXXXX2522" },
              { "name": "ACTYPE", "value": "CURRENT" },
              { "name": "IFSC", "value": "AABC0XXXXXX" }
            ],
            "addrType": "ACCOUNT"
          },
          "code": "8299",
          "seqNum": "1",
          "name": "Payee Name",
          "addr": "payee.sample@handle",
          "type": "ENTITY",
          "info": {
            "identity": { "verifiedName": "XXXXXXXXXXXXXXX2522", "id": "6668535", "type": "ACCOUNT" },
            "rating": { "verifiedAddress": "TRUE", "value": "" }
          }
        }
      ]
    }
  ],
  "profileId": "952463b5-693b-448b-bbc7-7bc2a121XXXX",
  "txn": {
    "note": "Recurring Mandate",
    "purpose": "14",
    "rules": {
      "rule": [{ "name": "EXPIREAFTER", "value": "30" }]
    },
    "custRef": "534561989120",
    "id": "MPPf5a0a0f7c0e24a3aa10aab64d77XXXXXXXX",
    "refId": "864621626",
    "refUrl": "https://sample-uat.example.in/upi",
    "type": "CREATE",
    "initiationMode": "00",
    "initiatedBy": "PAYEE",
    "ts": "2025-12-11T14:02:35+05:30"
  },
  "channelCode": "SAMPLE"
}

Field Descriptions:

FieldTypeDescription
transactionTypeStringUPI_MANDATE_AUTOPAY_UPDATE_REQUEST_PAYER (note: payload may show CREATE_REQUEST internally)
payeeNameStringMandate beneficiary name
amountNumberRequested updated amount
mandate.recurrence.patternStringMONTHLY
mandate.recurrence.ruleObjectRule — ON day 28

Notes

  • All SMS messages end with the issuing bank identifier (e.g., - ABD BANK, - ABC Bank).
  • Template content may vary across programs; the samples above are representative defaults.
  • Webhook notifications deliver the full event payload as a JSON POST to the partner's registered callback URL.
  • In-App notifications are delivered via push notification services (FCM / APNs) configured per program.

On this page