m2pfintech
API LibraryWebhooks

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.

POST
/webhook/mandate/status

Request Body

application/json

umn?string

Unique Mandate Number

mandateStatus?string

Current mandate status

Value in"CREATED" | "ACTIVE" | "PAUSED" | "REVOKED" | "EXPIRED" | "EXECUTED"
mandateType?string

Type of mandate

Value in"RECURRING" | "ONETIME"
amount?string

Mandate amount

amountRule?string

Amount rule

Value in"EXACT" | "MAX"
recurrencePattern?string

Recurrence frequency

payerVpa?string

Payer VPA

payeeVpa?string

Payee VPA

validityStart?string

Mandate start date

validityEnd?string

Mandate end date

profileId?string

Profile ID of the payer

action?string

Action that triggered this notification

Value in"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"
}