Skip to main content
POST
Starts a donation against a campaign and returns the checkout link for the donor. Send them to that address; they pay on the payment provider’s own page (Paystack, Stripe or Flutterwave, whichever the chapter has set up) and the payment is confirmed automatically a moment later. Card details never pass through this API, and you never handle them. Required scope: fundraising:write

What happens after you call it

  1. You get back a checkout_url and a transaction_id. The donation is recorded as pending.
  2. The donor opens the link and pays. If you sent a redirect_url, they land back there afterwards.
  3. The payment provider confirms the payment to Transparency Hub, the donation turns paid, and it shows up in the campaign in the app.
  4. Check on it any time with GET /v1/transactions/{transaction_id}, or list a campaign’s giving with List Campaign Payments (GET /v1/fundraising/campaigns/{campaign_id}/payments).

Things worth knowing

  • amount is in normal money units — 150 means 150.00 — and must be at least 1. The currency defaults to the campaign’s.
  • cover_fees: true adds the provider’s fee on top, so the campaign receives the full amount.
  • The chapter must have finished setting up a payment method; if it has not, you get 409 with a message saying so.
  • payment_gateway_id is only needed when a chapter has more than one method set up and you want a particular one.

Authorizations

X-API-Key
string
header
required

Path Parameters

campaign_id
integer
required

Body

application/json
amount
number
required

Major currency units, e.g. 150 means 150.00.

Required range: x >= 1
donor_name
string
required
donor_email
string
required
chapter_id
integer
currency
string | null

Defaults to the campaign's currency.

cover_fees
boolean
default:false

Add the gateway fee on top so the campaign receives the full amount.

is_anonymous
boolean
default:false
redirect_url
string | null

Where the gateway sends the donor after paying.

payment_gateway_id
integer | null

Use a specific configured gateway; defaults to the chapter's.

Response

Created

status
string
data
object