Card
Collect card payments with Flutterwave.
We recommend you read the method overview before you proceed.
Last updated 13 September 2026
Collect card payments with Flutterwave. We recommend you read the method overview before you proceed.
https://api.flutterwave.com/v3/charges?type=card
authorization string required
Pass your secret key as a bearer token in the request header to authorize this call
FILL IN ALL REQUIRED FIELDS
amount int 32 required
This is the amount to be charged.
currency string required
This is the specified currency to charge in.
card_number string required
This is the number on the cardholders card. E.g. 5399 6701 2349 0229.
cvv string required
Card security code. This is 3/4 digit code at the back of the customers card, used for web payments.
expiry_month int 32 required
Two-digit number representing the card's expiration month.
expiry_year int 32 required
Two digit number representing the card's expiration year
email string required
This is the email address of the customer
tx_ref string required
This is a unique reference peculiar to the transaction being carried out.
authorization object
This is an object that contains the authorization details of the card you want to charge. The authorization instructions for card charges are returned in the initiate charge call as meta.authorization
preauthorize boolean
This should be set to true for preauthoize card transactions
fullname string
This is the name of the customer.
card_holder_name string
The full name of the cardholder. This is only required for charges on AMEX cards or Precium cards.
phone_number string
The phone number linked to the customer's bank account. This is required for AMEX card charge.
payment_plan string
This is the id of a previously created payment plan needed to add a card user to the payment plan.
redirect_url string
This is a url you provide, we redirect to it after the customer completes payment and append the response to it as query parameters. (3DSecure only)
meta object
This is used to include additional payment information
FILL IN ALL REQUIRED FIELDS
flightID string
This could be the extra information you want to pass
sideNote string
This could be any message you'd like to associate with this call
device_fingerprint string
This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used
client_ip string
IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction
eci string
This is the Electronic Commerce Indicator (ECI) value provided by the issuer's Access Control Server (ACS) to indicate the results of the attempt to authenticate the payer. This is required for external 3DS transactions.
a_authenticationtoken string required
This represents the base64 encoded value generated by the card issuer that is returned in the authentication response message and its a required fields from the card schemes documentation.
a_amount string
The amount for which the payer authentication has been performed. This is required for external 3DS transactions.
a_version string
EMV 3-D Secure protocol e.g. 2.1.0. This is required for external 3DS transactions.
a_transactionid string
A unique transaction identifier assigned by the Access Control Server to identify the 3DS transaction. This is required for external 3DS transactions.
a_transactionstatus string
Pass Y to indicate that the authorization was successful. Other options include N, U, A, R. It is recommended that you only attempt to charge for successful authorization. This is required for external 3DS transactions.
a_statusreasoncode string required
If a_transactionstatus Y then this becomes optional. This is required for external 3DS transactions.
is_custom_3ds_enabled boolean required
This indicates the use of a custom 3DS provider and as a result the eci, a_authentication, a_version, a_transactionid, a_transactionstatus, a_amount, a_time and a_statusreasoncode are taken into consideration. This is required for external 3DS transactions.
a_time string
It indicates the date and time of the payer's authentication and the card scheme makes use of UTC format. This is required for external 3DS transactions.
FILL IN ALL REQUIRED FIELDS
status string
message string
data object
FILL IN ALL REQUIRED FIELDS
id integer
tx_ref string
flw_ref string
device_fingerprint string
amount integer
charged_amount integer
app_fee number
merchant_fee integer
processor_response string
auth_model string
currency string
ip string
narration string
status string
auth_url string
payment_type string
fraud_status string
charge_type string
created_at string
account_id integer
customer object
FILL IN ALL REQUIRED FIELDS
id integer
phone_number string
name string
email string
created_at string
card object
FILL IN ALL REQUIRED FIELDS
first_6digits string
last_4digits string
issuer string
country string
type string
expiry string
meta object
FILL IN ALL REQUIRED FIELDS
authorization object
Shell