flex.mandate.cancelled
The flex.mandate.cancelled event is triggered when the student’s Flex auto-debit mandate is revoked or cancelled.
Payload
Section titled “Payload”| Attribute | Type | Description |
|---|---|---|
event_id | String | Unique identifier for the webhook event. |
event | String | Event name: flex.mandate.cancelled. |
timestamp | Integer | Unix timestamp when the event was originated. |
version | String | Webhook payload version. |
payload.jodo_student_id | String | Jodo student identifier. |
payload.student | Object | Student profile details. |
payload.subscription | Object | Flex subscription details. |
payload.subscription.id | String | Flex subscription ID. |
payload.subscription.status | String | Current subscription status. |
payload.mandate | Object | Mandate details. |
payload.mandate.id | String | Mandate ID. |
payload.mandate.status | String | Mandate status, usually cancelled. |
payload.mandate.npci_category_code | String | Mandate cancellation or failure category from NPCI. |
Example
Section titled “Example”{ "event": "flex.mandate.cancelled", "event_id": "f8093bb5-29c7-4b3a-a99b-298520233820", "timestamp": 1655448963, "version": "1.0", "payload": { "jodo_student_id": "student_1234", "student": { "identifier": "1234", "custom_identifier": "cust_1234", "collector_code": "Branch1", "fullname": "Jodo Test Student", "academic_year_start": 2022, "academic_year_end": 2023, "primary_contact_number": "9876543210", "primary_contact_email": "parent@example.com", "grade": { "name": "M1BLUE", "code": "Montessori 1" }, "notes": [ { "key": "registration_number", "value": "REG12345" } ] }, "subscription": { "id": "sub_88001", "status": "active" }, "mandate": { "id": "mandate_1921", "status": "cancelled", "npci_category_code": "customer_revoked" } }}Failure Categories
Section titled “Failure Categories”account_not_activebank_kyc_pendingcustomer_revokedmandate_error
Handling the Event
Section titled “Handling the Event”- Mark the mandate as cancelled in your ERP.
- Use
npci_category_codeto show the right support or recovery message. - Do not mark the subscription closed only from this event; use subscription lifecycle events for subscription state.
- Use
event_idfor idempotency.