最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python怎么接入支付宝

    正文概述    2020-10-22   210

    python怎么接入支付宝

    Python接入支付宝流程:

    第一步:

    首先要下载一个python的sdk,这个sdk在支付宝的开发者文档中是没有的,但是强大的python程序员自己开发了一套属于python的支付宝支付sdk。

    下载方式:pip install python-alipay-sdk ,github的链接为 https://github.com/fzlee/alipay

    第二步:

    下载好sdk之后,需要对支付宝进行一些相关的配置,支付宝的环境分为两种,一为正式环境,也就是程序上线之后的环境。

    二为沙箱环境,即开发者在开发项目时候的测试环境。

    正式环境需要创建应用,然后支付宝后台进行审核,通过后会分配一个appid作为一个唯一标志。如图为创建应用。

    python怎么接入支付宝

    这里我用到的是沙箱环境,所以不需要等待支付宝的审核,点击进入开发者中心–>研发服务–>沙箱应用。如图所示它会自动给你分配一个appid,你只需要这是一下私钥和公钥即可。

    python怎么接入支付宝

    第三步:

    需要生成自己的服务端的私钥和公钥,现在支付宝支持的加密方式为sha256,sha1,

    推荐使用sha256.支付宝提供了生成秘钥的方法和步骤(https://docs.open.alipay.com/291/105971/ )

    打开括号中的链接,即可看到详细的生成秘钥的方法和步骤。公钥私钥生成完之后,要将公钥上传到支付宝密钥设置中。将支付宝的公钥copy到本地,将自己的公钥私钥和支付宝的公钥保存好(这个很重要),一般都保存到本地项目的文件中。

    第四步:

    了解并熟悉支付宝的开发流程。如图为客户端通过后端程序与支付宝后端的交互流程图

    python怎么接入支付宝

    1、用户选择使用支付宝付款

    2、用户使用app向商户服务器发起请求获取签名后的订单信息

    3、商户服务端返回签名后的订单信息(查询字符串或者url)例如:

    app_id=201609239&biz_content=%7B%22subject%22%3A%22%5Cu6d4b%5Cu8bd5%5Cu8ba2%5Cu5%22out_trade_no%22%3A%22201702021111%22%2C%22total_amount%22%3A1000%2C%22product_code%22%3A%22FAST_INSTANT_TRADE_PAY%22%7D&charset=utf-8&method=alipay.trade.page.pay&notify_url=http%3A%2F%dus.com%2F&return_url=http%3A%2F%2F47.92.87.172%3A8000%2F&sign_type=RSA2&timestamp=2015+15%3A19%3A15&version=1.0&sign=BSzk6LzwNp

    4、商户app调用支付接口

    5-8、支付宝服务端接收请求,返回支付结果。

    9、商户app向商户服务端发起请求,同步支付结果,服务端验证签名,解析支付结果。

    10、返回支付结果。

    11、商户app展示支付结果。

    12、支付宝服务端向商户服务端异步发送支付通知。

    13、商户服务端接收支付通知,并返回响应给支付宝服务端。

    第五步:

    python代码如下

    # 业务处理: 使用python sdk调用支付宝的支付接口
    # 初始化
    from alipay import AliPay
    alipay = AliPay(
        appid="2016092300574189",
        app_notify_url=None,
        app_private_key_path=r"D:\python源代码\alipay_keys\private_keys",
        alipay_public_key_path=r"D:\python源代码\alipay_keys\public_key",
        sign_type="RSA2",
        debug=True,
    )
    # 调用接口
    # total_pay = order.total_price + order.transit_price
    total_pay = 12311
    order_string = alipay.api_alipay_trade_page_pay(
        out_trade_no=1231231312313,
        total_amount=str(total_pay),
        subject='测试text%s' % 1,
        return_url=None,
        notify_url=None,
    )
    # 返回应答
    pay_url = "https://openapi.alipaydev.com/gateway.do?" + order_string
    print(pay_url)

    这段代码实现的功能为生成一个签名后的url,这个url就是访问支付宝支付的url

    其中初始化部分的参数:appid为支付宝的唯一标志id,

    app_notify_url为支付宝后台完成支付的时候异步通知到商户的后台服务器的URL地址。

     app_private_key_path为自己生成的私钥, 

    alipay_public_key_path为支付宝的公钥。sign_type为签名的加密方式, 

    debug为true时,支付宝的支付的url为非正式的环境,如果为线上环境可以将其改为false。

    调用接口部分的参数: out_trade_no为订单编号这个是商户后台服务器自己生成的订单编号。 

    total_amount为支付金额(必须为字符串类型),subject为标题,return_url为支付成功后支付页面要跳转到哪个页面。 

    notify_url为异步通知的url。

    第六步:

    运行这段代码会得到一个签名之后的url。

    python怎么接入支付宝

    访问这个url,看到的结果为:

    python怎么接入支付宝

    可以手机下载一个沙箱环境的支付宝,也可以点击右侧的登录账户付款。在沙箱应用中提供了用于付款的账号和密码。

    第七步:

    登录完成支付

    python怎么接入支付宝

    更多Python知识,请关注:Python自学网!!


    起源地下载网 » python怎么接入支付宝

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元