Flutterwave
Collect payments through Flutterwave with cards, bank transfer, USSD, mobile money and other local methods on one hosted payment page, in the currencies your Flutterwave account accepts.
Reaching the Screen
Go to Settings → Financial → Payment Gateways, open All Modules and click the Flutterwave card: {admin}/modules/payment?module=Flutterwave
Ticking Status and saving lists the method on the payment step. Use Payment Gateways to order the methods clients see.
What Is on the Screen
The card holds your Flutterwave secret key, the optional notification hash and the payment options you want to show.
The client sees a Flutterwave panel on the payment step with the amount and a Continue to Flutterwave button. Clicking it opens Flutterwave's own payment page, and the client returns to your site afterwards.
The amount goes to Flutterwave in the invoice currency, or in the one you pick under Converting Currency. Refunds can be sent from the panel. Subscriptions, stored cards, automatic payments and installments are not supported.
This module replaces the older RavePay (Legacy v2) module, whose API Flutterwave has retired.
Before You Configure It
- A Flutterwave account and its secret key, read in the Dashboard under Settings → API Keys. The key itself sets the mode, so there is no separate test switch.
- Every currency you plan to charge enabled on your Flutterwave account. A currency the account does not accept is refused when the payment page is created.
- Access to Settings → Webhooks in the Flutterwave Dashboard if you want payments confirmed even when the client closes the browser.
Fields
Commission, Converting Currency, accepted amount range and country lists behave the same on every gateway; see Payment Gateways. Callback URL, Success URL and Failed URL cannot be edited; the callback address is the one you register as a webhook.
Tasks
Connect your Flutterwave account
- In the Flutterwave Dashboard open Settings → API Keys. Switch the Dashboard to test mode and copy the key that starts with FLWSECK_TEST-.
- Open the Flutterwave card under All Modules and tick Status.
- Paste the key into Secret Key. Fill Payment Options only if you want to limit the methods shown.
- Click Save Changes. The method now appears on the payment step.
Register the notification address
- Copy the Callback URL from the module card.
- In the Flutterwave Dashboard open Settings → Webhooks, paste that address as the webhook URL and enter a value of your choice as Secret Hash, then save.
- Paste the same value into Secret Hash on the module card and click Save Changes.
- Paid invoices are now settled even when the client closes the browser on Flutterwave's page.
Run a test payment
- Place a small order as a client, choose Pay with Flutterwave and click Continue to Flutterwave.
- On the payment page use Flutterwave's test card 5531 8866 5214 2950 with expiry 09/32, CVV 564, PIN 3310 and OTP 12345.
- The client returns to your site and the invoice is marked as paid, which activates the order.
- Replace the key with the FLWSECK- one, register the webhook on the live account too, and repeat with a real low-value payment.
Refund a payment
- Open the invoice from Invoice Detail.
- Set its status to refunded, choose Refund via payment gateway as the refund method and confirm. The other two options only record the refund and send nothing to Flutterwave.
- The invoice's share of the Flutterwave payment is returned to the client. Flutterwave completes refunds in 3 to 15 working days.
Replace the legacy RavePay module
- Configure Flutterwave as above with the keys of the same account.
- Under Payment Gateways turn off RavePay (Legacy v2). Invoices paid through RavePay keep their records.
- Clients now see only Pay with Flutterwave.
Things to Watch
A payment made with an FLWSECK_TEST- key marks the invoice as paid without moving money. Switch the key and the webhook together when you go live.
Notifications that cannot be verified are ignored. The payment is still settled when the client returns to your site, so fill in the hash to cover clients who close the browser early.
If Flutterwave collects less than the total, only that amount is recorded and the invoice stays unpaid. A payment in another currency is refused. Check the transaction in your Flutterwave Dashboard before you settle it by hand.
Required Privileges
Payment Module Settings (MODULES_PAYMENT_SETTINGS) is required.
Related Articles
¡Gracias por sus comentarios!
Nuestro equipo de soporte está disponible las 24 horas para ayudarle con lo que no encuentre aquí.