zoukankan      html  css  js  c++  java
  • 支付宝支付

    支付宝支付

    入门

    """
    1)支付宝API:六大接口
    https://docs.open.alipay.com/270/105900/
    
    2)支付宝工作流程(见下图):
    https://docs.open.alipay.com/270/105898/
    
    3)支付宝8次异步通知机制(支付宝对我们服务器发送POST请求,索要 success 7个字符)
    https://docs.open.alipay.com/270/105902/
    """
    
    # 1、在沙箱环境下实名认证:https://openhome.alipay.com/platform/appDaily.htm?tab=info
    
    # 2、电脑网站支付API:https://docs.open.alipay.com/270/105900/
    
    # 3、完成RSA密钥生成:https://docs.open.alipay.com/291/105971
    
    # 4、在开发中心的沙箱应用下设置应用公钥:填入生成的公钥文件中的内容
    
    # 5、Python支付宝开源框架:https://github.com/fzlee/alipay
    # >: pip install python-alipay-sdk --upgrade
    
    # 7、公钥私钥设置
    """
    # alipay_public_key.pem
    -----BEGIN PUBLIC KEY-----
    支付宝公钥
    -----END PUBLIC KEY-----
    
    # app_private_key.pem
    -----BEGIN RSA PRIVATE KEY-----
    用户私钥
    -----END RSA PRIVATE KEY-----
    """
    
    # 8、支付宝链接
    """
    开发:https://openapi.alipay.com/gateway.do
    沙箱:https://openapi.alipaydev.com/gateway.do
    """
    

    支付流程

    aliapy二次封装包

    GitHub开源框架
    https://github.com/fzlee/alipay
    
    依赖
    >: pip install python-alipay-sdk --upgrade
    # 如果抛ssl相关错误,代表缺失该包
    >: pip install pyopenssl
    
    结构
    libs
        ├── iPay  							# aliapy二次封装包
        │   ├── __init__.py 				# 包文件
        │   ├── pem							# 公钥私钥文件夹
        │   │   ├── alipay_public_key.pem	# 支付宝公钥文件
        │   │   ├── app_private_key.pem		# 应用私钥文件
        │   ├── pay.py						# 支付文件
        └── └── settings.py  				# 应用配置  
    
    alipay_public_key.pem
    -----BEGIN PUBLIC KEY-----
    拿应用公钥跟支付宝换来的支付宝公钥
    -----END PUBLIC KEY-----
    
    app_private_key.pem
    -----BEGIN RSA PRIVATE KEY-----
    通过支付宝公钥私钥签发软件签发的应用私钥
    -----END RSA PRIVATE KEY-----
    
    setting.py
    import os
    # 应用私钥
    APP_PRIVATE_KEY_STRING = open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'app_private_key.pem')).read()
    
    # 支付宝公钥
    ALIPAY_PUBLIC_KEY_STRING = open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'alipay_public_key.pem')).read()
    
    # 应用ID
    APP_ID = '2016093000631831'
    
    # 加密方式
    SIGN = 'RSA2'
    
    # 是否是支付宝测试环境(沙箱环境),如果采用真是支付宝环境,配置False
    DEBUG = True
    
    # 支付网关
    GATEWAY = 'https://openapi.alipaydev.com/gateway.do' if DEBUG else 'https://openapi.alipay.com/gateway.do'
    
    pay.py
    from alipay import AliPay
    from . import settings
    
    # 支付对象
    alipay = AliPay(
        appid=settings.APP_ID,
        app_notify_url=None,
        app_private_key_string=settings.APP_PRIVATE_KEY_STRING,
        alipay_public_key_string=settings.ALIPAY_PUBLIC_KEY_STRING,
        sign_type=settings.SIGN,
        debug=settings.DEBUG
    )
    
    # 支付网关
    gateway = settings.GATEWAY
    
    _init_.py
    # 包对外提供的变量
    from .pay import gateway, alipay
    
    补充:在自己项目的配置文件中配置支付宝回调接口:settings.py | dev.py
    # 上线后必须换成公网地址
    # 后台http根路径
    BASE_URL = 'http://127.0.0.1:8000'
    
    # 前台http根路径
    LUFFY_URL = 'http://127.0.0.1:8080'
    
    # 订单支付成功的后台异步回调接口
    NOTIFY_URL = BASE_URL + '/order/success/'
    
    # 订单支付成功的前台同步回调接口
    RETURN_URL = LUFFY_URL + '/pay/success'
    
  • 相关阅读:
    Lodash JS实用类库 数组操作 延时执行 功能强大
    7.【nuxt起步】-Nuxt与后端数据交互
    vue图片懒加载
    猎鹰与龙飞船基于 Linux,采用 C++、Chromium 与 JS 开发
    | 和 ||,& 和 && 的区别
    Linux安装.net core
    Linux下程序后台运行:nohup和&
    vuejs如何调试代码
    全局安装 Vue cli3 和 继续使用 Vue-cli2.x
    导入sass文件
  • 原文地址:https://www.cnblogs.com/yafeng666/p/12432601.html
Copyright © 2011-2022 走看看