2 Star 3 Fork 1

计全科技 / jeepay-sdk-python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Jeepay Python SDK


简介

jeepay 文件夹下是 Python SDK 文件,
example 文件夹里面是简单的接入示例,该示例仅供参考。

接入方法

示例代码

初始化

设置请求超时时间,默认10秒

jeepay.request_timeout = 10

设置重试

设置重试次数,0 表示不重试,默认为 1

jeepay.max_network_retries = 1

当服务端返回 502 时,是否根据返回内容来判断是否重试。True 表示只要是 502,全部重试。默认为 True

jeepay.bad_gateway_match = True

设置重试延时时间,默认0.5秒

jeepay.network_retry_delay = 0.5

参数配置

配置信息可通过商户平台查看

AppConfig.set_mch_no(mch_no)  # 配置商户号
AppConfig.set_app_id(app_id)  # 配置应用id
AppConfig.set_api_key(api_key)  # 配置api key
AppConfig.set_version(version)  # 配置api版本号,如果不配置,默认配置为1.0

支付

统一下单

jeepay.Pay.create(
    mchOrderNo="mho{}".format(int(time.time() * 1000)),  # 商户订单号
    wayCode="WX_BAR",  # 支付方式
    amount=1,  # 支付金额(单位分)
    currency="cny",  # 币种(目前只支持cny)
    clientIp="192.168.1.132",  # 发起支付请求客户端的IP地址
    subject="商品标题",  # 商品标题
    body="商品描述",  # 商品描述
    notifyUrl="",  # 异步通知地址
    returnUrl="",  # 前端跳转地址
    channelExtra="{\"auth_code\":\"133884556191863472\"}",  # 渠道扩展参数
    extParam=""  # 商户扩展参数,回调时原样返回
)

查询订单

jeepay.Pay.pay_query(
    payOrderId="P1747545303520661506",  # 支付订单号,与mchOrderNo二者传一即可
    # mchOrderNo="mho1705482242572"  # 商户订单号,与payOrderId二者传一即可
)

关单订单

jeepay.Pay.pay_close(
    payOrderId="P1747545303520661506",  # 支付订单号,与mchOrderNo二者传一即可
    # mchOrderNo="mho1705482242572"  # 商户订单号,与payOrderId二者传一即可
)

支付通知

当订单支付成功时,支付网关会向商户系统发起回调通知。如果商户系统没有正确返回,支付网关会延迟再次通知。

"""
该链接是通过统一下单接口提交的参数notifyUrl设置,如果无法访问
链接,商户系统将无法接收到支付中心的通知。
"""
jeepay.Pay.create(
    mchOrderNo="mho{}".format(int(time.time() * 1000)),  # 商户订单号
    wayCode="WX_BAR",  # 支付方式
    amount=1,  # 支付金额(单位分)
    currency="cny",  # 币种(目前只支持cny)
    clientIp="192.168.1.132",  # 发起支付请求客户端的IP地址
    subject="商品标题",  # 商品标题
    body="商品描述",  # 商品描述
    notifyUrl="https://www.baidu.com",  # 异步通知地址
    returnUrl="",  # 前端跳转地址
    channelExtra="{\"auth_code\":\"133884556191863472\"}",  # 渠道扩展参数
    extParam=""  # 商户扩展参数,回调时原样返回
)

获取用户渠道id

jeepay.Pay.channel_user_jump(
    ifCode="AUTO",  # 支付接口,目前只支持传 AUTO
    redirectUrl="https://www.jeequan.com"  # 跳转地址
)

发起退款

jeepay.Pay.refund(
    payOrderId="P1747545303520661506",  # 支付订单号,与mchOrderNo二者传一即可
    # mchOrderNo="mho1705482242572",  # 商户订单号,与payOrderId二者传一即可
    mchRefundNo="mho{}".format(int(round(time.time() * 1000))),  # 商户退款单号
    refundAmount=1,  # 退款金额(单位:分)
    currency="cny",  # 币种(目前只支持cny)
    clientIp="192.168.1.132",  # 发起退款请求客户端的IP地址
    refundReason="测试退款",  # 退款原因
    notifyUrl="",  # 异步通知地址
    channelExtra="",  # 渠道扩展参数
    extraParam=""  # 商户扩展参数,回调时原样返回
)

退款查询

jeepay.Pay.refund_query(
    refundOrderId="R1747547915020161025",  # 退款订单号,与mchRefundNo二者传一即可
    # mchRefundNo="mho1705482865233"  # 商户退款单号,与refundOrderId二者传一即可
)

退款通知

当退款完成时(成功或失败),支付网关会向商户系统发起回调通知。如果商户系统没有正确返回,支付网关会延迟再次通知。

"""
该链接是通过统一下单接口提交的参数notifyUrl设置,如果无法访问
链接,商户系统将无法接收到支付中心的通知。

"""
jeepay.Pay.refund(
    payOrderId="P1747545303520661506",  # 支付订单号,与mchOrderNo二者传一即可
    # mchOrderNo="mho1705482242572",  # 商户订单号,与payOrderId二者传一即可
    mchRefundNo="mho{}".format(int(round(time.time() * 1000))),  # 商户退款单号
    refundAmount=1,  # 退款金额(单位:分)
    currency="cny",  # 币种(目前只支持cny)
    clientIp="192.168.1.132",  # 发起退款请求客户端的IP地址
    refundReason="测试退款",  # 退款原因
    notifyUrl="https://www.baidu.com",  # 异步通知地址
    channelExtra="",  # 渠道扩展参数
    extraParam=""  # 商户扩展参数,回调时原样返回
)

转账

发起转账

jeepay.Transfer.create(
    mchOrderNo="mho{}".format(int(round(time.time() * 1000))),  # 商户转账单号
    amount=1,  # 转账金额(单位分)
    currency="cny",  # 币种
    ifCode="aliaqfpay",  # 接口代码,wxpay-微信官方接口 ; alipay-支付宝官方接口; aliaqfpay-支付宝安全发接口
    entryType="ALIPAY_CASH",  # 入账方式,WX_CASH-微信零钱; ALIPAY_CASH-支付宝转账; BANK_CARD-银行卡
    accountNo="15521548748",  # 收款账号
    accountName="测试",  # 收款人姓名
    transferDesc="测试转账",  # 转账备注信息
    clientIp="192.168.1.132"  # 发起转账请求客户端的IP地址
)

转账查询

jeepay.Transfer.transfer_query(
    transferId="T1743191690773204994",  # 转账订单号,与mchOrderNo二者传一即可
    # mchOrderNo="mho162913762435"  # 商户转账单号,与transferId二者传一即可
)

转账通知

当转账完成时(成功或失败),支付网关会向商户系统发起回调通知。如果商户系统没有正确返回,支付网关会延迟再次通知。

"""
该链接是通过转账申请接口提交的参数notifyUrl设置,如果无法访问
链接,商户系统将无法接收到支付中心的通知。
"""
jeepay.Transfer.create(
    mchOrderNo="mho{}".format(int(round(time.time() * 1000))),  # 商户转账单号
    amount=1,  # 转账金额(单位分)
    currency="cny",  # 币种
    ifCode="aliaqfpay",  # 接口代码,wxpay-微信官方接口 ; alipay-支付宝官方接口; aliaqfpay-支付宝安全发接口
    entryType="ALIPAY_CASH",  # 入账方式,WX_CASH-微信零钱; ALIPAY_CASH-支付宝转账; BANK_CARD-银行卡
    accountNo="15521548748",  # 收款账号
    accountName="测试",  # 收款人姓名
    transferDesc="测试转账",  # 转账备注信息
    clientIp="192.168.1.132",  # 发起转账请求客户端的IP地址
    notifyUrl="https://www.baidu.com"  # 异步通知地址
)

分账

绑定分账用户

jeepay.Division.bind_user(
    ifCode="zftpay",  # 接口代码
    receiverAlias="15521254124",  # 接收者账号别名
    receiverGroupId=100048,  # 组ID
    accType=0,  # 分账接收账号类型
    accNo="15521254124",  # 分账接收账号
    relationType="PARTNER",  # 分账关系类型
    divisionProfit=0.3  # 默认分账比例(若分账30% 则填入 0.3)
)

发起订单分账

jeepay.Division.exec(
    payOrderId="P1721732006052859906",  # 支付订单号,与mchOrderNo二者传一即可
    # mchOrderNo="",  # 商户订单号,与payOrderId二者传一即可
    useSysAutoDivisionReceivers=1  # 是否使用系统配置的自动分账组,0-否 1-是
)

详细信息请参考 [API 文档] https://docs.jeequan.com/docs/jeepay/payment_api

MIT License Copyright (c) 2024 大森林 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Jeepay对应的python客户端实现 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/jeequan/jeepay-sdk-python.git
git@gitee.com:jeequan/jeepay-sdk-python.git
jeequan
jeepay-sdk-python
jeepay-sdk-python
master

搜索帮助