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:

  • Payment Links
  • Flutterwave Inline

Payment Links

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

  1. Log in to your Flutterwave dashboard and navigate to Payment Links.
  2. Click on Create payment links button.
  3. Select Subscription payment link
  1. Enter the desired interval for charges in the modal above.
  2. Configure the other required information like the Link name and amount.
  3. Share your recurring payment link to your customers.

Every customer that pays using the link will automatically be subscribed to the recurring payment configurations you set when creating the payment link.

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's 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. Log in to your dashboard and navigate to the Billing tools section.
  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",
      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 8 days 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.