Schedule Payment Webhook
The following payload will be sent to the URL endpoint configured in the ScheduleWebhookEndpoint setting after a schedule has been successfully created on a device.
Schedule Handling Mode
Enterprise integrations can use the ScheduleHandlingMode setting to control how Donary handles recurring donation schedules.
Available modes
- Integration — Donary sends the schedule details to the configured schedule webhook endpoint. This is the existing schedule webhook behavior.
- Donary — Donary manages the recurring schedule internally. The partner receives webhook/payment summary information and does not need to process the schedule.
- Banquest — Donary sends the recurring schedule setup to Banquest. The partner still receives webhook/payment summary information while Banquest handles the recurring schedule.
If ScheduleHandlingMode is missing or not configured, Donary uses Integration mode for backward compatibility with existing integrations.
When the first schedule date is in the future, Donary routes the schedule according to the selected ScheduleHandlingMode instead of charging the first payment immediately where gateway or integration handling applies.
Note:
totalScheduleAmountis the full committed schedule amount, including the first payment.
Payload
| Name | Type | Description | Child Attributes | |
|---|---|---|---|---|
| orgGuid | string | Organization's unique identifier. | ||
| scheduleUniqueID | string | Unique identifier for the schedule. | ||
| totalScheduleAmount | string | Full committed schedule amount, including the first payment. | ||
| countOfSchedules | string | Number of scheduled payments. | ||
| frequency | string | Frequency of the schedule, options are as follows:
Daily
Weekly
Every_3rd_week
Monthly
Annually
Monthly_Hebrew
Annually_Hebrew
Special_Days
Yizkor
Every_3rd_week
Every_4th_week
Every_2nd_month
Every_3rd_month
Every_2nd_Hebrew_month
Every_3rd_Hebrew_month | ||
| scheduleStartDate | string | Start date of the schedule. | If ScheduleStartDate is set to today, the first payment will be processed by Donary, and the details will be included in the firstPayment object. No charge will be made by Donary if the ScheduleStartDate is for the future. | |
| currency | string | Currency of the transaction, which will be one of the following:
USD
ILS
EUR
CAD
GBP | ||
| donorInfo | object | Information about the donor. | ||
| campaignInfo | array of objects | Information about the campaign. | ||
| reasonInfo | array of objects | Information about the reason. | ||
| collectorInfo | object | Information about the collector. | ||
| locationInfo | object | Information about the location. | ||
| firstPayment | object | Only included if the first payment is processed. |
Example:
In the following example, the client set the schedule webhook URL to https://example.yourdomain.com/webhook/schedule. This POST request will send the data to that specified URL.
cURL:
curl -X POST ^
"https://example.yourdomain.com/webhook/schedule" ^
-H "Content-Type: application/json" ^
-d "{\"orgGuid\": \"F9878BB3-4BDF-479F-8FCF-B075680A658A\", \"scheduleUniqueID\": \"dc4f72b9-906b-4b6c-9e4d-d9f68787d907\", \"totalScheduleAmount\": 100, \"countOfSchedules\": 10, \"frequency\": \"Daily\", \"scheduleStartDate\": \"2024-05-25 00:00:00\", \"currency\": \"USD\", \"donorInfo\": {\"donorNumber\": \"1234567\", \"newDonor\": \"It will have value if new donor is created in payment request\"}, \"campaignInfo\": [{\"campaignNumber\": 1007, \"campaignName\": \"Gold Page\"}], \"reasonInfo\": [{\"reasonNumber\": 1001, \"reasonName\": \"Gold Reason\"}], \"collectorInfo\": [{\"collectorNumber\": 1234568, \"collectorName\": \"Test Collector\"}], \"locationInfo\": [{\"locationName\": \"Test Group\", \"longitude\": \"-73.933259000\", \"latitude\": \"40.690329000\"}], \"firstPayment\": [{\"createdDate\": \"2024-06-25 00:00:00\", \"amount\": 100, \"token\": \"5346q0666h6674p15g0mqq2n17gq3414\", \"maskedApiKey\": \"dona****3ae3\", \"gatewayName\": \"Matbia\", \"last4Digits\": \"8042\", \"brand\": \"Matbia\", \"paymentNumber\": \"112233\", \"paymentStatus\": \"Success\", \"gatewayRefNum\": \"ch_3ND1vS2eZvKYlo2C1iteYyGO\", \"paymentMethod\": \"Matbia\", \"deviceName\": \"Testing\", \"deviceCreatedDate\": \"2024-08-06 08:00:33.127\", \"timezone\": \"Dateline Standard Time\",\"cardHolderName\":\"Moshe Hirsh\",\"isAnonymousDonation\": false}]}"
Payload:
{
"orgGuid": "F9878BB3-4BDF-479F-8FCF-B075680A658A",
"scheduleUniqueID": "dc4f72b9-906b-4b6c-9e4d-d9f68787d907",
"totalScheduleAmount": 100,
"countOfSchedules": 10,
"frequency": "Daily",
"scheduleStartDate": "2024-05-25 00:00:00",
"currency": "USD",
"donorInfo": {
"donorNumber": "1234567",
"newDonor": {
"DonorID": "0000000",
"FirstName": "Test",
"LastName": "Charity"
}
},
"campaignInfo": {
"campaignNumber": 1007,
"campaignName": "Gold Page"
},
"reasonInfo": {
"reasonNumber": 1001,
"reasonName": "Gold Reason"
},
"collectorInfo": {
"collectorNumber": 1234568,
"collectorName": "Test Collector"
},
"locationInfo": {
"locationName": "Test Group",
"longitude": "-73.933259000",
"latitude": "40.690329000"
},
"firstPayment": {
"processedDateTime": "2024-06-25 00:00:00",
"amount": 100,
"maskedApiKey": "dona****3ae3",
"gatewayName": "Matbia",
"brand": "Matbia",
"paymentNumber": "112233",
"gatewayRefNum": "ch_3ND1vS2eZvKYlo2C1iteYyGO",
"paymentMethod": "Matbia",
"deviceName": "Testing",
"deviceCreatedDate": "2024-08-06 08:00:33.127",
"timezone": "Dateline Standard Time",
"cardHolderName":"Moshe Hirsh",
"isAnonymousDonation": false
}
}