CRM webhook
The CRM posts enrollment to POST /api/webhooks/donor with HMAC X-CBN-Signature. That saves the donor, vaults the B- BAID, and stores the next charge date. It does not charge. SOAP runs only on the daily cron when that date is due or overdue.
PayPal billing agreement
Create a PayPal billing agreement id (B-) and place it in the enrollment form.
- Start checkout and approve in PayPal.
- Execute the agreement so the
B-fills in below. - Post enrollment to save the donor and schedule the charge.
Start checkout to create a billing agreement.
Donor enrollment
Posts the same JSON the CRM sends to /api/webhooks/donor. Empty fields use defaults. Typed fields override them. The first charge date is saved as today; SOAP runs about two minutes later.
Ready.
Charge
A SOAP sale is queued two minutes after enrollment. Charge now skips the wait.
Post enrollment first.
Exceptions
Delinquent, retrying, and overdue schedules. Open a row to pause, resume, or retry.
Reconciliation
Due versus charged versus failed. Today includes past-due. Week is Monday–Sunday (Eastern). Month is calendar month.
Tasks
Two production tasks: import existing BAIDs, or receive the CRM webhook. Neither charges. SOAP runs only when the next charge date is due or overdue.
SOAP: vaulted billing agreement, then Alt Pay Sale.
Load existing billing agreements from CSV. Saves donor, vaults the BAID, and sets the schedule active. Charge waits until the next date is due or overdue. Import only after the legacy bill job is off for these donors.
CRM enrollment at /api/webhooks/donor saves the BAID the same way. No charge on inbound. Open Webhook in the menu for the path and signature.
Create donors and approve PayPal. Existing SOAP donors with a billing agreement are skipped.
Promote migrated_pending schedules that already have a vault credential.
Sandbox only. Production charges only on the daily cron when due or overdue.
Move due dates, look up unknown charges, and cutover. Sandbox only.
Ready.
Schedules
Search by donor ID or name. Open a row to view the subscription.