Skip to content
NEWCollect for MSMEs: UPI Autopay, eNACH & remindersExplore app ↗

flex.mandate.expired

The flex.mandate.expired event is triggered when the student’s Flex auto-debit mandate reaches its end date.

AttributeTypeDescription
event_idStringUnique identifier for the webhook event.
eventStringEvent name: flex.mandate.expired.
timestampIntegerUnix timestamp when the event was originated.
versionStringWebhook payload version.
payload.jodo_student_idStringJodo student identifier.
payload.studentObjectStudent profile details.
payload.subscriptionObjectFlex subscription details.
payload.subscription.idStringFlex subscription ID.
payload.subscription.statusStringCurrent subscription status.
payload.mandateObjectMandate details.
payload.mandate.idStringMandate ID.
payload.mandate.end_dateStringMandate end date.
payload.mandate.statusStringMandate status, usually expired.
{
"event": "flex.mandate.expired",
"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": null,
"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": "locked"
},
"mandate": {
"id": "mandate_1921",
"end_date": "2023-01-01",
"status": "expired"
}
}
}
  • Mark the mandate as expired in your ERP.
  • Pause any assumptions that future instalments can be auto-debited through the expired mandate.
  • Use subscription and instalment events to determine downstream collection status.
  • Use event_id for idempotency.