python使用第三方支付宝SDK实现小程序发红包、用户支付等功能

支付宝官方SDK是相当的难用,而且python官方SDK不支持验签,验签功能需要自己写,因此使用了第三方SDK:python-alipay-sdk
地址:github连接
验签步骤:支付宝平台官方说明
如果需要自己实现验签:验签实现逻辑

首先安装:

pip install python-alipay-sdk --upgrade

实现小程序发红包,创建支付订单、登录验证等

第三方SDK实际上已经实现了验签逻辑,但是功能比较少,我们需要的发红包、小程序创建支付订单、登录逻辑之类的都没有,因此我们自己来扩展一下

首先在官方的验签步骤页我们应该生成了自己的密钥文件,大概是这样:

  • 这里每个文件夹代表一个小程序
  • 前四个文件分别对应需要的密钥文件

在这里插入图片描述
先看下demo创建一个支付宝web订单,之后模仿源码添加我们需要的功能即可:

from alipay import AliPay, DCAlipay

dc_alipay = DCAliPay(
    appid="appid",
    app_notify_url="http://example.com/app_notify_url",
    app_private_key_string=app_private_key_string,
    app_public_key_cert_string=app_public_key_cert_string,
    alipay_public_key_cert_string=alipay_public_key_cert_string,
    alipay_root_cert_string=alipay_root_cert_string
)
subject = "测试订单"

# Pay via Web,open this url in your browser: https://openapi.alipay.com/gateway.do? + order_string
order_string = dc_alipay.api_alipay_trade_page_pay    (
    out_trade_no="20161112",
    total_amount=0.01,
    subject=subject,
    return_url="https://example.com",
    notify_url="https://example.com/notify" # this is optional
)

继承DCAlipay添加几个我们需要的功能

  • 这里只使用新的验签方式,即要四个证书文件,以往使用的公钥和私钥不再使用了
  • SDK里有个坑,如果不是他设定好的method将不会添加回调url,因此我们自己加上
  • 同样的,登录需要的参数我们也自己添加
from alipay import DCAliPay
from alipay import compat


class CBAliPay(DCAliPay):
    def api_alipay_fund_trans_uni_transfer(self, out_biz_no, trans_amount, payee_info, biz_scene=None,
                                           product_code=None, **kwargs):
        """ 商家转账给用户即发红包 """                                
        if not product_code:
            product_code = "STD_RED_PACKET"
        if not biz_scene:
            biz_scene = "DIRECT_TRANSFER"
        biz_content = {
   
            "out_biz_no": out_biz_no,
            "trans_amount": trans_amount,
            "payee_info": payee_info,
            "product_code": product_code,
            "biz_scene": biz_scene
        }
        print(biz_content)
        biz_content.
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值