Mandate Status Webhook
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.
Request Body
application/json
Unique Mandate Number
Current mandate status
"CREATED" | "ACTIVE" | "PAUSED" | "REVOKED" | "EXPIRED" | "EXECUTED"Type of mandate
"RECURRING" | "ONETIME"Mandate amount
Amount rule
"EXACT" | "MAX"Recurrence frequency
Payer VPA
Payee VPA
Mandate start date
Mandate end date
Profile ID of the payer
Action that triggered this notification
"CREATE" | "APPROVE" | "REJECT" | "REVOKE" | "PAUSE" | "UNPAUSE" | "EXECUTE"Response Body
application/json
curl -X POST "https://sandbox-upi-api.m2pfintech.com/webhook/mandate/status" \ -H "Content-Type: application/json" \ -d '{ "umn": "UMN20260301ABCD1234", "mandateStatus": "ACTIVE", "mandateType": "RECURRING", "amount": "499.00", "amountRule": "EXACT", "recurrencePattern": "MONTHLY", "payerVpa": "amit.patel@indie", "payeeVpa": "subscription@merchant", "validityStart": "2026-04-01", "validityEnd": "2027-03-31", "profileId": "c82e4f19-7b3a-4d6e-9f01-ab3456789def", "action": "CREATE" }'{
"status": "OK"
}Collect Request Notification Webhook POST
Webhook endpoint called by M2P to notify the partner when a new collect request is received for the users VPA. The partner app should display this as a notification prompting the user to approve or decline the collect request.
Transaction Status Webhook POST
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.
