The Flutterwave Developer Documentation

We have put together comprehensive guidelines and documentation to help you get right into integrating any of our products quickly. You can also get support when you need help!

API Documentation    API Reference

Recurring billing

This shows you how to accept recurring payments from customers using Flutterwave.

Recurring payments are payments that automatically re-initiate themselves again after a specified period of time. They are most helpful in situations where you want to charge your customers for a bill or service that requires hourly, weekly, monthly, or even annual payments. This way, you can subscribe them to a recurring payment plan, and they will be charged subsequently depending on your frequency settings.

Flutterwave offers you a number of secure and convenient ways to implement recurring payments including:

  • Flutterwave Dashboard
  • Flutterwave Inline

Flutterwave Dashboard

To set up recurring payments via your Flutterwave dashboard, follow the steps below:

  1. Login to your Flutterwave dashboard and navigate to Payment Links.
  2. Click on Create payment links button.
  3. Enter the desired interval for charges in the modal that pops up.
  4. Configure the other required information.
  5. Share your recurring payment link to accept recurring payments.

Flutterwave Inline

Just like the dashboard, you can set up recurring payments using our inline JavaScript function that loads up our payment modal when you supply the payment details. In this case, all you have to do is create a recurring payment plan and pass the plan ID as part of your payment details in the FlutterwaveCheckout() function. Before we get to that, follow the steps below to create a recurring payment plan:

  1. Login to your dashboard, navigate to Billing tools
  2. Click on Payment plans, and create a new payment plan.
  3. Fill in the payment plan details and proceed.
  4. Once the payment plan is created click on it to retrieve the payment plan ID.
  5. Add the plan ID to your FlutterwaveCheckout() function like this:
  <script src=""></script>
  <button type="button" onClick="makePayment()">Pay Now </button>
  function makePayment() {
      public_key: "FLWPUBK_TEST-31d61a13026483fc38f15f0e90232374-X",
      tx_ref: "hooli-tx-new-test",
      amount: 54600,
      currency: "NGN",
      payment_options: "card,ussd,qr,barter",
      payment_plan: 13, // Plan ID
      customer: {
        email: "[email protected]",
        phonenumber: "08102909304",
        name: "Yemi Desola",
      callback: function (data) {
      customizations: {
        title: "My store",
        description: "Payment for",
        logo: "",


The payment_plan plan parameter passed into the above function ensures that payments done on this modal will follow the configurations specified when creating that payment plan.

Updated about a month ago

Recurring billing

This shows you how to accept recurring payments from customers using Flutterwave.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.