flex.subscription.setup
flex.subscription.setup
Section titled “flex.subscription.setup”Overview
Section titled “Overview”The flex.subscription.setup webhook event is triggered when the customer completes the Flex setup. This indicates that the customer has authorised their bank account for the debits.
Payload
Section titled “Payload”The payload for the flex.subscription.setup event contains essential details about the student and Flex subscription along with future schedule. Below is a detailed explanation of each field within the payload:
| Attribute | Type | Description |
|---|---|---|
event_id | String | A unique identifier for the webhook event. |
event | String | The event type; in this case, “flex.subscription.setup” |
timestamp | Integer | The Unix timestamp when the event was originated. |
version | String | The version of the webhook payload format (here, “1.0”). |
payload | Object | Detailed information about the event. |
payload.jodo_student_id | Integer | The ID of the student in the JODO system. |
payload.student | Object | Information about the student. |
payload.student.identifier | String | The student’s identifier within your system (if applicable). |
payload.student.custom_identifier | String | A custom identifier associated with the student. |
payload.student.collector_code | String | Branch code (if applicable). |
payload.student.fullname | String | The full name of the student. |
payload.student.academic_year_start | Integer | The start year of the student’s academic year. |
payload.student.academic_year_end | Integer | The end year of the student’s academic year. |
payload.student.primary_contact_number | String | The primary contact number of the student’s parent or guardian. |
payload.student.primary_contact_email | String | The primary contact email address of the student’s parent or guardian. |
payload.student.grade | Object | Information about the student’s grade. |
payload.student.grade.name | String | The name of the grade (e.g., “Montessori 1”). |
payload.student.grade.code | String | The code representing the grade (e.g., “M1BLUE”). |
payload.subscription | Object | Information about the flex subscription. |
payload.subscription.id | Integer | The unique identifier of the flex subscription. |
payload.subscription.status | String | The current status of the flex subscription. |
payload.payment_schedule | Array | Instalment details. |
payload.payment_schedule[].due_date | String | The due date of an installment in the payment schedule of the student. |
payload.payment_schedule[].amount | Number | Instalment amount. |
payload.payment_schedule[].details | Array | An array containing the breakdown of the payment details. |
payload.payment_schedule[].details[].fee_component | String | The type of fee component (e.g., TUITION_FEE, TRANSPORT_FEE). |
payload.payment_schedule[].details[].amount | Number | The amount to be paid for the corresponding fee component. |
Example
Section titled “Example”Below is a sample payload for the flex.subscription.setup event:
{ "event_id": "37a87051-4b9f-4540-a155-2e8f2dd8354f", "event": "flex.subscription.setup", "timestamp": 1692006912, "version": "1.0", "payload": { "jodo_student_id": 7951, "student": { "identifier": "STUDENT_IDENTIFIER", "custom_identifier": null, "collector_code": "81c6b473c138", "fullname": "Ron Rivest", "academic_year_start": 2022, "academic_year_end": 2023, "primary_contact_number": "9876543210", "primary_contact_email": "customer@example.com", "grade": { "name": "Class I", "code": "fdb97be4" } }, "subscription": { "id": 2304, "status": "locked" }, "payment_schedule": [ { "due_date": "2023-10-18", "amount": 1000.0, "details": [{ "fee_component": "ADMISSION_FEE", "amount": 1000.0 }] } ] }}Handling the Event
Section titled “Handling the Event”Upon receiving the flex.subscription.setup event, you can update your systems accordingly to reflect that the customer has finished the Flex setup.
By leveraging this event, you can promptly respond to student status changes, streamline your workflows, and offer a smooth experience to your users with up-to-date information.