Logic for Building a Mobile Remittances Wallet
Sending money from abroad to loved ones living in developing nations can be a challenge. But thanks to a growing industry of mobile money remittance platforms, sending money from abroad to Africa has become a few clicks easier.
Let’s look at the simple algorithmic logic behind building a mobile money remittances platform.
Step 1: Create USSD Wallet
Create an intermediate wallet that can handle Mobile money transactions, collections and disbursements.
In this case you’ll have to be familiar with consuming RESTful mobile money APIs from telecom vendors. MTN for example has an open API that allows third-party developers to build mobile money apps and wallets on top of their Momo platform. Check it out and get familiar with MTN’s developer program: https://momodeveloper.mtn.com/
Step 2: Card Processing
Create a flutterwave or Stripe account.
Mobile money vendors like MTN’s Momo platform and Airtel Money use USSD codes as an endpoint to process transactions. They do NOT support credit/debit card payment processing. Therefore it is imperative that you sign up to a third-party card processing company that will help you manage card payments. The two most popular of these platforms in Africa are flutterwave (https://developer.flutterwave.com) and stripe (https://stripe.com/docs/api)
Step 3: Load Money from Card
The sender abroad transfers money from their credit/debit card into your flutterwave or stripe account. Again this requires the developer to be familiar with consuming RESTful card processing APIs from their respective card vendors.
Step 4: Credit the Wallet with an equal amount
Once you confirm receipt of the money into your stripe or flutterwave account, you then credit that sender’s intermediate wallet account with an equal amount of money from your own company Mobile money account.
Step 5: Transfer to final receiver
The sender can then transfer the money from their intermediate wallet account to any Mobile money subscriber on the telecom network using Mobile money disbursements.
Conclusion:
For a simpler implementation, you could ignore the wallet and simply create a direct to receiver platform.
In that case;
Step 1: Use a credit/debit card processing company (like Stripe or Flutterwave) to receive the senders card payment,
Step 2: Once receipt is confirmed, transfer an equal amount of money from your company’s Mobile money account and send it directly to the receiver’s Mobile money account.
Thanks!
Thanks for reading this post.
Find me on;
Github: http://Github.com/VakinduPhilliam
Twitter: http://Twitter.com/VakinduPhilliam