Directory / plugin

Flutterwave Payments

v1.1.0 · by flutterwave

Take payments and donations on any WordPress page, and let customers pay with cards, bank transfer, mobile money, Apple Pay or Google Pay.

About this plugin

Flutterwave Payments is the official Flutterwave plugin for WordPress. Add a payment button, payment form, donation form or pricing card to any page. Customers pay on Flutterwave’s secure checkout with the method they already use, and the money goes to your Flutterwave account.

You don’t need an online store, a developer or any code. A guided setup takes a few minutes, and you can try everything with test keys before taking real money.

Why use Flutterwave Payments

  • Let customers pay the way they want. Cards (Visa, Mastercard, American Express), bank transfer, mobile money, Apple Pay, Google Pay, Opay and stablecoins (USDT and USDC). USSD, QR, NQR, Barter and Credit are also available.
  • Accept local and international money. Charge in NGN, GHS, KES, ZAR, TZS, UGX, RWF, ZMW, USD, GBP or EUR, or let customers choose.
  • Go live in minutes. Guided setup walks you through your business details, API keys, webhook and payment methods. It creates your webhook secret for you and tells you whether you’re using test or live keys.
  • Use the block editor. Five blocks, each with its own colours, corner radius and button text.
  • Collect regular donations. Donors can give once, monthly or yearly, and you can suggest amounts.
  • See every payment in WordPress. Filter by date, status and currency, check a payment again with Flutterwave, and download a CSV for your accounts.
  • Know what each form earns. The Payment Forms screen lists every form on your site, the page it’s on and the payments it has taken.
  • Connect the plugins you already use. Easy Digital Downloads and GiveWP gateways are built in, and the Flutterwave WooCommerce extension installs in one click.

Blocks

Open the block inserter and choose the Flutterwave category.

  • Payment Button: an email field and a pay button for a fixed amount, like “Pay NGN 5,000”. Logged-in users can skip the email.
  • Payment Form: a full form with an optional heading and description, and a fixed amount or one the customer enters. Name and phone fields are optional.
  • Donation Form: one-off, monthly or yearly donations, with up to six suggested amounts.
  • Pricing Card: a plan or product card with a price, a list of features, an optional badge and a checkout button.
  • Payment Methods: a badge that shows customers which payment methods you accept, kept in step with your settings.

Button text can include {amount}, which is replaced with the formatted price.

Shortcodes

Prefer shortcodes, or using a page builder? Paste one into any page, post or widget. Flutterwave > Payment Forms has a builder with a live preview that writes the shortcode for you.

Payment form: [flw-pay-form]

  • amount="5000": fixed amount. Leave it out to let the customer enter one.
  • currency="NGN,USD,GBP": one currency, or several for the customer to choose from.
  • heading="Book a session" and description="...": text above the form.
  • use_current_user_email="yes": fills in the logged-in user’s email.
  • split_name="1": separate first and last name fields.
  • exclude="phone": hides a field (phone, fullname or a custom field).
  • custom_fields="company:text,size:select|Small:S|Large:L": adds your own fields.
  • order="email,fullname,amount,currency": changes the field order.
  • layout="compact", width="full", show_secured="0": change the look.
  • Button text goes between the tags: [flw-pay-form amount="5000"]Pay {amount}[/flw-pay-form].

Donation form: [flw-donation-form]

  • heading and message: text above the form.
  • currency="USD": the donation currency.
  • amounts="1000,5000,10000": suggested amounts.
  • show_frequency="0": one-off donations only.

    [flw-pay-button] from earlier versions still works.

Works with

  • Easy Digital Downloads: sell ebooks, software, music and other downloads with Flutterwave at checkout.
  • GiveWP: collect donations through GiveWP forms and campaigns.
  • WooCommerce: install the official Flutterwave WooCommerce extension from Flutterwave > Integrations.
  • Classic Editor and WPBakery: a toolbar button and a “Flutterwave Simple Form” element insert a payment form.

WPForms, Gravity Forms, Contact Form 7, Paid Memberships Pro, MemberPress, LearnDash, Tutor LMS and Event Tickets are coming soon. You can tell us which one you need from the Integrations screen.

Secure by design

  • Customers enter payment details on Flutterwave’s checkout, never on your site.
  • The amount and currency are signed on your server, so they can’t be changed in the browser.
  • Every payment is confirmed with Flutterwave before it’s marked successful.
  • Webhooks are only accepted with your secret hash, which is checked in constant time.
  • Secret keys are masked in the admin, and checkout requests are rate-limited.

External services

This plugin connects to services run by Flutterwave Technology Solutions.

Flutterwave payments API (api.flutterwave.com) processes payments made through your forms. When a customer submits a form, the plugin sends the amount, currency, the customer’s email, name and phone number, and a transaction reference to create the payment, then asks the API to verify it when the customer returns or a webhook arrives. The plugin also reads your account’s transactions for the Transactions screen.

Flutterwave integration analytics (signozservice-prod.f4b-flutterwave.com) helps Flutterwave see whether integrations are working. The plugin sends:

  • when your site is first set up: your public API key, the plugin name and version;
  • when a payment starts: the transaction reference, whether you use test or live keys, and the plugin version;
  • when a live payment succeeds: the transaction reference, amount, currency, fee and payment method;
  • when something goes wrong: an error code and message, with the transaction reference where there is one.

No customer names, email addresses, phone numbers or card details are sent to the analytics service. To turn it off, add define( 'FLW_DISABLE_TELEMETRY', true ); to wp-config.php, or return false from the flw_signoz_enabled filter.

Both services are covered by Flutterwave’s Terms of Service and Privacy Notice.

Plugin tags