Python 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',
)
参数说明
调用参数详见 创建支付
发起退款¶
当您的业务需要发起退款时,可通过 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)
返回数据示例
不同事件异步消息返回数据,详见 异步消息数据示例 。