Python SDK 使用说明

简介

目前 Adapay 的 Python SDK 支持的交易模块包括 支付(Charge)、退款(Refund)、查询、关单功能,具体可参考 API文档

下载地址

SDK下载

SDK 版本记录

版本

日期

说明

v1.0.1

2019-08-22

优化接口调用

v1.0.0

2019-08-08

Adapay 初版

版本要求

此 SDK 目前只支持 Python3,请在 Python3 工程接入。

接入方法

  • 下载 SDK

可在官网下载 SDK 文件,包含 SDK 和 Demo 两个目录。SDK 目录下为待添加到项目中的文件,Demo 目录下为示例项目,供接入时参考使用。

  • 安装 SDK

如果已下载 SDK 压缩包,执行 pip install sdk_file_path 即可, 如果未下载 SDK,执行 pip install adapay 完成下载安装。

  • 获取 API Key

API Key 是您在 Adapay 系统中的身份标识,凭此可使用 Adapay 提供的 SDK 以及 API 服务

API Key 获取路径:「控制台」->「商户信息管理」->「证书管理」

  • privateKey(RSA 私钥)

privateKey 为您本地生成的 RSA 私钥, SDK 在与 Adapay 服务端进行接口请求时,会使用此私钥进行加密。

对应的公钥请上传至「控制台」->「商户信息管理」->「证书管理」

  • publicKey(RSA 公钥)

publicKey 是 Adapay 为您生成的 RSA 公钥,SDK 在与 Adapay 服务端进行接口请求时 SDK 需要 publicKey 进行解签。

publicKey 可通过「控制台」->「商户信息管理」->「证书管理」进行下载。

  • 添加依赖

在当前环境确保已经安装以下版本的依赖库:

fishbase==1.1.15
chardet==3.0.4
paho-mqtt==1.4.0
pycryptodome==3.8.2
requests==2.22.0

使用方法

初始化参数

# 建议在服务启动时初始化
# private_key 与 private_key_path 配置一个即可,公钥配置同理
adapay.private_key = 'private_key'
adapay.private_key_path = 'private_key_path'
adapay.public_key = 'public_key'
adapay.public_key_path = 'public_key_path'
adapay.api_key = 'api_key'

发起支付

当您想发起一次支付请求时需要通过 Adapay 提供的创建方法获取一个新的 Charge对象,您可使用此 Charge对象 发起支付。对于支付结果,Adapay 会发送 异步消息通知_ 告知。

  • 调用示例

response = adapay.Charge.create(
   order_no='1234567890',
   app_id='app_1Gqj58ynP0mHeX1q',
   pay_channel='alipay',
   amount=100.00,
   currency='cny',
   subject='Your Subject',
   body='Your Body',
)
  • 参数说明

调用参数详见 创建支付

支付订单查询

查询已存在的 Charge对象

  • 调用示例

response = adapay.Charge.query('charge_id')
  • 参数说明

调用参数详见 支付查询

发起退款

当您的业务需要发起退款时,可通过 Adapay 系统提供的创建 Refund对象 方法创建一个退款对象,发起退款请求。

response = adapay.Refund.create(
   charge_id='charge_id',
   order_no='order_no',
   amount='100.00'
)
  • 参数说明

调用参数详见 创建退款

退款订单查询

通过 Refund对象 的 id 查询一个已创建的退款记录。

response = adapay.Refund.query(charge_id='charge_id')
  • 参数说明

调用参数详见 退款查询

关闭订单

针对已经创建的 Charge对象 ,您可以调用关闭订单接口进行交易的关闭。

  • 调用示例

response = adapay.Charge.close(charge_id='charge_id')
  • 参数说明

调用参数详见 关单

异步消息监听

Adapay 在支付成功、支付失败、关单成功、关单失败、退款成功、退款失败时,都会推送终态结果给到您,请务必监听异步结果并做好并发处理。 建议再服务启动时就订阅接收交易结果

  • 调用示例

#初始化消息监听参数
AdapayMessage.init()

# 获取长连接及订阅状态回调方法,可以不设置,建议设置以便于实时监听连接状态
def on_connected(resp_code):
    if resp_code == 0:
        print('长连接建立成功')
    else:
        print('长连接建立失败')

def on_subscribe(resp_code):
    if resp_code == 0:
        print('消息订阅成功')
    else:
        print('消息订阅失败')

# 设置回调方法
AdapayMessage.set_subscribe_callback(connect_callback=on_connected, subscribe_callback=on_subscribe)

# 获取到消息回调
def on_message_receiced(message):
    print(message_dict['type'])
    print('on_message_receive:' + str(message_dict))

# 开启订阅消息任务
AdapayMessage.subscribe(on_message_receiced)
  • 返回数据示例

不同事件异步消息返回数据,详见 异步消息数据示例