Recurring Donation Object Mapping
This document details the real mapping used byNeonIntegration::generateRecurringDonationParams(). Recurring donation sync is push-only — there is no pull for recurring donations at all.
Core Recurring Donation Mapping
Integration Fields
Custom Field Mapping
Unlike accounts and donations, there is no seeded default
NeonMappingRule set for recurring donations in this integration — the hardcoded fields above are the entirety of what’s sent, with no custom-mapping override path exercised in the code shown for this object type.Synchronization Behavior
Recurring Donation Creation/Update (Push)
- If
neon_idalready set →PUT /recurring/{neon_id}(update); otherwise →POST /recurring(create) - There is no “verify donor account/payment method first” orchestration inside recurring-donation push itself — if the donor’s
neon_account_idisn’t set, the push simply sendsaccountId: null - There is no distinct status/pause handling sent to Neon — a paused or ended WeGive plan doesn’t push a corresponding status change to Neon; Neon simply keeps receiving whatever
nextDate/amount/(broken)recurringPeriodthe plan currently has whenever it’s next pushed
No Pull
There is no pull for recurring donations —SyncNeon.php has no pullRecurringDonation()/importRecurringDonations() method. Recurring donations created or edited directly in Neon never flow back to WeGive.
API Examples
Creating a Recurring Donation (real payload shape)
recurringPeriod: 0 here reflects a brand-new plan with zero successful charges yet — not a “period of zero” in any meaningful sense. After the plan’s first successful charge, the next push of this same plan would send recurringPeriod: 1; after the second charge, 2; and so on, unrelated to actual cadence.Updating a Recurring Donation
Error Handling
Best Practices
- Don’t rely on Neon’s
recurringPeriodfield for this integration’s data to reflect a donor’s actual giving cadence today — it doesn’t, pending a known issue being fixed - Understand there’s no campaign/fund attribution on recurring donations reaching Neon at all — if campaign-level recurring revenue reporting matters, it isn’t available via this path
- There’s no pull, so any recurring-plan edit made directly in Neon won’t flow back — make plan edits in WeGive
Related Documentation
- Donation Mapping — for the per-charge transaction records this plan generates
- Data Mapping Overview