Skip to main content
POST
Initialize a Flutterwave v4 order charge

Path Parameters

client_id
integer
required

Client id that owns the checkout order and gateway configuration.

program_id
string
required

Program id or hyphen-separated program ids for checkout and settings lookup; selected programs must share the same donor form.

session_id
string
required

Optional Redis frontend session id containing saved checkout cart hashes and used to store charge state.

Body

application/json

Order checkout card details or saved payment method. Amount is computed from Redis cart state rather than a request amount field.

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.

Example:

"09"

expiry_year
string | null

Two-digit card expiry year required when payment_method is absent.

Example:

"32"

paying_processing
boolean | null

When truthy and program settings contain processing_percentage, the computed Redis cart total is increased by that fee.

Example:

true

processingFee
boolean | null

Legacy alias for processing-fee opt-in.

Example:

true

pay_processing_fee
boolean | null

Legacy alias for processing-fee opt-in.

Example:

true

Response

Flutterwave order charge initialized.

The response is of type object.