m-pesa daraja api包装

mpesap的Python项目详细描述


mpesapy

这个包装器旨在帮助python开发人员不费吹灰之力地实现各种mpesaapi。它基于rest api(daraja),其文档可在http://developer.safaricom.co.ke上获得。

包装器实现以下端点:

  1. Authentication
  2. Lipa na M-Pesa Online Payment
  3. C2B
  4. B2C
  5. B2B
  6. Account Balance
  7. Transaction Status
  8. Reversal

开始

先决条件

  1. Click here 并在mpesa daraja门户上创建应用程序。
  2. 完成后,将为您提供Consumer KeyConsumer Secret
  3. 对于开发和测试环境,请使用sandboxfor env
  4. 对于现场环境,使用apifor env

安装:

pip install git+https://github.com/dennismwagiru/mpesapy.git

用法

导入MPESA并创建对象

frommpesapyimportMpesampesa=Mpesa('sandbox','600462',ConsumerKey,ConsumerSecret)
生成访问令牌
access_token=mpesa.get_access_token()
lipa na m-pesa在线支付api
res_json=mpesa.lipa_na_mpesa_online(Password='bfb279f9aa9bdbcf158e97dd71a467cd2e0c893059b10f78e6b72ada1ed2c919',Timestamp='20180704203000',Amount='10',PartyA='254708374149',PartyB='174379',PhoneNumber='254708374149',CallBackURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',AccountReference='Test',TransactionDesc='Test')
c2b api

注册网址:

res_json=mpesa.c2b_register_url(ValidationURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',ConfirmationURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU')

模拟事务:

res_json=mpesa.c2b_simulate(Amount=amount,MSISDN=phone_no,BillRefNumber=account_no)
B2C付款请求
res_json=mpesa.b2c_payment_request(InitiatorName='testapi',Amount=10,PartyB='254708374149',Remarks='Test',SecurityCredential='nR47eKS3OWCwOGJofwW4Vze5Y2r9VtiNF+YrxopbnxjRckpZHDp379XscBqPLibV6ZKhQ0OjUFRTR7cVnxLrhF4PDZr8Eg4+euuYL/HB9DQHom0kuDwvxUS+ctQsRZ8gBB8d+QYBqb1hzsBuxl2jNohQpeqVOZ1tb1UzGPnLQfAcQuf/x6q5Ze0orzvC2BmCw75GhJl4quZEG2Pou72PQD2IAiQSUOWYSHcJC/3oyYqtLx6Vl98F9Qjx+6oKZHXqokkWccf2vOyl6ApQ5BKubfUPVSa9ggl87ZdffNueifs60HAIHKtD77NyV4G3vXfKBxbm5Z9AqVLbPp6yXS9AAw==',QueueTimeOutURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',ResultURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',Occassion='Test')
B2B付款请求
res_json=mpesa.b2b_payment_request(Amount=10,PartyB='600000',RecieverIdentifierType=4,Remarks='Okay',Initiator='testapi',SecurityCredential='nR47eKS3OWCwOGJofwW4Vze5Y2r9VtiNF+YrxopbnxjRckpZHDp379XscBqPLibV6ZKhQ0OjUFRTR7cVnxLrhF4PDZr8Eg4+euuYL/HB9DQHom0kuDwvxUS+ctQsRZ8gBB8d+QYBqb1hzsBuxl2jNohQpeqVOZ1tb1UzGPnLQfAcQuf/x6q5Ze0orzvC2BmCw75GhJl4quZEG2Pou72PQD2IAiQSUOWYSHcJC/3oyYqtLx6Vl98F9Qjx+6oKZHXqokkWccf2vOyl6ApQ5BKubfUPVSa9ggl87ZdffNueifs60HAIHKtD77NyV4G3vXfKBxbm5Z9AqVLbPp6yXS9AAw==',QueueTimeOutURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',ResultURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',AccountReference='Test')
账户余额申请
res_json=mpesa.balance(PartyA='600462',IdentifierType=4,Remarks='Okay',Initiator='testapi',SecurityCredential='nR47eKS3OWCwOGJofwW4Vze5Y2r9VtiNF+YrxopbnxjRckpZHDp379XscBqPLibV6ZKhQ0OjUFRTR7cVnxLrhF4PDZr8Eg4+euuYL/HB9DQHom0kuDwvxUS+ctQsRZ8gBB8d+QYBqb1hzsBuxl2jNohQpeqVOZ1tb1UzGPnLQfAcQuf/x6q5Ze0orzvC2BmCw75GhJl4quZEG2Pou72PQD2IAiQSUOWYSHcJC/3oyYqtLx6Vl98F9Qjx+6oKZHXqokkWccf2vOyl6ApQ5BKubfUPVSa9ggl87ZdffNueifs60HAIHKtD77NyV4G3vXfKBxbm5Z9AqVLbPp6yXS9AAw==',QueueTimeOutURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',ResultURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU')
交易状态请求
撤销请求

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何创建Restful服务并将其部署到OSGi容器?   java如何获取用户在EditText中输入的时间并从中扣除5小时30分钟?   java用户无法注销firebase 安卓   java Undertow始终将字符集添加到ContentType头,即使它不是文本MIME类型   java LocalBroadcastManager未正确接收消息   foreach在Java中有没有比For循环更好的方法可以灵活地遍历集合?   java如何在安卓上移动球   在OSGi下的Log4j中使所有记录器异步时,java ClassNotFoundException   java未知输入字节长度转换为int   java测试工厂在使用前缀命名时抛出NPE   对象的副本(JAVA)   java SP20310:无法打开文件。sql   java Spring安全性仅为一条路径添加安全性   java在idea中获取菱形运算符的编译错误