Documentation Index
Fetch the complete documentation index at: https://flutterwaveinc.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Approval RequiredThis feature is available only on request. To gain access to the feature, please send an email to hi@flutterwavego.com requesting approval.
Key Concepts
Before we dive into how to use Card on File (COF), it’s important to understand some key concepts:- 3D Secure (3DS): A security protocol that redirects customers to their bank’s authentication page during online payments. It adds an extra layer of protection by verifying the customer’s identity to prevent fraud.
- Customer Initiated Transaction (CIT): This happens when a customer provides their card details during an initial payment and consents to store them for future transactions. The payment request typically includes a special parameter (e.g.,
is_unscheduledset totrue) to indicate this consent. - Merchant Initiated Transaction (MIT): Any subsequent payment made by the merchant based on the customer’s initial consent. MITs don’t require the customer to take further action.
agreement_id: A unique reference generated by Flutterwave during the initial CIT, used by the merchant to manage future MITs.trace_id: A reference generated by the card scheme during the initial CIT. It can be used across multiple platforms and processors that support COF (not just Flutterwave).
Handling a Customer-Initiated Transaction (CIT)
To set up recurring payments with COF, addis_unscheduled: true to the first customer charge request. For one-time tokenized charges, include the correct agreement_id linked to the card token.
Handling a Merchant-Initiated Transaction (MIT)
Direct Charge
To initiate an MIT using the direct charge method:- First, retrieve the customer’s
trace_idfrom the initial CIT. - Next, initiate the charge by sending a tokenized charge request with the
trace_idand theis_unscheduledflag set totrue.
Direct Charge Payload (cURL)
NOAUTH method based on the trace_id.
After processing the request, the COF information (with the trace_id) can be retrieved from the charge response, the transaction verification service, or webhooks will include the COF information. Samples can be found below:
Single Tokenized Charge
To initiate recurring MIT payments using the Single Tokenized Charge method:- First, retrieve the customer’s
tokenandtrace_idfrom the initial CIT step completed above. - Initiate the charge by sending a tokenized charge request with the
token,trace_id, and theis_unscheduledflag set to true.
Single Tokenized Charge (cURL)
NOAUTH method based on the trace_id.
After processing, the tokenized charge response, transaction verification service, or webhooks will include the COF information with the trace_id.