Flutterwave Documentation

Welcome to Flutterwave! Get familiar with the Flutterwave products and tools using the tutorials and references below.


Flutterwave is a simple & secure payments infrstructure focused redefining how to pay & get paid. We are simplifying the convoluted world of payments in Africa across cards, bank accounts and mobile money wallets through the power of our integrations with gateways across the world via one single API to rule them all!

Here you’ll find detailed information about our APIs – what they’re for, how to use them and when to use them. If you have any questions or comments, feel free to drop us a message at getstarted@flutterwavego.com

Get Started

When you decide to use our API, you’ll need to create an account with us after which we’ll validate who you are, you sign our agreement and we’ll provide you with credentials for your sandbox and production environments.

Points to remember when using our APIs

  • Also note that all API parameters with the exception of the merchantid variable should be encrypted with TripleDES Algorithm using the API key value available in the dashboard as the encryption key. This value should be protected and should not be sent as part of the payload. All requests are POST and should include the Content-Type = application/json.
  • All our API responses are formatted using JSend, (if you’re not familiar with JSend You can read more about it here - https://labs.omniti.com/labs/jsend
  • A success status on our response does not always mean that the payment was successful, it most probably simply means that we were able to make an attempt in processing the payment. This means that you as a customer has to ensure that you check the content of the data returned for the proper response.
  • Our base URL is http://staging1flutterwave.co:8080/pwc/rest/ and all our endpoints are relative to the base url.

There is a known bug with doing 3DES encryption with Javascript so we recommend Java or PHP as languages of choice