Hi Everyone!

Payment Service integration will help us to integrate Fineract with mobile
money platforms(mpesa, beyonic, etc..) so that the data can be synchronized
with the disbursements, repayments of the loans that being initiated
through the mobile money platform.
It can enable financial institutions to go completely paperless once mobile
money is rolled out and integrated with the core banking system.

*Roles and Responsibilities of payment-service:*

   1. This service will act as a central base for interacting with
   third-party payment vendors like RazorPay. mPesa etc.
   2. Implement necessary callback endpoints of vendors.
   3. Validate payment vendor call, verifying the signature from the vendor.
   4. Error Handling of vendor call-backs,
   5. Do necessary database operation, (refer to database schema attached).
   6. Create message to be published on inbound queue, again it will have a
   signature mechanism.
   7. Publish message on a single payment topic(common for all vendors).
   8. Listens to outbound queue message.
   9. Initiate transaction via the vendor that was chosen.

*Fineract Interaction with Payment Service:*

   1. It will listen to payment (inbound) queue.
   2. Authenticate request.
   3. Do the necessary database operation and transaction
   creation(INBOUND/OUTBOUND).
   4. Write messages to the outbound queue for loan disbursements.



*Currently, we need a solution to the given problem statement:*
Problem Statements:

   1. Are we going to support direct wallet to wallet transaction for loan
   repayment as well as for loan dispersal cases?
   For example, a user with a phone number directly pays from his mPesa
   account to Mifos account for loan repayment purpose.
   2. There are cases where a user will be making a payment from a
   different number (or another user is paying on their behalf) or if they
   want to pay multiple accounts or have multiple loan or savings accounts
   open.
   Solution suggestion by Thynn: "In the case of multiple family members
   using one telephone number, one way is to have them enter the account
   number (savings or loan) to apply the payment to" but this solution may
   lead to issues like, if the user enters the incorrect account number then
   we have to initiate refunds for that particular transaction.

It would be really appreciated if anyone has tried to solve this problem or
suggest some solution for the same.

I'm looking forward to hearing your invaluable feedback and suggestions to
fit the best interests of the community.

Thanks,
Sanyam Goel


-- 
SANYAM GOEL
LinkedIn: https://goo.gl/6SJMg3
Github: https://goo.gl/u51wRZ
Hackerrank: https://goo.gl/4kzLf7
+91-9818060934

Reply via email to