Skip to main content

用于使用 Payoneer Escrow API 的 SDK

项目描述

Payoneer 托管

这旨在成为Payoneer Escrow API的干净、惯用的客户端。这将处理生成经过身份验证的标头并构建正确嵌套的请求 URI,以及为您解析任何响应 JSON。

安装

您可以使用pip或从source安装。

点子

通过 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

资源

下载 payoneer-escrow-python 源码:

$ git clone https://github.com/Payoneer-Escrow/payoneer-escrow-python

$ cd payoneer-escrow-python

# Install the package
$ python setup.py install

快速开始

该项目的 GitHub 存储库包含帮助您开始的示例文件。为避免任何潜在风险,这些文件不包含在通过pip安装的包中。建议所有刚接触此 SDK 的人使用example.py — 它允许您确认您的 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

用法

Payoneer Escrow API 是 REST-ish 和嵌套的,因此客户端依赖于链接。如果可能,我们返回从 JSON 响应解码的对象(或对象数组)。

from payoneer_escrow_sdk.client import Client

# `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_id

client.accounts().all()
client.accounts().get(account_id)

client.shipmentcarriers().all()
client.shipmentcarriers().get(carrier_id)

# From accounts, we chain users, orders, bank accounts

client.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 ledgers

client.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, offers

client.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 chain

client.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-related
client.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 lightbox
client.accounts().users(account_id).authentications(user_id).create(your_data)


# Order-related
client.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-related
client.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)

贡献

  1. 叉它

  2. 创建您的功能分支(git checkout -b my-new-feature

  3. 提交您的更改(git commit -am 'Add some feature'

  4. 推送到分支(git push origin my-new-feature

  5. 创建新的拉取请求

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

payoneer-escrow-sdk-0.1.0.tar.gz (8.2 kB 查看哈希

已上传 source

内置分布

payoneer_escrow_sdk-0.1.0-py2.py3-none-any.whl (15.9 kB 查看哈希

已上传 py2 py3