zengapayapi的Python包装器

zengapa的Python项目详细描述


ZengaPay API Python客户端

使用我们的ZengaPay API

这是ZENGAPAY Python客户端库

使用

安装

使用pip将库的最新版本添加到项目中:

$ pip install zengapay

这个库支持Python3.6+

沙盒及生产环境

创建沙盒环境用户环境

在应用程序中使用该库之前,请转到API Documentation查看如何设置沙盒环境。在

以下是沙盒环境的API端点:

^{pr2}$

以下是生产环境的API端点:

https://api.zengapay.com/v1

配置

在充分利用库之前,我们需要指定全局配置。全局配置必须包含以下内容。在

  • ZENGAPAY_APP_SETTINGS:可选环境,可以是“sandbox”或“production”。默认为“沙盒”。在
  • ZENGAPAY_BASE_URL:zengapayapi的可选基本url。默认情况下,将使用沙盒基url。在
  • ZENGAPAY_USER_API_TOKEN:您的机密用户API令牌。这是强制性的。请参阅他API Documentation以获取您的API令牌。在

一旦指定了全局配置变量,要在项目中使用的完整配置对象应该如下所示。在

config={ZENGAPAY_ENVIRONMENT:os.environ.get("ZENGAPAY_APP_SETTINGS","sandbox"),ZENGAPAY_BASE_URL:os.environ.get("ZENGAPAY_BASE_URL","https://api.sandbox.zengapay.com/v1"),ZENGAPAY_USER_API_TOKEN:os.environ.get("ZENGAPAY_USER_API_TOKEN")}

这将是您将要执行的每个事务的需要。在

收藏

可以使用上述配置参数创建集合客户端。在

importosfromzengapayimportCollectionsconfig={ZENGAPAY_ENVIRONMENT:os.environ.get("ZENGAPAY_APP_SETTINGS","sandbox"),ZENGAPAY_BASE_URL:os.environ.get("ZENGAPAY_BASE_URL","https://api.sandbox.zengapay.com/v1"),ZENGAPAY_USER_API_TOKEN:os.environ.get("ZENGAPAY_USER_API_TOKEN")}client=Collections(config)

方法

  1. collect:此操作用于向其他消费者(付款人)请求付款。付款人将被要求授权付款。一旦付款人授权付款,就执行交易。在付款人授权或拒绝或系统超时之前,交易将处于挂起状态。事务的状态可以通过使用get_collection(transaction_ref)或{}使用transaction reference来验证。在

您可以使用如下有效负载执行收集。请看他API Documentation以获得参数的含义。在

payload={"msisdn":"256703######",# The phone number that the collection request is intended for."amount":20000,#The collection request amount."external_reference":"157899393020236",# Internal description or reason for this collection request and must be unique for every request. "narration":"Clearing Invoice - #157899393020236"# Textual narrative describing the transaction. }collection=client.collect(payload)
  1. get_collections:检索给定帐户的收款事务。在
collections=client.get_collections()
  1. get_collection:使用transaction reference检索某个集合事务
collection=client.get_collection(transaction_ref)
  1. get_transaction\u status:事务的状态,可以是以下之一;PENDINGSUCCEEDEDFAILEDINDETERMINATE
trans_status=client.get_transaction_status(transaction_ref)

转移

可以使用如上所示的配置参数创建传输客户端。在

importosfromzengapayimportTransfersconfig={ZENGAPAY_ENVIRONMENT:os.environ.get("ZENGAPAY_APP_SETTINGS","sandbox"),ZENGAPAY_BASE_URL:os.environ.get("ZENGAPAY_BASE_URL","https://api.sandbox.zengapay.com/v1"),ZENGAPAY_USER_API_TOKEN:os.environ.get("ZENGAPAY_USER_API_TOKEN")}client=Transfers(config)

方法

  1. transfer:用于将金额从所有者帐户转移到收款人帐户。事务的状态可以通过使用get_transfer(transaction_ref)或{}使用transaction reference来验证。在

您可以使用下面的有效载荷进行传输。请看他API Documentation以获得参数的含义。在

payload={"msisdn":"256703######",# The phone number that the transfer request is intended for."amount":20000,#The transfer request amount."external_reference":"157899393020236",# Internal description or reason for this transfer request and must be unique for every request. "narration":"Clearing Invoice - #157899393020236"# Textual narrative describing the transaction. }transfer=client.transfer(payload)
  1. get_transfers:检索给定帐户的转账交易。在
transfers=client.get_transfers()
  1. get_transfer:使用transaction reference检索某个传输事务
transfer=client.get_transfer(transaction_ref)
  1. get_transaction\u status:事务的状态,可以是以下之一;PENDINGSUCCEEDEDFAILEDINDETERMINATE
trans_status=client.get_transaction_status(transaction_ref)

帐户

可以使用上述配置参数创建帐户客户端。在

importosfromzengapayimportAccountsconfig={ZENGAPAY_ENVIRONMENT:os.environ.get("ZENGAPAY_APP_SETTINGS","sandbox"),ZENGAPAY_BASE_URL:os.environ.get("ZENGAPAY_BASE_URL","https://api.sandbox.zengapay.com/v1"),ZENGAPAY_USER_API_TOKEN:os.environ.get("ZENGAPAY_USER_API_TOKEN")}client=Accounts(config)

参见API Documentation。在

方法

  1. get_balance:此API允许您获取当前商家帐户余额。在
balance=client.get_balance()
  1. get_account_statement:检索帐户上所有交易的列表(account statement)。这将返回一个事务列表。请参见API Documentation了解如何制作过滤器。在
statement=client.get_account_statement()

执行限制和状态过滤器。硒以上链接可获得更多过滤器

statement=client.get_account_statement(limit=2,status='FAILED')

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

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像