Production Endpoint:
POST to https://api.donorfuse.com/api/Integrations/Donations/process
Sandbox Endpoint:
POST to https://sandboxapi.donorfuse.com/api/Integrations/Donations/process
Header:
- X-api-key: See instructions below to obtain your organization’s API key.
How to obtain your X-api-key:
- In the Donor Fuse portal, go to Settings > Account Settings.
- Expand Integrations.
- Click Add New API Key.
- For Platform, select Other.
- Enter a name and select a default campaign (used if you send API requests without specifying a campaign).
- Click Save.
- Copy and save the API key from the popup. You will not be able to view it again.
Supported PaymentMethod values:
- CreditCard
- Charity (used for OJC / Donors Fund / Pledger / Matbia / iMaaser)
Required and Common Fields
| Field | Type | Required? | Notes / Description |
|---|---|---|---|
| Amount | decimal | Yes | Total donation/pledge amount |
| DonorFirstName | string | No | |
| DonorLastName | string | Conditionally required | At least one of LastName, Email, or Phone must be present |
| DonorEmail | string | Conditionally required | At least one of LastName, Email, or Phone must be present |
| DonorPhone | string | Conditionally required |
At least one of LastName, Email, or Phone Must be present (Format: 1XXXXXXXXXX) |
| PaymentMethod | string (CreditCard/Charity) | Yes | |
PaymentMethodToken |
string | Conditionally required | See bellow "Payment-Method-specific fields" |
ExpDate |
string | Yes | |
IsBtToken |
boolean | Conditionally required | See bellow "Payment-Method-specific fields" |
isDuplicate |
boolean | Conditionally required | See bellow "Payment-Method-specific fields" |
| Charity | string | Conditionally required | See bellow "Payment-Method-specific fields" |
| CVV | string | Conditionally required | See bellow "Payment-Method-specific fields" |
| AddressLine1 | string | No | |
| AddressLine2 | string | No | |
| City | string | No | |
| State | string | No | |
| ZipCode | string | No | |
| Country | string | No | |
| Description | string | No | Public comment (Included in the donor's email) |
| Notes | string | No | Internal notes, not visible to donor |
| CampaignName | string | No | If omitted, uses API key default. |
| CurrencyCode | string (USD/CAD/GBP/ILS/EUR) | No | Defaults to org home currency |
| CurrencyConversionRate | decimal | No | Used if currency differs. If omitted, system will populate. |
| Sponsorship | string | No | Validated against Donor Fuse sponsorships |
| SponsorshipDate | string | No | If sponsoring a specific date |
| IsPaymentPlan | boolean | No | If true, creates a payment plan |
| PlanType | string (Monthly/Weekly/Daily/Yearly/MonthlyHebrew) | No | Defaults to Monthly |
| NumberOfMonths | int | Required if IsPaymentPlan is true | Number of monthly installments |
IsRecurring |
boolean | No |
If true, sets up a recurring donation plan This will be ignored if "IsPaymentPlan" is true |
| CustomData | array of objects | No | Array of {Name, Value} for custom donation fields; Name must match Donor Fuse custom field name |
| Raisers | array of objects | No | Array of {RaiserId, RaiserName, Amount} for crowdfunding |
| SrcDonorId | string | No | Reference to your system's donor |
| SrcDonationId | string | No | Reference to your system's donation |
| DfDonorId | string | No | Donor Fuse donor ID for mapping |
Payment-Method-specific fields:
- If PaymentMethod = CreditCard:
- Please follow the article on how to generate the payment method token
- PaymentMethodToken (required)
- ExpDate (required)
- IsBtToken (required set to true)
- isDuplicate (required) - pass from hosted response
- If PaymentMethod = Charity (DAF):
- Charity (required)
- ExpDate (required)
- CVV (required only if DAF type is "DonorsFund")
Example:
Processed Donation (CreditCard):
{
"Amount": 500,
"DonationType": "Donation",
"DonorFirstName": "David",
"DonorPhone": "18456667777",
"CampaignName": "Special Event",
"Date": "2025-08-14",
"PaymentMethod": "CreditCard",
"PaymentMethodInfo": "Visa-9876",
"ReferenceNumber": "2346ytrge",
"Description": "Offline pledge at event",
"Notes": "Entered by staff",
"CustomData": [
{ "Name": "Source", "Value": "Event" }
]
}
Notes:
- For payment plans, set IsPaymentPlan to true and provide NumberOfMonths.
- CustomData and Raisers arrays must match the expected structure.