[Mifos-developer] Feature for Release H: MIFOS-5187 Integration with KopoKopo M-PESA integration interface

87 views
Skip to first unread message

Ed Cable

unread,
Jan 3, 2012, 6:06:31 PM1/3/12
to Developer, Rebecca Herrington
Community,

I wanted to propose that we try to prioritize work for Kopo Kopo integration in Release H.

Effort to integrate with the KopoKopo API shouldn't be too cumbersome and it will give us a strong advantage in terms of flexibile m-pesa integration for the Kenyan market.

KopoKopo is also being used by Nuru International who will benefit directly from the integration.

All details for the API calls are in the issue: http://mifosforge.jira.com/browse/MIFOS-5187

The KopoKopo team is available to answer any questions regarding the integration.

Ed

Jakub Sławiński

unread,
Jan 5, 2012, 5:37:56 AM1/5/12
to Mifos software development, Rebecca Herrington

Hi,

I think that KopoKopo integration is a great idea. I have assigned this
ticket to Release H.

As far as I understand we should only provide a simple REST method,
right? The POST request from the KopoKopo will contain the following fields:
* k2_account_id
* k2_transaction_id
* mm_system_id
* mp_transaction_id
* biller_number
* transaction_date
* transaction_time
* transaction_type
* ac_no
* sender
* first_name
* last_name
* middle_name
* amount
* currency

Rebecca, Ed, do you have any vision/specification how to map these
requests to the Mifos operations? What types of operation do you like to
have available for the KopoKopo? How to match these operations with
active accounts in Mifos? Using sender's mobile phone number (field:
sender), or maybe the account number directly (field: ac_no). If you
provide such functional specification, then the implementation shouldn't
be a big problem.


Regards,
Jakub.

> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
>
>
>
> Mifos-developer mailing list
> mifos-d...@lists.sourceforge.net
> Unsubscribe or change settings at:
> https://lists.sourceforge.net/lists/listinfo/mifos-developer


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
Mifos-developer mailing list
mifos-d...@lists.sourceforge.net
Unsubscribe or change settings at:
https://lists.sourceforge.net/lists/listinfo/mifos-developer

Ed Cable

unread,
Jan 6, 2012, 11:43:05 AM1/6/12
to Jakub Sławiński, Ben Lyon, Rebecca Herrington, Mifos software development
Jakub,

Glad you'll be able to take up work on this for upcoming release.

I cc'd on this email Ben Lyon from KopoKopo who can get you in touch with his Dennis Ondeng from his technical team to answer any questions. 

We had a brief demo of the tool and a discussion on the APIs before that might be beneficial for you or someone from your team to go through as well.

Ed

2012/1/5 Jakub Sławiński <jslaw...@soldevelo.com>

Ed Cable

unread,
Jan 6, 2012, 12:17:33 PM1/6/12
to Jakub Sławiński, Ben Lyon, Rebecca Herrington, Mifos software development
One area of follow-up and exploration that we had following the demo call was the notification URL for the API calling the transactions.

The existing KopoKopo integrations have separate notification URLs for loan repayments and savings repayments. I wasn't sure how we would disambiguate between a loan repayment and a savings repayment without adding too much risk for data entry error when the borrower is sending their payment via mobile money.  

To my understanding with our current API, we just have one transaction stream that flows in and gets applied to loans and then savings products based on pre-configured order.   The unique identifier in that case is the mobile #.

Previously we wanted to avoid having a client entire account # due to potential for data entry error. Is it possible to distinguish that a payment get applied to savings or loan account based on some type of simple client-readable input like TRANSACTION amount and then the word SAVINGS?


2012/1/6 Ed Cable <edc...@gmail.com>

Ed Cable

unread,
Jan 31, 2012, 6:07:07 AM1/31/12
to Ben Lyon, Rebecca Herrington, Mifos software development, Dylan Higgins, Dennis Ondeng
Hello all,

With Jakub back from vacation, I just wanted to bump this thread back up to the top of mind so we can continue to explore work on it for Release H.

Ed

On Sat, Jan 7, 2012 at 12:59 AM, Ben Lyon <b...@kopokopo.com> wrote:
Hi Jakub,

It's a pleasure to meet you -- we're excited to hear you'll be taking on Kopo Kopo in the next Mifos release.  I've copied our VP of Product Development, Dennis Ondeng, to this message.  He will be able to assist with regard to any technical questions. 

With regard to your comment on notification URLs, Ed, we can send transactions to either one or multiple URLs.  We distinguished between Loan Repayments and Savings Deposits for Mambu, but do not require that to be the case. 

Looking forward to working with you all! 

Cheers,
Ben
-- 
Benjamin Lyon
VP Business Development

logo.jpg

Check out our latest blog post: "Disrupting Banking (Part I)
And follow us on twitter: @kopokopoinc



2012/1/6 Ed Cable <edc...@gmail.com>

Jakub Sławiński

unread,
Feb 27, 2012, 10:48:52 AM2/27/12
to Ben Lyon, Mifos software development, Dennis Ondeng, Dylan Higgins, Rebecca Herrington

Hi,

any comments on my comments from:
http://mifosforge.jira.com/browse/MIFOS-5187
?

I just moved this ticket to unscheduled.


Regards,
Jakub.

On 01/31/2012 12:10 PM, Ben Lyon wrote:
> Hi Ed,
>
> Hope you enjoyed the vacation. FYI, we just launched our new website (link
> here <http://www.kopokopo.com>). It has all the details and a tour of the
> product.


>
> Cheers,
> Ben
> --
> Benjamin Lyon
> VP Business Development

> Kenya: <+254714830074> <+254714830074> <%2B254.714.830.074>+254.714.830.074
>
> [image: Kopo-Logo-horiz.png]
>
> Check out our latest blog post: "What do you
> see?<http://kopokopo.tumblr.com/post/15822561292/what-do-you-see>
> "
> And follow us on twitter: @kopokopoinc <http://twitter.com/kopokopoinc>
>
>
>
> 2012/1/31 Ed Cable <edc...@gmail.com>


>
>> Hello all,
>>
>> With Jakub back from vacation, I just wanted to bump this thread back up
>> to the top of mind so we can continue to explore work on it for Release H.
>>
>> Ed
>>
>>
>> On Sat, Jan 7, 2012 at 12:59 AM, Ben Lyon <b...@kopokopo.com> wrote:
>>
>>> Hi Jakub,
>>>
>>> It's a pleasure to meet you -- we're excited to hear you'll be taking on
>>> Kopo Kopo in the next Mifos release. I've copied our VP of Product
>>> Development, Dennis Ondeng, to this message. He will be able to assist
>>> with regard to any technical questions.
>>>
>>> With regard to your comment on notification URLs, Ed, we can send
>>> transactions to either one or multiple URLs. We distinguished between Loan
>>> Repayments and Savings Deposits for Mambu, but do not require that to be
>>> the case.
>>>
>>> Looking forward to working with you all!
>>>
>>> Cheers,
>>> Ben
>>> --
>>> Benjamin Lyon
>>> VP Business Development

>>> Kenya: <+254714830074> <+254714830074> <%2B254.714.830.074>
>>> +254.714.830.074
>>>
>>> [image: logo.jpg]
>>>
>>> Check out our latest blog post: "Disrupting Banking (Part I)<http://kopokopo.tumblr.com/post/15176041046/disrupting-banking-part-i>
>>> "
>>> And follow us on twitter: @kopokopoinc <http://twitter.com/kopokopoinc>


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2

Jakub Sławiński

unread,
Mar 5, 2012, 5:42:33 AM3/5/12
to Ben Lyon, Mifos software development, Dennis Ondeng, Dylan Higgins, Rebecca Herrington

Hi,

please look at the following comment:

http://mifosforge.jira.com/browse/MIFOS-5187?focusedCommentId=71532&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-71532


----


As far as I understand we should only provide a simple REST method,
right? The POST request from the KopoKopo will contain the following fields:

k2_account_id
k2_transaction_id
mm_system_id
mp_transaction_id
biller_number
transaction_date
transaction_time
transaction_type
ac_no
sender
first_name
last_name
middle_name
amount
currency

Rebecca, Ed, do you have any vision/specification how to map these
requests to the Mifos operations? What types of operation do you like to
have available for the KopoKopo? How to match these operations with
active accounts in Mifos? Using sender's mobile phone number (field:
sender), or maybe the account number directly (field: ac_no). If you
provide such functional specification, then the implementation shouldn't
be a big problem.

----


Regards,
Jakub.

On 02/28/2012 01:58 PM, Ben Lyon wrote:
> Hi Jakub,
>
> Thanks for your message. Would you mind specifying your comments /
> questions via email? We'll try to get back to you ASAP.
>
> Best,


> Ben
> --
> Benjamin Lyon
> VP Business Development
> Kenya: <+254714830074> <+254714830074> <%2B254.714.830.074>+254.714.830.074
>
> [image: Kopo-Logo-horiz.png]
>

> Check out our latest blog post: "What would you like to
> see?<http://kopokopo.com/?p=552>
> "
> Connect with us on Facebook <https://www.facebook.com/kopokopoinc> and
> Twitter <https://twitter.com/#!/kopokopoinc>
>
>
> 2012/2/27 Jakub Sławiński <jslaw...@soldevelo.com>

Ed Cable

unread,
Mar 20, 2012, 2:44:29 PM3/20/12
to Jakub Sławiński, Ben Lyon, Mifos software development, Dylan Higgins, Dennis Ondeng
Ben/Dennis,

Any feedback on Jakub's comment? We're going to target this for our upcoming Release I.

Ed

Michał Dudziński

unread,
May 21, 2012, 12:24:03 PM5/21/12
to mifos-d...@lists.sourceforge.net
Hi,

I have worked on http://mifosforge.jira.com/browse/MIFOS-5187 and I have finished implementation for loan payments and savings deposits. Code is already in master branch.

Mifos integration URL is "/basic/k2/processTransaction.json" and it use basic http authentication, so You must provide login credentials.
Example of full URL:
http://mifos:testmifos@localhost:8080/mifos/basic/k2/processTransaction.json
(standard credentials works for both basic and form authentication)

For now, only important parameters are: k2_transaction_id, ac_no, currency, amount, mm_system_id, transaction_date.
Based on guides provided by KopoKopo (HTTP POST Notification ticket attachment) I've decided to match operations by "ac_no" parameter. Ac_no is matched as global account number, so if ac_no contains global account number of loan account then mifos process loan payment transaction, if savings account then savings deposit transaction.
Other parameters:
- mm_system_id (mobile money system id) stands for payment type name, for example "M-PESA"
- transaction_date pattern is DD/M/YY.
- k2_transaction_id is used as receiptId for mifos transaction processing
- amount is just the transaction amount
- currency should be valid account currency  3 letter Alphabetical code (example 'INR' or 'USD')

Mifos KopoKopo integration URL can be easily tested with "curl" program (example in ticket attachments from KopoKopo) or with browser with any REST plugin installed.

I'm looking forward for any comments and suggestions.

Best regards,
Michał Dudziński
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
Reply all
Reply to author
Forward
0 new messages