m-pesa daraja api包装
mpesap的Python项目详细描述
mpesapy
这个包装器旨在帮助python开发人员不费吹灰之力地实现各种mpesaapi。它基于rest api(daraja),其文档可在http://developer.safaricom.co.ke上获得。
包装器实现以下端点:
- Authentication
- Lipa na M-Pesa Online Payment
- C2B
- B2C
- B2B
- Account Balance
- Transaction Status
- Reversal
开始
先决条件
- Click here 并在mpesa daraja门户上创建应用程序。
- 完成后,将为您提供
Consumer Key
和Consumer Secret
- 对于开发和测试环境,请使用
sandbox
for env - 对于现场环境,使用
api
for 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')
交易状态请求
撤销请求
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')