一个用于使用支付方托管api的sdk
payoneer-escrow-sdk的Python项目详细描述
付款人托管
这旨在成为Payoneer Escrow API的干净、惯用的客户机。这将处理生成 通过身份验证的头并构造正确嵌套的请求uri 为您解析任何响应json。
安装
点
通过pip安装和其他python包一样简单。
$ pip install payoneer-escrow-sdk # Alternatively, add to your requirements file and install from there $ echo'payoneer-escrow-sdk' >> requirements.txt $ pip install -r requirements.txt
来源
下载付款人托管python源代码:
$ git clone https://github.com/Payoneer-Escrow/payoneer-escrow-python $ cd payoneer-escrow-python # Install the package $ python setup.py install
快速启动
这个项目的github repo包含一些示例文件,可以帮助您开始工作。到 避免任何潜在的风险,这些文件不包括在安装的包中 通过pip。example.py建议所有新加入此sdk的用户使用它 允许您确认API凭据并显示 HTTPError遇到错误的请求。也有端到端的商品 examples/目录中的里程碑顺序,以演示API的使用 与一个更复杂的订单类型。
# If you installed via pip, you will need to get the example file $ curl https://raw.githubusercontent.com/Payoneer-Escrow/payoneer-escrow-python/master/example.py > example.py # Replace the key and secret values with your own credentials $ echo'PAYONEER_ESCROW_API_KEY = "ENTER_YOUR_API_KEY_HERE" PAYONEER_ESCROW_SECRET = "ENTER_YOUR_API_SECRET_HERE"' > api_credentials.py $ python example.py
用法
付款人托管api是rest-ish和嵌套的,因此客户机依赖于 链子。我们返回一个从json解码的对象(或对象数组) 如有可能,请回复。
frompayoneer_escrow_sdk.clientimportClient# `should_use_sandbox` is a boolean passed to Client, indicating which# Payoneer Escrow environment should be used; default is Production.client=Client('your-key','your-secret',should_use_sandbox)# There are two top-level resources: accounts and shipmentcarriers# Querying users and orders requires an account_idclient.accounts().all()client.accounts().get(account_id)client.shipmentcarriers().all()client.shipmentcarriers().get(carrier_id)# From accounts, we chain users, orders, bank accountsclient.accounts().users(account_id).all()client.accounts().users(account_id).get(user_id)client.accounts().orders(account_id).all()client.accounts().orders(account_id).get(order_id)client.accounts().bankaccounts(account_id).all()client.accounts().bankaccounts(account_id).get(bank_account_id)# From orders, many things chain: documents, notes, disputes, shipments,# payment instructions, order events, and order ledgersclient.accounts().orders(account_id).documents(order_id).all()client.accounts().orders(account_id).documents(order_id).get(document_id)client.accounts().orders(account_id).notes(order_id).all()client.accounts().orders(account_id).notes(order_id).get(note_id)client.accounts().orders(account_id).disputes(order_id).all()client.accounts().orders(account_id).disputes(order_id).get(dispute_id)client.accounts().orders(account_id).shipments(order_id).all()client.accounts().orders(account_id).shipments(order_id).get(shipment_id)client.accounts().orders(account_id).paymentinstructions(order_id).all()client.accounts().orders(account_id).orderevents(order_id).all()client.accounts().orders(account_id).orderevents(order_id).get(event_id)client.accounts().orders(account_id).orderledgers(order_id).all()client.accounts().orders(account_id).orderledgers(order_id).get(ledger_entry_id)# From disputes, further things chain: documents, notes, offersclient.accounts().orders(account_id).disputes(order_id).documents(dispute_id).all()client.accounts().orders(account_id).disputes(order_id).documents(dispute_id).get(document_id)client.accounts().orders(account_id).disputes(order_id).notes(dispute_id).all()client.accounts().orders(account_id).disputes(order_id).notes(dispute_id).get(note_id)client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).all()client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).get(offer_id)# From offers, documents and notes chainclient.accounts().orders(account_id).disputes(order_id).offers(dispute_id).documents(offer_id).all()client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).documents(offer_id).get(document_id)client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).notes(offer_id).all()client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).notes(offer_id).get(note_id)
一些资源端点支持创建/更新post操作,以及 此客户机也旨在支持这些功能:
# Account-relatedclient.accounts().create(your_data)client.accounts().update(account_id,your_data)client.accounts().users(account_id).create(your_data)client.accounts().users(account_id).update(user_id,your_data)# Authenticate a URI for display in a lightboxclient.accounts().users(account_id).authentications(user_id).create(your_data)# Order-relatedclient.accounts().orders(account_id).create(your_data)client.accounts().orders(account_id).update(order_id,your_data)client.accounts().orders(account_id).documents(order_id).create(your_data)client.accounts().orders(account_id).notes(order_id).create(your_data)client.accounts().orders(account_id).shipments(order_id).create(your_data)# Dispute-relatedclient.accounts().orders(account_id).disputes(order_id).create(your_data)client.accounts().orders(account_id).disputes(order_id).documents(dispute_id).create(your_data)client.accounts().orders(account_id).disputes(order_id).notes(dispute_id).create(your_data)client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).create(your_data)client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).update(offer_id,your_data)client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).documents(offer_id).create(your_data)client.accounts().orders(account_id).disputes(order_id).offers(dispute_id).notes(offer_id).create(your_data)
贡献
- 叉开它
- 创建功能分支(git checkout -bmy-new-feature)
- 提交更改(git commit -am 'Add some feature')
- 推到分支(git push origin my-new-feature)
- 创建新的拉取请求