Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Payment methods: Add support for M-Pesa #5022

Closed
cd2357 opened this issue Dec 29, 2020 · 15 comments
Closed

Payment methods: Add support for M-Pesa #5022

cd2357 opened this issue Dec 29, 2020 · 15 comments

Comments

@cd2357
Copy link
Contributor

cd2357 commented Dec 29, 2020

Add support for M-Pesa payment method, used for P2P payments in Kenya, Tanzania, South Africa, Afghanistan, Lesotho, DRC, Ghana, Mozambique, Egypt.

As per https://twitter.com/KenyaCoin/status/1343803178312208385 :

The reason there's no offers on Bisq for $KES is mostly because the payment method that is most popular for P2P trading in Kenya, m-Pesa, is not (yet) supported by @Bisq_network

As per https://www.vodafone.com/what-we-do/services/m-pesa :

Live in 7 countries
41.5 million active customers
12 billion transactions in 2019

@ayo-dele-akin
Copy link

ayo-dele-akin commented Dec 29, 2020

@cd2357 I am happy to implement this with Flutterwave API - https://developer.flutterwave.com/docs/mpesa if anyone would be willing to guide me during the development.

However, The flutterwave platform would require a company/person(flutterwave's customer) to receive the payment into his account. The money can then be transferred out of the account to the recipient. This is not exactly P2P

@m52go
Copy link
Contributor

m52go commented Dec 30, 2020

@pazza83 tagging you here to include you in the discussion. I invited KenyaCoin from Twitter to post help/feedback here as well.

@sgornick
Copy link
Contributor

sgornick commented Dec 30, 2020

Here is a blog post with most of the details that might be needed regarding the m-Pesa payment method.

@sgornick
Copy link
Contributor

@cd2357 I am happy to implement this with Flutterwave API - https://developer.flutterwave.com/docs/mpesa if anyone would be willing to guide me during the development.

However, The flutterwave platform would require a company/person(flutterwave's customer) to receive the payment into his account. The money can then be transferred out of the account to the recipient. This is not exactly P2P

Bisq doesn't escrow or otherwise touch any fiat payment methods. It appears that this issue will be where conversation for adding a new fiat payment method begins, and then the Payment Method Maintainer role can guide further, I presume.

@pazza83
Copy link

pazza83 commented Jan 2, 2021

Here is a blog post with most of the details that might be needed regarding the m-Pesa payment method.

Thanks for the link. I will take a look at it and come back with some questions. Sounds like a promising payment method.

@pazza83
Copy link

pazza83 commented Jan 2, 2021

However, The flutterwave platform would require a company/person(flutterwave's customer) to receive the payment into his account. The money can then be transferred out of the account to the recipient. This is not exactly P2P

Thanks I am not sure having an intermediary would be suitable. Hopefully as a P2P payment method this would not be needed.

@pazza83
Copy link

pazza83 commented Apr 18, 2021

M-Pesa has been scored for inclusion to Bisq:

Essential Desirable Definite No’s
Very low risk of chargeback No risk of chargeback < very low risk of chargeback
Way to verify the sender in the received payment Way to verify the sender in the received payment and ability to enter a reference No way to verify the sender in the received payment
~~Trade time less than one week** Instant payment Trade time more than one week
Singular Fiat currency Multi-currency Not a payment method for fiat currency
Significant user base Large user base No significant user base
High usability High usability and great user experience < high amount usability
No KYC required for sending and receiving payments No KYC required for sending and receiving payments, allows users to trade with upmost privacy. Minimal identifying information as possible (no names, email, phone etc required) Some KYC required (proof of address, ID, selfie) for sending and receiving payments
Low risk of scam attempts Very low risk of scam attempts < low risk of scam attempts
Traders can provide evidence of payment / receipt Traders can provide evidence of payment / receipt and Verification of payment can be made using PageSigner or similar Traders will be unable to provide evidence of payment / receipt
Minimum limit at least equal to at least account limits protocols No minimum limits Minimum limit not able to achieve account limits protocols
Maximum limits equal to at least 0.01 BTC Large payment limits up to 2 BTC Maximum limit is less than 0.01 BTC
Likely to increase liquidity Likely to increase liquidity and open markets for different countries and currencies Likely to decrease liquidity
Low risk of mediation Very low risk of mediation < low risk of mediation
Low risk for traders from government agencies No risk for traders from government agencies < low risk for traders from government agencies
Fees should not be a barrier to trading No fees for transactions Fees will be a barrier to trading
Only minor changes needed to trade protocol No changes needed to trade protocol > Minor changes needed to trade protocol

Score: 7/32
Percentage: 21.88%

@pazza83
Copy link

pazza83 commented Apr 18, 2021

Hi @cd2357, @sgornick and @Ayo-Dele

Looking into M-Pesa it seems that is has some features that make it not suitable for inclusion in Bisq. These are:

  • Risk of chargebacks
  • SMS based payments (no ability to prove payment made / received
  • No web or mobile app for payments

It would be great if you could let me know if I have any of the above information incorrect.

@cointastical
Copy link

cointastical commented Apr 19, 2021

It would be great if you could let me know if I have any of the above information incorrect.

Safaricom has a mySafaricom app on Google Play (Android) and App Store (iPhone / iPad) with the ability to manage an m-Pesa account, including the ability to send a payment, and also to share a transaction record:
Eu_MGs2XAAIoVBM

Then earlier this year (2021), there is now apparently an m-Pesa app (standalone), as described in this article on Tech-Ish. In the article it is shown that the app will produce a PDF with a transaction receipt (example: receipt). The use of either app is not required, as m-Pesa can be used from a feature phone even (thanks to the ability to transact using STK (SIM Toolkit)).

There is also Safaricom Selfcare web access, and other methods for accessing a transaction statement as well.

@cointastical
Copy link

The above is comment is for Safaricom m-Pesa only (i.e., Kenya). Other m-Pesa franchises may vary in availability of an app, and how receipts are provided.

@pazza83
Copy link

pazza83 commented Apr 20, 2021

Thanks @cointastical ideally it would be good to include a solution that can cover all m-Pesa payments?

@m52go any thoughts on this?

I would be worried that adding m-Pesa is opens up cases where using can not prove they have send / received payment as a simple SMS is not secure enough and phone used may not have record screen option.

Also chargeback risk seems higher that what is normally accepted.

Maybe an alternative would be to choose an app used by multiple countries that utilizes m-Pesa. @cointastical do you know if such an app exists?

@cointastical
Copy link

There are a couple other fiat wallet apps which support $KES (Kenyan shillings) and work with either one or more of the local mobile money networks (e.g., Safaricom m-Pesa in Kenya) or with one or more domestic banks. There's EverSend app, and Chipper Cash, as two examples. But the ability to reverse a payment is even greater with these payment networks that sit at a layer on top of the underlying base layer fiat networks, thus they are even less qualified as an alternative to the base layer mobile money network (e.g., Safaricom m-Pesa). And with the various central banks in the region being hostile to bitcoin, there's risk simply in transacting using these fiat payment methods (e.g., Chipper Cash has "temporarily" suspended Safaricom m-Pesa, which has caused anyone with a $KES balance on Chipper Cash app to lose access to their funds, until there is a resolution.)

@pazza83
Copy link

pazza83 commented May 1, 2021

Hi @cointastical thanks for the alternative suggestions. I will look into them.

@stale
Copy link

stale bot commented Aug 21, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the was:dropped label Aug 21, 2021
@pazza83
Copy link

pazza83 commented Aug 21, 2021

This can be closed

@stale stale bot removed the was:dropped label Aug 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants