> ## Documentation Index
> Fetch the complete documentation index at: https://flutterwaveinc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Methods

> Find a payment method that supports your use case.

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 globally in your [account settings](http://app.flutterwave.com/). This will set what payment methods are available to your customers across Flutterwave Inline, Standard, and HTML checkout.

<Info>
  For `payment_options` to work, you need to uncheck the **Enable Dashboard
  Payment Options** on your Account Settings.

  <img src="https://mintcdn.com/flutterwaveinc/8LJ4mpYLmd_SNb9Z/images/disable_options.png?fit=max&auto=format&n=8LJ4mpYLmd_SNb9Z&q=85&s=2340e64ba9328dc890e5ea9066bead7b" alt="disable_options" width="2395" height="1476" data-path="images/disable_options.png" />
</Info>

#### 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's how it would look with Flutterwave [Inline](/payments-embed/inline), [Standard](/payment-api/flutterwave-standard), and [HTML checkout](/payments-embed/html-checkout):

<CodeGroup>
  ```html Inline theme={null}
  <script>
  	function makePayment() {
  		FlutterwaveCheckout({
  			// other fields ...
  			payment_options: 'card, ussd, mobilemoneyghana',
  		});
  	}
  </script>
  ```

  ```javascript Standard theme={null}
  const response = await got.post('https://api.flutterwave.com/v3/payments', {
  	headers: {
  		Authorization: `Bearer ${process.env.FLW_SECRET_KEY}`,
  	},
  	json: {
  		// other fields...
  		payment_options: 'card, ussd, mobilemoneyghana',
  	},
  });
  ```

  ```html HTML Checkout theme={null}
  <form method="POST" action="https://checkout.flutterwave.com/v3/hosted/pay">
  	<!-- other fields... -->
  	<input
  		type="hidden"
  		name="payment_options"
  		value="card, ussd, mobilemoneyghana"
  	/>

  	<button type="submit">Pay Now</button>
  </form>
  ```
</CodeGroup>

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 option                  | Value               |
| ------------------------------- | ------------------- |
| Card payment                    | `card`              |
| Bank account (direct debit)     | `account`           |
| Bank transfer                   | `banktransfer`      |
| M-Pesa                          | `mpesa`             |
| Mobile mobile Ghana             | `mobilemoneyghana`  |
| Mobile money Francophone Africa | `mobilemoneyfranco` |
| Mobile money Uganda             | `moilemoneyuganda`  |
| Mobile money Rwanda             | `moilemoneyrwanda`  |
| Mobile money Zambia             | `moilemoneyzambia`  |
| Barter payment                  | `barter`            |
| QR payment                      | `nqr`               |
| USSD                            | `ussd`              |
| Credit payment                  | `credit`            |

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:

| Country                            | Currency code | Payment Options                                                                                       |
| ---------------------------------- | ------------- | ----------------------------------------------------------------------------------------------------- |
| Nigeria                            | `NGN`         | `card` `ussd` `banktransfer` `account` `internetbanking` `nqr` `applepay` `googlepay` `enaira` `opay` |
| United States                      | `US`          | `card` `account` `googlepay` `applepay`                                                               |
| Europe                             | `EUR`         | `card` `account` `googlepay` `applepay`                                                               |
| United Kingdom                     | `GBP`         | `card` `account` `googlepay` `applepay`                                                               |
| Ghana                              | `GHS`         | `card` `ghanamobilemoney`                                                                             |
| Francophone Africa (Cetral Africa) | `XAF`         | `card` `mobilemoneyfranco`                                                                            |
| Francophone Africa (West Africa)   | `XOF`         | `card` `mobilemoneyfranco`                                                                            |
| South Africa                       | `ZAR`         | `card` `account` `1voucher` `googlepay` `applepay`                                                    |
| Malawi                             | `MWK`         | `card` `mobilemoneymalawi`                                                                            |
| Kenya                              | `KES`         | `card` `mpesa`                                                                                        |
| Uganda                             | `UGX`         | `card` `mobilemoneyuganda`                                                                            |
| Rwanda                             | `RWF`         | `card` `mobilemoneyrwanda`                                                                            |
| Tanzania                           | `TZS`         | `card` `mobilemoneytanzania`                                                                          |

### Expiring Payments

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

<CodeGroup>
  ```html Inline  theme={null}
  <script>
      function makePayment() {
          FlutterwaveCheckout({
              // other fields ...
              bank_transfer_options: {
                  expires: 3600
              },
          })
      }
  </script>
  ```

  ```javascript theme={null}
  const response = await got.post('https://api.flutterwave.com/v3/payments', {
  	headers: {
  		Authorization: `Bearer ${process.env.FLW_SECRET_KEY}`,
  	},
  	json: {
  		// other fields...
  		bank_transfer_options: {
  			expires: 3600,
  		},
  	},
  });
  ```
</CodeGroup>
