AI agents: this site is available as Markdown at /llms.txt. Each page has a Markdown version at its URL with a .md suffix, and the full API is described in /api/v3/openapi.json.

Payment Methods

Find a payment method that supports your use case.

Last updated 13 September 2026

Introduction

Flutterwave supports a variety of payment methods for customers across many countries. When accepting payments, you can specify which methods you are willing to accept from your customers.

There are two ways to specify your accepted payment method.

1. Account Settings

Enable or disable payment methods for your whole account in account settings. This controls which methods customers see on Flutterwave Inline, Checkout, and HTML Checkout.

Payment Options

For payment_options to work, you need to uncheck the Enable Dashboard Payment Options on your Account Settings. You can find a guide here.

Illustration

2. Per Payment

For more control, you can also set payment methods on a per-transaction basis using the payment_options parameter. This field accepts a comma + space separated list of allowed payment methods.

Here is the same payment_options value in Inline, Checkout, and HTML Checkout:

Javascript

1
2
3
4
5
6
7
8
<script>
	function makePayment() {
		FlutterwaveCheckout({
			// other fields ...
			payment_options: 'card, ussd, mobilemoneyghana',
		});
	}
</script>

Some payment methods are tied to specific currencies. When displaying the payment options to the customer, we’ll automatically exclude any that are not applicable to the current currency.

For instance, mpesa is only available for KES, so if you specify payment_options as "card, account, mpesa" when collecting an NGN payment, we'll only show card and account payment options on the modal.

Supported Payment Methods

Here is a list of currently supported payment methods and the value to use when specifying them in payment_options:

Payment optionValue
Card paymentcard
Bank account (direct debit)account
Bank transferbanktransfer
M-Pesampesa
Mobile mobile Ghanamobilemoneyghana
Mobile money Francophone Africamobilemoneyxaf(for Central Africa) or mobilemoneyxof (for West Africa).
Mobile money Ugandamobilemoneyuganda
Mobile money Rwandamobilemoneyrwanda
Mobile money Zambiamobilemoneyzambia
Barter paymentbarter
QR paymentnqr
USSDussd
Credit paymentcredit
Opayopay
FawryPayfawrypay

Please note that not all methods are supported across all countries. Countries/currencies are mapped to different payment methods in that region. You can see the full list of supported methods by region below:

CountryCurrency codePayment Options
NigeriaNGNcard ussd banktransfer account internetbanking nqr enaira opay
United StatesUScard account
EuropeEURcard account
United KingdomGBPcard account
GhanaGHScard ghanamobilemoney
Francophone Africa (Central Africa)XAFcard mobilemoneyxof
Francophone Africa (West Africa)XOFcard mobilemoneyxaf
South AfricaZARcard account 1voucher
MalawiMWKcard mobilemoneymalawi
KenyaKEScard mpesa
UgandaUGXcard mobilemoneyuganda
RwandaRWFcard mobilemoneyrwanda
TanzaniaTZScard mobilemoneytanzania
EgyptEGPcard fawrypay

Expiring Payments

For banktransfer payments (also called pay with Bank Transfer); you can specify an expiry period for transactions.

Javascript

1
2
3
4
5
6
7
8
9
10
<script>
    function makePayment() {
        FlutterwaveCheckout({
            // other fields ...
            bank_transfer_options: {
                expires: 3600
            },
        })
    }
</script>


FL.AI

Answers from the Flutterwave docs

Hi, I’m FL.AI

Ask anything about Flutterwave’s APIs, guides and coverage.

FL.AI can make mistakes. Check important details in the docs.

Get API Keys