f59881dadecd
Create a donation
This request allows you to create either a one-time donation or a recurring plan.
To create a recurring plan, you must include a recurring_plan object with the frequency parameter. If the object is not provided, a one-time donation will be created.
All fields and values must meet the requirements of your campaign. Otherwise, an error will be returned.
We do not format or verify addresses and emails that were sent through the API.
<p class="callout callout--warning">A Stripe payment method ID is required. For more details on how to create a payment method, refer to the <a href="https://docs.stripe.com/api/payment_methods" target="_blank">Stripe Payment Methods documentation</a>.</p>Prerequisites
Make sure you have:
-
A Stripe account that is connected to your Fundraise Up account and activated.
-
An active campaign with a money-based payment method.
-
An API key with permission to create new donations.
-
Access to the Stripe API for the same Stripe account used as the Fundraise Up payment method, with the ability to create Payment Methods.
Nonprofit organizations must meet PCI compliance requirements to ensure the secure processing of payment card data. Fundraise Up complies with these standards, but if an organization or its vendor uses direct API integration with Stripe to send raw card data (such as card numbers, expiration dates, and CVV codes), that organization or vendor is responsible for meeting broader PCI DSS requirements, such as SAQ D for merchants or higher.
When using Stripe Elements, organizations remain responsible for PCI compliance, but the scope is reduced, typically to SAQ A, due to Stripe handling sensitive card data processing. If a third-party vendor manages card details (for example, in face-to-face or direct mail solutions), they must maintain their own PCI compliance (SAQ D or applicable), and the organization should document them as their third-party service provider.
Request body
Example request
{
"amount": "99.99",
"campaign": "FUNXXXXXXXX",
"currency": "usd",
"designation": "EXXXXXXX",
"payment_method": {
"stripe": {
"id": "pm_card_visa",
"setup_intent_id": "seti_1OsI2pHUtU5Pnu8bXXXXXXXX"
}
},
"supporter": {
"first_name": "Alex",
"last_name": "Garcia",
"address": {
"city": "Nashville",
"line1": "123 Main St",
"postal_code": "111111",
"country": "us",
"line2": "Apt 1",
"region": "TN"
},
"email": "example@example.com",
"employer": {
"name": "Fundraise Up Inc."
},
"employment_status": "employed",
"occupation": "Software Engineer",
"phone": "+1 (111) 111-1111",
"title": "mr"
},
"custom_fields": [
{
"name": "Field1",
"value": "Value1"
}
],
"fee_amount": "5.00",
"livemode": true,
"questions": [
{
"id": "QXXXXXXX",
"checked": true,
"date": "1990-05-15",
"options": [
"Option 1",
"Option 2"
],
"text": "Example answer"
}
],
"recurring_plan": {
"frequency": "monthly"
}
}Response
On success, the API returns the donation object. If the parameters are invalid, the call will return an error.
Example response
{
"account": {
"code": "Code-1",
"id": "AXXXXXXX",
"name": "Example Account"
},
"amount": "99.99",
"amount_before_fees_covered": "99.99",
"amount_before_fees_covered_in_default_currency": "59.99",
"amount_in_default_currency": "59.99",
"benefit": {
"code": "TSHIRT-001",
"fair_market_value": "25.99",
"fair_market_value_currency": "usd",
"id": "GXXXXXXX",
"name": "T-shirt",
"option": {
"code": "SIZE-M",
"name": "Size",
"value": "M"
},
"shipping": {
"address": {
"city": "Nashville",
"country": "us",
"line1": "123 Example St.",
"line2": "Apt. 1",
"postal_code": "111111",
"region": "Tennessee"
},
"recipient_first_name": "Alex",
"recipient_last_name": "Garcia"
}
},
"campaign": {
"code": "Code-1",
"id": "FUNXXXXXXXX",
"name": "My Campaign"
},
"comment": "Comment example.",
"consent": {
"customized": {
"email": "opted_in",
"phone_calls": "opted_out",
"postal_mail": "opted_in",
"sms": "opted_in",
"social_media": "opted_out"
},
"general": "opted_in"
},
"created_at": "2024-12-20T00:00:00.000Z",
"currency": "usd",
"custom_fields": [
{
"name": "Field1",
"value": "Value1"
}
],
"designation": {
"code": "Code-1",
"id": "EXXXXXXX",
"name": "My Designation"
},
"device": {
"browser": "Chrome",
"ip": {
"address": "111.111.111.111",
"city": "Nashville",
"country_name": "United States",
"region": "Tennessee"
},
"os": "MacOS",
"type": "desktop",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
},
"element": {
"id": "XXXXXXXX",
"name": "My Element",
"type": "donationForm"
},
"failed_at": "2024-12-20T00:00:00.000Z",
"fundraiser": {
"id": "NXXXXXXX",
"name": "Run for hope"
},
"gift_aid": {
"claimed": true,
"legal_text": "I am a UK taxpayer and want to claim Gift Aid."
},
"id": "DXXXXXXX",
"installment": "3",
"livemode": true,
"on_behalf_of": "Example Inc.",
"payment": {
"bank_account": {
"last4": "1234"
},
"credit_card": {
"exp_month": "12",
"exp_year": "2023",
"last4": "1234",
"type": "Visa"
},
"daf_external_id": "010c5aa7-28f5-426f-b31f-9ba77754055f",
"daf_sponsor_fund": "Fidelity Charitable",
"daf_tracking_id": "1e60800e-849b-43d1-870e-57afc8d75473",
"email": "example@example.com",
"error_message": "Something went wrong",
"id": "ch_1I9nHHHUtU5Pnu8b93DuxyzE",
"method": "paypal",
"processor": "stripe"
},
"payout": {
"amount": "99.99",
"amount_in_default_currency": "59.99",
"currency": "usd"
},
"platform_fee": {
"amount": "99.99",
"amount_in_default_currency": "59.99",
"currency": "usd"
},
"processing_fee": {
"amount": "99.99",
"amount_in_default_currency": "59.99",
"currency": "usd"
},
"questions": [
{
"code": "Code-1",
"id": "QXXXXXXX",
"checked": true,
"options": [
"OK",
"Good"
],
"text": "Example answer"
}
],
"recurring_plan": {
"created_at": "2024-12-20T00:00:00.000Z",
"ended_at": "2024-12-20T00:00:00.000Z",
"frequency": "monthly",
"id": "RXXXXXXX",
"next_installment_at": "2024-12-20T00:00:00.000Z",
"status": "active"
},
"refunded_at": "2024-12-20T00:00:00.000Z",
"source": "website",
"status": "succeeded",
"succeeded_at": "2024-12-20T00:00:00.000Z",
"supporter": {
"address": {
"city": "Nashville",
"country": "us",
"line1": "123 Example St.",
"line2": "Apt. 1",
"postal_code": "111111",
"region": "Tennessee"
},
"email": "example@example.com",
"employer": {
"name": "Fundraise Up Inc."
},
"employment_status": "employed",
"first_name": "Alex",
"id": "SXXXXXXXX",
"language": "en-CA",
"last_name": "Garcia",
"occupation": "Software Engineer",
"phone": "+1 (111) 111111",
"title": "mr"
},
"supporter_covered_fee": "99.9",
"supporter_covered_fee_in_default_currency": "99.9",
"tribute": {
"honoree": "Zhang Wei",
"id": "TXXXXXXX",
"sharing": {
"from": "Alex Garcia",
"message": "In loving memory of Jordan",
"recipient": {
"address": {
"city": "Nashville",
"country": "us",
"line1": "123 Example St.",
"line2": "Apt. 1",
"postal_code": "111111",
"region": "Tennessee"
},
"email": "example@example.com",
"first_name": "Sidney",
"last_name": "Jones",
"title": "mr"
},
"type": "email"
},
"type": "in_honor"
},
"url": "https://example.com/DXXXXXXX",
"utm": {
"campaign": "giving_tuesday",
"content": "textlink",
"medium": "email",
"source": "google",
"term": "how_to_support_penguins"
}
}