zoukankan      html  css  js  c++  java
  • Python使用SDK(python-alipay-sdk) 与支付宝API对接

    一. python-alipay-sdk 安装下载:

    卸载pycrypto(如有)

    pip uninstall pycrypto


    安装python-alipay-sdk

    pip install python-alipay-sdk


    二.生成密钥文件

    1. 使用OpenSSL

    openssl

    2. 生成私钥

    genrsa -out app_private_key.pem   2048 

    3. 生成公钥

    rsa -in app_private_key.pem -pubout -out app_public_key.pem

    4. 退出OpenSSL

    exit

    三.登录支付宝绑定己方公钥, 获取后方公钥(沙箱):
    https://sandbox.alipaydev.com/user/accountDetails.htm?currentBar=1


    四.初始化:
    项目文件中,定位己方私钥和以及他方公钥,并进行初始化.

    import os
    from alipay import AliPay
    from django.conf import settings
    
    
            # 进行alipay初始化
    
            # 配置地址
            private_path = os.path.join(settings.BASE_DIR, 'apps/order/app_private_key.pem')
            public_path = os.path.join(settings.BASE_DIR, 'apps/order/alipay_public_key.pem')
            # 获取公私钥字符串
            app_private_key_string = open(private_path).read()
            alipay_public_key_string = open(public_path).read()
    
            alipay = AliPay(
                appid="2016101100664228",
                app_notify_url=None,  # 默认回调url
                app_private_key_string=app_private_key_string,
                alipay_public_key_string=alipay_public_key_string,
                sign_type="RSA2",
                debug=True,  # 上线则改为False , 沙箱True
            )

    五.使用:   

            # 调用接口(传参订单号和总价,标题)
            order_string = alipay.api_alipay_trade_page_pay(
                out_trade_no=order_id,
                total_amount=str(total_pay),
                subject='支付订单:%s' % order_id,
                return_url=None,
                notify_url=None,
            )
    
            # 拼接应答地址
            pay_url = 'https://openapi.alipaydev.com/gateway.do?' + order_string

    返回应答pay_url即可.

  • 相关阅读:
    SpringMVC之@RequestParam @RequestBody @RequestHeader 等详解
    RabbitMQ基础介绍
    linux查看tomcat日志
    HTML-01
    Ajax和json
    使用VBScript实现设置系统环境变量的小程序
    WinForm中重绘TabControl选项卡标题
    Action向视图传值的6种方式
    C#中常用的系统内置委托
    C#中的扩展方法
  • 原文地址:https://www.cnblogs.com/jrri/p/11669349.html
Copyright © 2011-2022 走看看