Create a transfer

This will show you how to initiate a transfer

🚧

Transfer Verification

When you initiate a transfer, you get a data.id in the response object. You can use this ID to verify the final status of that transfer by calling the Get a transfer endpoint.

When you do, pay attention to this response properties:

  • data.status which should say SUCCESSFUL and
  • data.complete_message which should say Transaction was successful

That is how you know that the transfer was successful from our end.

You can also verify via Webhooks (If you provided your hook URL)

When you initiate a transfer, you get a data.id in the response object. You can use this ID to verify the final status of that transfer by calling the Get a transfer endpoint.

When you do, pay attention to this response properties:

  • data.status which should say SUCCESSFUL and
  • data.complete_message which should say Transaction was successful

That is how you know that the transfer was successful from our end.

Mocking Successful transfers in test environment

When transfers are done to the test accounts provided on the test environment, they always remain in a pending state. To mock failed and successful transfers you would need to pass an identifier in your reference, see how to do that below.

  1. Pass _PMCK as a suffix to your reference, this allows us to know it's a mock transfer e.g. merchantreg0293039_PMCK . This always creates a mock transfer that would have its status as successful.

  2. Append ST_F as a suffix to your reference, this allows us to know you are mocking a failed transfer e.g. merchantreg0293039_PMCK_ST_F.

  3. When doing a mocked transfer, the final response i.e. Successful or failed comes after 10 minutes.

  4. To specify the time interval you want the response/callback to come, append DU_{minutes} as a suffix e.g. merchant837484758_PMCKDU_1 would return a callback for a successful transfer after 1 minute and merchant837484758_PMCK_ST_FDU_1 would return a callback for a failed transfer after 1 minute.

Transfer to an Mpesa account

For Mpesa transfers always pass the account_bank value as MPS, the account_number value is the recipients Mpesa number, it should always come with the prefix 254.

We have also provided sample request objects and responses in the example snippets above.

📘

Live Mpesa Transfers

To successfully make a live Mpesa transfer, you would need to use your live keys.
Also ensure that your Mpesa wallet balance on Flutterwave is funded, see how to fund your wallet balance here.

Uganda, Kenya, Zambia & Rwanda Mobile Money Transfers

When completing mobile money transfer to any of the countries above, always pass the account_bank value as MPS.

The account_number value is the recipient's mobile money number. Always prefix it with the appropriate country codes.

We also provided sample request objects and responses in the example snippets above for your use.

Ghana Mobile Money Transfer

When performing a Ghana mobile money transfer, you would need to pass the account_bank value as any of these options MTN, TIGO, VODAFONE, AIRTEL.

The account_number value is the recipients mobile money number, it should always come with the prefix 233

We have also provided sample request objects and responses in the example snippets above.

Language
Click Try It! to start a request and see the response here!