Skip to main content
POST
Initialize a Flutterwave v4 campaign charge

Path Parameters

client_id
integer
required

Client id that owns the campaign program, gateway configuration, entities, and checkout session.

program_id
integer
required

Campaign program id. Designation entity ids must belong to this program.

session_id
string
required

Optional Redis frontend session id used to store and later validate the Flutterwave charge state.

Body

application/json

Campaign checkout card details or saved payment method plus designation amount data.

email
string<email>
required

Donor email. Validator rule: required|email.

Example:

"jane@example.org"

paymentMethod
enum<string>
required

Payment method family. Validator rule: required|string|in:credit_card.

Available options:
credit_card
Example:

"credit_card"

payment_method
string | null

Saved Flutterwave payment method id. When present it replaces card field requirements and must belong to a verified session donor.

Example:

"pm_123"

card_number
string | null

Card number required when payment_method is absent. Alias number is normalized to this field.

Example:

"5531886652142950"

cvv
string | null

Card CVV required when payment_method is absent.

Example:

"564"

expiry_month
string | null

Two-digit card expiry month required when payment_method is absent. Aliases are normalized from expiryMonth or cardExpiry.

Example:

"09"

expiry_year
string | null

Two-digit card expiry year required when payment_method is absent. Aliases are normalized from expiryYear or cardExpiry.

Example:

"32"

card_holder_name
string | null

Optional cardholder name. If absent, first and last name are combined.

Example:

"Jane Donor"

designations
object[] | null

Preferred campaign cart format. Validator rules require at least one item when present.

entity_id
integer | null

Fallback single-designation entity id required when designations is absent.

Example:

4711

amount
number<float> | null

Fallback amount required without designations unless donation_amount is supplied.

Required range: x >= 0.01
Example:

50

donation_amount
number<float> | null

Legacy fallback amount alias required without designations unless amount is supplied.

Required range: x >= 0.01
Example:

50

additional_gifts
object[] | null

Optional extra designation gifts admitted by the checkout program and donor form.

peer_to_peer_allow_multi_designations
boolean | null

Peer-to-peer override that can allow multiple designations even when program settings normally disallow them.

Example:

true

Response

Flutterwave charge initialized.

status
string
Example:

"success"

session_id
string
charge_status
string | null
data
object
next_action
object | null