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 saySUCCESSFUL
anddata.complete_message
which should sayTransaction 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 saySUCCESSFUL
anddata.complete_message
which should sayTransaction 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.
-
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. -
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
. -
When doing a mocked transfer, the final response i.e. Successful or failed comes after 10 minutes.
-
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 after1
minute andmerchant837484758_PMCK_ST_FDU_1
would return a callback for a failed transfer after1
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.