Create a tokenized charge
Charge a saved card or bank account token. Read the card tokenization or direct debit guide before you integrate.
Last updated 13 September 2026
Create a tokenized charge with a card or bank account token. We recommend that you read our overview before you proceed with your integration.
https://api.flutterwave.com/v3/tokenized-charges
authorization string required
Pass your secret key as a bearer token in the request header to authorize this call
FILL IN ALL REQUIRED FIELDS
token string required
This is the card or bank account token. Refer to the Card tokenization or Direct debit (E-mandate) section of the documentation to learn more about retrieving the token.
email string required
This is the email address of the customer. Note: This has to be the exact email address passed during the initial charge.
currency string required
This is the specified currency to charge the card in, It can be NGN, GHS, KES, UGX, TZS, USD etc.
country string required
This is the ISO country code of the merchant e.g. NG, GH, KE etc.
amount int 32 required
This is the amount to be charged
tx_ref string required
This is a unique reference, unique to the particular transaction being carried out.
redirect_url string required
This is the url your customer's will be redirected to after completing payment.
first_name string
This is the first name of the card holder or the customer
last_name string
This is the last name of the card holder or the customer
ip number
IP - Internet Protocol. This represents the IP address of where the transaction is being carried out.
narration string
This is a custom description added by the merchant
device_fingerprint string
This is the fingerpringt for the device being used. It can be generated using a library on whatever platform is being used
payment_plan int 32
This is the ID of the plan you want to subscribe to. It is returned in the call to create a payment plan as data.id
subaccounts array of objects
This is an array of objects containing the subaccount IDs to split the payment into. Subaccount ID's are returned in the call to create a subaccount as data.subaccount_id
FILL IN ALL REQUIRED FIELDS
id string
This is the unique Id returned in the call to create a subaccount as data.subaccount_id
preauthorize boolean
Pass this value as true to preauthorize a tokenized charge
FILL IN ALL REQUIRED FIELDS
status string
message string
data object
FILL IN ALL REQUIRED FIELDS
id integer
tx_ref string
flw_ref string
redirect_url string
device_fingerprint string
amount integer
charged_amount integer
app_fee integer
merchant_fee integer
processor_response string
auth_model string
currency string
ip string
narration string
status string
payment_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
FILL IN ALL REQUIRED FIELDS
status string
message string
data string
Shell