Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B4E73200CA3 for ; Wed, 17 May 2017 18:02:09 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id B382B160BB5; Wed, 17 May 2017 16:02:09 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AC08D160BBA for ; Wed, 17 May 2017 18:02:08 +0200 (CEST) Received: (qmail 39751 invoked by uid 500); 17 May 2017 16:02:07 -0000 Mailing-List: contact dev-help@fineract.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@fineract.apache.org Delivered-To: mailing list dev@fineract.apache.org Received: (qmail 39654 invoked by uid 99); 17 May 2017 16:02:07 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 May 2017 16:02:07 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id BD558C16CC for ; Wed, 17 May 2017 16:02:06 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.991 X-Spam-Level: * X-Spam-Status: No, score=1.991 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=mifos-org.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id z6XF2Ptb5r57 for ; Wed, 17 May 2017 16:02:02 +0000 (UTC) Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 4E0EF60D30 for ; Wed, 17 May 2017 16:02:02 +0000 (UTC) Received: by mail-wm0-f46.google.com with SMTP id b84so170528151wmh.0 for ; Wed, 17 May 2017 09:02:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mifos-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=m6NjqgGwozno8SSfPkXE3m5rLcp5FDAmNuPx4YK1peI=; b=oQ31LaGQLdaz3rlH3FUGT33yoWTHpqlh+efCO6SHOeWjkxvGWQJwzyXT/XB8hCfQZD eTWkckTheAYI260pBzTF0A1gpcpgzVKzJZ6oNi/BReccEoSV0wvlHlWseUthGo8O0Q4I 9dv7svSlBiDqCizk7AXVZVfl6GanwvshD5CIMj59V+j3iUqY2gxr2lOqGSmCx/b0rMa/ 2QZzuH+Xhoz4YnFICud3HJlPumVR/1KNlRU1A+VZw2rfylTXnXObfOYkBG+BmCsWkHAe 7OB657zkbTGtMDOfp4tZ1BRytvfCsBqMChgjRbKnAblSSYgUVVd4Tg/WTRRV5bFlpScq Po1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=m6NjqgGwozno8SSfPkXE3m5rLcp5FDAmNuPx4YK1peI=; b=BxBvdj2kSLyLMPlV3IHCCiKmoNJVSAjBR2vN1rU80YIWt3GFOAWllR1hWFRTxWNfza EOEwCoyG6m76Fu7ntxVwT4VPzM1lj5gk4WP8mJ2mhcZHm/CKf6cIQl4IuVwA8OLN6K4a ca/VBASi0oihvO6YzK2YuzRqY8u0LfcOl58JZ7yMvEWsZVOAFWAXEmu53K3KxEIiCl79 UgCRiswmkSM6Jy6Nkg8rDNbS6cxaL75j3iIXsiFMD/wQoMJlXKjZW8rNoIEbvfmWETp6 N1XxymgvHwH25rsInnSuz33D82N+rK/cdfW027LPQMAEsVUR5pgv/fefO+GjSkPDZq5z vOLA== X-Gm-Message-State: AODbwcBLH+ZBIk8KCcrO0IC9Wg3I0s4cSAW/3+gCMOcOnRkckVm3LFcE aU5UWGXy+WlZec259f68cR5YklaI/fKQ X-Received: by 10.25.221.7 with SMTP id u7mr378155lfg.55.1495036915163; Wed, 17 May 2017 09:01:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.155.194 with HTTP; Wed, 17 May 2017 09:01:34 -0700 (PDT) In-Reply-To: References: From: Ed Cable Date: Wed, 17 May 2017 09:01:34 -0700 Message-ID: Subject: Re: [Mifos-developer] Requirements Discussion for Mobile Money Integration Project for Google Summer of Code -- notes To: dev@fineract.apache.org Cc: Mifos software development , mifos-users , Marlene Feil Content-Type: multipart/alternative; boundary="94eb2c0e61ca413abc054fba682b" archived-at: Wed, 17 May 2017 16:02:09 -0000 --94eb2c0e61ca413abc054fba682b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks to all who joined the call. Here's a some brief notes and additional information that we need which would help Vladimir greatly in this project. Information Needed - Need partners and users in the community to share the high-level transaction flows that need to be supported - What are the inbound transactions (client to MFI)? - What are the outbound transactions (MFI to client)? - Explain from the perspective of the user (client or MFI staff) how a transaction is initiated and effected via whatever device (USSD interface, smartphone interface, web interface (staff)) - Identify what information is or needs to be passed on during the transaction - Understanding this will help us know what information must flow from/to Mifos/Fineract and the mobile money system via the mobile money gateway - Partners need to provide access to the mobile money APIs for their country/region. Outstanding Questions - What happens when clients have multiple financial accounts with the MFI (i.e. loan account(s), savings accounts)? - If using the client mobile # as unique identifier, how do you specify which account transfer should go to? - Does mobile money provider allow additional information to be passed on, if so what and how? - What happens if a client has multiple mobile money accounts (i.e. one with MTN and one with Orange Money) - How do you distinguish their different mobile #s in Mifos/Fineract? - Do clients pay for a group loan via a single mobile money account? - How do you handle allocation of such payments? Phasing - Phase 0 - GSOC 2016 (complete) - Initial development of gateway/mobile money integration module & stand-alone UI with focus on MTN Cameroon - Phase 1 - GSOC 2017 - Complete Mobile Money Gateway - Make generic to support integration with mobile money APIs from different providers - Currently testing with Beyonic (multiple countries), Myanmar, Cameroon, Kenya - Support the transaction flows outlined above. - UI - Staff - Users of Mifos/Fineract to initiate disbursements should be able to do that from the current Web UI - no separate UI should be needed - Clients - clients should be able to initiate mobile money transactions from the mobile money providers=E2=80=99 UI - USSD or= Smartphone - UI for checking status of payments, etc. - Phase 2 - GSOC 2017 - UI - Clients should be able to initiate mobile money transactions via a Mifos self-service Android app - Could extend off of the UI that Daniel built in 2016. On Wed, May 17, 2017 at 8:59 AM, Ed Cable wrote: > Thynn, > > Thanks for organizing the meeting and sending out your notes. Can you > please create tickets (either in the Github repo) or in Apache Fineract > JIRA for the features you requested at the bottom of your email. > > Ed > > On Wed, May 17, 2017 at 8:01 AM, Thynn Win > wrote: > >> Hi all, >> >> >> Thank you for participating in the meeting this morning. >> >> >> >> >> >> *High level info flow * >> >> Funds from customer >> >> 1. Loans - Undo Disbursals -- can be triggered by MFI from Mifos >> (Need to handle failed transactions) or Mobile Money GUI >> 2. Loans =E2=80=93 Make Repayments =E2=80=93 from be triggered from M= FI client via >> money provider app or self-service app >> 3. Loans =E2=80=93 Prepay Loans =E2=80=93 from be triggered from MFI = client via money >> provider app or self-service app >> 4. Savings =E2=80=93 Deposits =E2=80=93 from be triggered from MFI cl= ient via money >> provider app or self-service app >> 5. Loans =E2=80=93 charges, etc. =E2=80=93 from be triggered from MFI= client via >> money provider app or self-service app >> >> >> >> For #2-5, MMP will initiate a request to the gateway with MFI client >> phone number or specific account number (loan 1#, loan 2#, savingings >> #,etc). >> >> A list of active account numbers and amount owe will be returned to MMP >> and MFI client has an option to either choose the exact amount or enter = an >> amount. >> >> >> >> Funds to customer >> >> 1. Loan disbursement =E2=80=93 triggered by MFI from Mifos (Need to h= andle >> failed transactions) or Mobile Money GUI. >> 2. Withdrawal from Savings =E2=80=93 triggered by MFI from Mifos (nee= d to >> handle failed transactions) or Mobile Money GUI. >> >> >> >> >> >> >> >> >> >> As for database design (mobile money), we=E2=80=99d like to request a fe= w more >> tables. >> >> >> >> A table for saving transaction-status. >> >> -Tenant-transactions-id >> >> -date/time of transaction (when it hit mobile money gateway) >> >> -status >> >> -API return code (from either side provider or Fineract) >> >> -Server ip of the request >> >> -Comments or error details/codes >> >> -External id (transaction id of external system) >> >> >> >> In tenant-transactions table, we should save all the information that=E2= =80=99d >> be transmitted either direction. >> >> 1. The json or messages itself *or* >> 2. critical information in the message such as client account number >> with provider (at the time of the transaction), what amount was >> returned/received via the API, etc. >> *we=E2=80=99d need all the details to troubleshoot and reconcile on e= ach end. >> >> >> In tenants table, should we add tenant identifier, MFI api url, etc to >> let this platform know which tenant/database/server. >> >> >> >> For item #2-5 above (where 3rd party retrieving info), we should check >> whether the MFI client is associated with this MMP. Otherwise, we should >> NOT return any result for security reasons. Only allow legitimate reques= ts >> for lookup info. For this, we will need to store a relationship between = MMP >> and MFI Client and a workflow for maintaining this info. >> >> Feature request >> >> >> >> 1. Mobile money gateway UI to display transactions for reconciling >> (reports, etc) >> 2. Mobile money gateway UI to show error report for monitoring >> purposes >> 3. In Mifos, allow saving of different phone number for different MMP >> payment type >> >> >> >> >> >> Thanks, >> Thynn >> >> >> >> >> >> >> >> >> >> *From:* Ed Cable [mailto:edcable@mifos.org] >> *Sent:* Tuesday, 16 May, 2017 18:03 >> *To:* dev@fineract.apache.org; Mifos software development < >> mifos-developer@lists.sourceforge.net>; mifos-users < >> mifos-users@lists.sourceforge.net>; user@fineract.apache.org >> *Subject:* [Mifos-developer] Requirements Discussion for Mobile Money >> Integration Project for Google Summer of Code >> >> >> >> Hello everyone, >> >> >> >> Picking up where Daniel Carlson left off from his 2016 GSOC project will >> be a our 2017 GSOC intern, Vladimir Fomene from Ashesi Univerity in Ghan= a. >> >> >> Working under the mentorship of Yannick and Ayuk from Skylabase and >> Antony from Omexit, he'll be genericizing the framework to work with >> multiple mobile money APIs and adding the support for reconciliation of >> transactions that occur in the mobile money system with the Apache Finer= act >> back-end. Future phases of the project will include integration with >> self-service capabilities and extending this to work with Generation 3 o= f >> Mifos. >> >> >> >> The openness of mobile money APIs is a widely discussed topic in the >> sector and we would like community members who have either use cases for >> mobile money integration they'd like to share or access to their country= 's >> mobile money APIs to join this discussion. >> >> >> >> Yannick has drafted a Google Doc which outlines efforts to date, point t= o >> valuable research, maps out architecture and database design, lays out t= he >> project plan, and identifies assumptions and outstanding questions. Plea= se >> review at https://docs.google.com/document/d/1I4uF-dC9Y4GuSoWmnd7WB >> JplMZMPUmM63tY8fSgUBO0/edit?usp=3Dsharing >> >> >> >> We are having a meeting to discuss requirements and design on Wednesday >> at May 17, 2017 at 1300GMT via GoTotraining - you can register at >> https://attendee.gototraining.com/r/2760388095915259137 >> >> >> >> Thynn and Nyi from Thitsaworks in Myanmar are driving this meeting and >> providing requirements from the context of Wave Money integration in >> Myanmar. We are also integrating with Beyonic which provides mobile mone= y >> API aggregation for four countries. Skylabase is providing requirements = for >> Orange Money integration as well. >> >> >> >> Vladimir will soon be sharing his project plan once he has compiled >> requirements across the community. >> >> >> Cheers, >> >> >> >> Ed >> -- >> >> *Ed Cable* >> >> President/CEO, Mifos Initiative >> >> edcable@mifos.org | Skype: edcable | Mobile: +1.484.477.8649 >> <(484)%20477-8649> >> >> >> >> *Collectively Creating a World of 3 Billion Maries | *http://mifos.org >> >> >> >> > > > > -- > *Ed Cable* > President/CEO, Mifos Initiative > edcable@mifos.org | Skype: edcable | Mobile: +1.484.477.8649 > <(484)%20477-8649> > > *Collectively Creating a World of 3 Billion Maries | *http://mifos.org > > > --=20 *Ed Cable* President/CEO, Mifos Initiative edcable@mifos.org | Skype: edcable | Mobile: +1.484.477.8649 *Collectively Creating a World of 3 Billion Maries | *http://mifos.org --94eb2c0e61ca413abc054fba682b--