Only use this endpoint if you are in a PCI environment. Otherwise use the following article.
Endpoint:
POST to https://api.basistheory.com/proxy
Headers:
- BT-PROXY-KEY: Contact Donor Fuse support to obtain this key.
- BT-API-KEY: Contact Donor Fuse support to obtain this key.
- X-api-key: See below for instructions on obtaining 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 | |
| CreditCardNumber | string | Conditionally required | See bellow |
| ExpDate | string | Yes | |
| CVV | string | Conditionally required | See bellow |
| Charity | string | Conditionally required | See bellow |
| 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 | Name of sponsorship - as setup in the portal. |
| SponsorshipDate | string (YYYY-MM-DD) | 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 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-specific fields:
- If PaymentMethod = CreditCard:
- CreditCardNumber (required)
- ExpDate (required)
- If PaymentMethod = Charity (DAF):
- Charity (required)
- ExpDate (required)
- CVV (required only if DAF type is "DonorsFund")
Examples:
Minimal Online Donation (Credit Card):
{
"Amount": 180,
"PaymentMethod": "CreditCard",
"DonorLastName": "Smith",
"CreditCardNumber": "4242424242424242",
"ExpDate": "0229"
}
Full Online Donation (Charity/DAF):
{
"Amount": 250,
"PaymentMethod": "Charity",
"DonorFirstName": "Sarah",
"DonorLastName": "Goldberg",
"DonorEmail": "sarah.goldberg@example.com",
"DonorPhone": "18451234567",
"Charity": "4111111111111111",
"ExpDate": "0427",
"CVV": "321"
}
Notes:
- For payment plans, set IsPaymentPlan to true and provide NumberOfMonths (monthly only).
-
CustomData and Raisers arrays must match the expected structure.