Transaction Status Webhook
Webhook endpoint called by M2P on the partner system to deliver real-time transaction status updates. Partners must implement this endpoint to receive asynchronous payment completion notifications. The webhook is sent when a transaction reaches a final state (SUCCESS, FAILURE, or DEEMED). Partners should respond with HTTP 200 to acknowledge receipt. M2P retries up to 3 times with exponential backoff if the webhook delivery fails.
Request Body
application/json
Unique transaction identifier
Retrieval Reference Number from NPCI
Final transaction status
"SUCCESS" | "FAILURE" | "DEEMED"NPCI response code (00 for success)
Transaction amount
Payer VPA
Payee VPA
Payee display name
Transaction timestamp in ISO 8601 format
date-timeTransaction type
"PAY" | "COLLECT"Transaction remarks
Whether the notification is for a debit or credit
"DEBIT" | "CREDIT"Profile ID of the user
Response Body
application/json
curl -X POST "https://sandbox-upi-api.m2pfintech.com/webhook/transaction/status" \ -H "Content-Type: application/json" \ -d '{ "txnId": "TXN20260301123456ABCD", "rrn": "603012345678", "txnStatus": "SUCCESS", "npciResponseCode": "00", "amount": "250.00", "payerVpa": "amit.patel@indie", "payeeVpa": "merchant@upi", "payeeName": "Coffee Shop", "txnDate": "2026-03-01T14:30:00Z", "txnType": "PAY", "remarks": "Coffee payment", "debitCredit": "DEBIT", "profileId": "c82e4f19-7b3a-4d6e-9f01-ab3456789def" }'{
"status": "OK"
}Mandate Status Webhook POST
Webhook endpoint called by M2P on the partner system to deliver mandate status updates. Notifies when mandates are created, approved, rejected, revoked, paused, or executed. Partners must respond with HTTP 200 to acknowledge.
Webhooks & Notifications
Real-time event notifications via Kafka and HTTP webhooks — complete reference with 18+ webhook types, SMS templates, and event payloads.
