mtn momo api的python包装器。

momoapi的Python项目详细描述


#mtn mobile money api客户端[构建状态](https://travis-ci.com/sparkplug/momoapi-python.svg?branch=master)(https://travis ci.com/sparkplug/momoapi节点)
[![最新版本](https://img.shields.io/pypi/v/tox travis.svg)(https://badge.fury.io/js/mtn momo)
[![覆盖状态](https://coveralls.io/repos/github/sparkplug/momoapi-python/badge.svg?分支=验证](https://coveralls.io/github/sparkplug/momoapi-python?分支=验证)
[![加入Spectrum社区](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/momo-api-developers/)


ted)

库附带有一个命令行应用程序,可帮助创建沙盒凭据。它假设您已经在"https://momodeveloper.mtn.com"上创建了一个帐户,并拥有"ocp apim订阅密钥"。

```在项目中的命令行上执行bash
在本例中,我们的域是akabo.ug
$momoapi
$providercallbackhost:https://akabo.ug
$ocp apim subscription key:f83x8d8xx6749f19a26e2265aeadbcdeg
```

`providercallbackhost`是回调主机,`ocp apim subscription key`是您订阅的特定产品的api密钥。"api key"是产品特有的,您使用的每个产品都需要一个"api key"。您应该得到类似于以下内容的响应:

``bash
这是您的用户ID和API机密:{apikey':'b0431db58a9b41fa8f586203xxxxxx','user id':'053c6dea-dd68-xxxx-xxxx-c830dac9f401'}
```

这些是我们将用于沙盒环境的凭据。在生产中,这些凭据在满足KYC要求后在MTN ova管理仪表板上提供给您。


全局配置必须包含以下内容:

*`base_url`:mtn momo api的可选基url。默认情况下,将使用登台基url
*`environment`:可选环境,可以是"sandbox"或"production"。默认值为"sandbox"
*"callback_host":承载webhooks url的域。这是必需的。

一旦指定了全局变量,就可以提供特定于产品的变量。每个momo api产品都需要自己的身份验证详细信息,即自己的"订阅密钥"、"用户id"和"用户机密",有时也称为"api机密"。因此,我们必须为您将要使用的每个产品配置订阅密钥。

配置选项的完整列表可以在下面的示例中看到:

``python
config={
"environment":os.environ.get("environment"),
"base戥url":os.environ.get("base戥url"),
"callback戥host":os.environ.get("callback戥host"),
"collection戥primary戥key":os.environ.get("colleaction_primary_key",
"collection_user_id":os.environ.get("collection_user_id"),
"collection_api_secret":os.environ.get("collection_api_secret"),
"reshifting_user_id":os.environ.get("reshifting_user_id"),
"reshifting_api_secret":os.environ.get("reshifting_api_secret"),
"reshifting_primary_key":os.envieon.get("汇款密钥"),
"支付用户ID":os.environ.get("支付用户ID"),
"支付API秘密":os.environ.get("支付API秘密"),
"支付"_主键:os.environ.get("支付主键"),
}
````

>您只需要为将要使用的产品配置变量。


注意,mtn ova仪表板上提供了用于生产的"collection_user_id"和"collection_api_secret";

*"collection_primary_key":开发人员门户上"collection"产品的主键。
*"collection_user_id":对于沙盒,请使用使用"momoapi"命令生成的主键。
*"collection_api_secret":对于SANdbox,使用"momoapi"命令生成的集合客户端。

.get("collection_api_secret"),
"collection_primary_key":os.environ.get("collection_primary_key"),
})方法。` requesttopay`:此操作用于向消费者(付款人)请求付款。付款人将被要求授权付款。一旦付款人授权付款,交易即被执行。在付款人授权或拒绝或系统超时之前,交易将处于挂起状态。可以使用"getTransactionStatus"验证事务的状态。

2。` gettransaction`:使用由'requesttopay'返回的'transactionid'检索事务信息。您可以每隔一段时间调用它,直到事务失败或成功。如果事务失败,它将抛出相应的错误。

3.` get balance`:获取账户余额。

4。` ispayeractive`:检查帐户持有人是否已在系统中注册并处于活动状态。


i_secret"),
"collection_primary_key":os.environ.get("collection_primary_key"),
}

client.requesttopay(
mobile="256772123456",amount="600",external_id="123456789",payee_note="dd",payer_message="dd",currency="eur")
````

帕拉默特请注意,MTN ova仪表板上提供了用于生产的"支付用户ID"和"支付API Secret";

*"支付主密钥":开发人员门户上"支付"产品的主密钥。
*"支付用户ID":对于沙盒,请使用使用使用"momoapi"命令生成的沙盒。
*"支付API Secr"et`:对于沙箱,使用"momoapi"命令生成的沙箱。

ret":os.environ.get("padding_api_secret"),
"padding_primary_key":os.environ.get("padding_primary_key"),
})
````


`转账`:用于将所有者账户中的金额转入收款人账户。可以使用"getTransactionStatus"方法验证事务的状态。

2。` getTransactionStatus`:使用"transfer"返回的"transactionID"检索事务信息。您可以每隔一段时间调用它,直到事务失败或成功。

2。`获取余额`:获取您的帐户余额。

3.` isPayerActive`:此方法用于检查帐户持有人是否已在系统中注册并处于活动状态。

代码

``python
import os
from momoapi.collection import apposition

"apposition_user_id":os.environ.get("apposition_user_id"),
"apposition_api_secret":os.environ.get("apposition_api_secret"),
"apposition"primary_key":os.environ.get("支付密钥"),
}

client.transfer(amount="600",mobile="256772123456",external="123456789",payeer"note="dd",payer"message="dd",currency="eur")

```

n使用tox命令运行:查看所有测试环境


``bash
$tox-l
``````
`````
` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` bash
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` bash
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` br/>``bash
$tox-e py34封面
```

谢谢。



changelog
==


0.1.0(2018-10-29)
----


*PYPI上的首次发布。

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

推荐PyPI第三方库


热门话题
java类。getResource和ClassLoader。getSystemResource:有没有理由选择其中一个而不是另一个?   在Java中以编程方式粘贴后恢复剪贴板   Java字符串到日期没有时间   JavaSpring注释:@Component起作用,@Repository不起作用   java“addScript”在HSQL中是否有最大记录计数?   java如何将值从JDialog框返回到父JFrame?   java我的模块库的用户有没有办法访问尚未导出的类?   java javac:未找到命令   java如何解决jsoup错误:无法找到请求目标的有效证书路径   类中的java作用域变量   Java中集合实现中的arraylist add()方法不起作用   java如何使用while循环和从用户接收输入来近似Pi?   java Spring安全CSRF培训模式   在安卓系统中,如何通过在警报框外单击来限制用户?