Skip to main content

Python

本文档适用于Python语言,用于Python应用程序与Ksher支付网关的集成。请参考我们的官方api文档

准备#

  • Python 3.7

    - 其他的Python3版本也可以,但是Python包版本可能会导致一些混淆,可能需要做一些小的更改。

  • Ksher 沙箱账号

    - 申请沙箱账号,请联系 support@ksher.com

  • API_URL

    - 除了沙箱账号外,您还将收到一个API_URL:s[指定名称].vip.ksher.net

  • API_TOKEN

    - 使用给定的沙箱账号登录到API_URL并获得令牌。请参见 如何获取API令牌

如何安装#

您可以git clone此仓库来安装

  • 步骤1: 克隆仓库
git clone https://github.com/ksher-solutions/payment_sdk_python
  • 步骤2: 进入到克隆的源代码文件夹,使用pip来安装全部的依赖和包文件
cd payment_sdk_python
pip install -r requirements.txt
pip install .

如何使用#

首先,您需要初始化支付对象,然后您可以使用它来:

  • 创建订单
  • 查询订单状态
  • 订单退款

初始化支付对象#

from ksherpay import Payment
API_URL = 'https://sandboxbkk.vip.ksher.net'
API_TOKEN = testtoken1234
payment_handle = Payment(base_url=API_URL, token=API_TOKEN)

创建订单#

merchant_order_id 必须是唯一的,否则请求将会报错

data = {
"amount": 100,
"merchant_order_id": "OrderId000001",
"channel": "linepay,airpay,wechat,promptpay,truemoney,card",
"note": "string",
"redirect_url": "http://www.baidu.com",
"redirect_url_fail": "http://www.baidu.com",
"signature": "string",
"timestamp": "string"
}
resp = payment_handle.order.create(data)
print(resp.status_code) # 应该返回200

查询订单状态#

merchant_order_id = 'OrderId000001'
resp = payment_handle.order.query(merchant_order_id)
print(resp.status_code) # 应该返回200

退款#

Refund_id 必须是唯一的,否则请求将会报错

merchant_order_id = 'OrderId000001'
refund_id = "Refund_" + merchant_order_id
data = {
'refund_amount':100,
'refund_order_id':refund_id
}
resp = payment_handle.order.refund(merchant_order_id,params=data)
print(resp.status_code) # 应该返回200