• 沙箱环境搭建


    测试环境搭建

    沙箱环境:

    -------测试环境搭建

    基础配置:

    # 1、在沙箱环境下实名认证:https://openhome.alipay.com/platform/appDaily.htm?tab=info
    
    # 2、电脑网站支付API:https://docs.open.alipay.com/270/105898/
    
    # 3、完成RSA密钥生成:https://docs.open.alipay.com/291/105971
    	下载软件: 开发助手
    
    # 4、在开发中心的沙箱应用下设置应用公钥:填入生成的公钥文件中的内容
    	用公钥 换取alipay对象的公钥
    
    # 5、Python支付宝开源框架:https://github.com/fzlee/alipay
    	github 开发文档 (多种)
    # >: pip install python-alipay-sdk --upgrade
    
     6.公私钥配置:
        	# alipay_public_key.pem
            -----BEGIN PUBLIC KEY-----
            支付宝公钥
            -----END PUBLIC KEY-----
    
            # app_private_key.pem
            -----BEGIN RSA PRIVATE KEY-----
            用户私钥
            -----END RSA PRIVATE KEY-----
            """
    	注意: 不能留空格!!!
    
     7.支付宝链接:
     	开发:https://openapi.alipay.com/gateway.do
    	沙箱:https://openapi.alipaydev.com/gateway.do
    

    支付流程:

    支付模块的创建:

    aliapy 二次封装:
    	https://github.com/fzlee/alipay  开源文档
    
    下载:
    	>: pip install python-alipay-sdk --upgrade
    	>: pip install pyopenssl
    节构:
    	libs
        ├── iPay  							# aliapy二次封装包
        │   ├── __init__.py 				# 包文件
        │   ├── pay.py						# 支付文件
        └── └── settings.py  				# 应用配置  
    
    

    settings.py

    # 应用ID
    APP_ID = "2016093000631831"
    
    # 是否是沙箱环境
    DEBUG = True
    
    # 签名算法 RSA or RSA2
    SIGN = 'RSA2'
    
    # 网关
    if DEBUG:
        GATEWAY = 'https://openapi.alipaydev.com/gateway.do?'
    else:
        GATEWAY = 'https://openapi.alipay.com/gateway.do?'
    
    # 应用私钥:首行尾行是固定的,中间是一行私钥字符串(不能有其他字符)
    APP_PRIVATE_KEY_STRING = """-----BEGIN RSA PRIVATE KEY-----
    MIIEd.......
    -----END RSA PRIVATE KEY-----"""
    
    # 阿里公钥:首行尾行是固定的,中间是一行公钥字符串(不能有其他字符)
    ALIPAY_PUBLIC_KEY_STRING = """-----BEGIN PUBLIC KEY-----
    MIIBIjAN......
    -----END PUBLIC KEY-----"""
    

    pay.py:

    from alipay import AliPay
    from .settings import *
    
    alipay = AliPay(
        appid=APP_ID,
        app_notify_url=None,  # 该通知接口一般都设置None
        # 应用私钥
        app_private_key_string=APP_PRIVATE_KEY_STRING,
        # 阿里pay公钥
        alipay_public_key_string=ALIPAY_PUBLIC_KEY_STRING,
        # 签名算法,采用RSA2
        sign_type=SIGN,  # RSA or RSA2
        # 是否是沙箱环境
        debug=DEBUG
    )
    
     # __init__.py:
    
    # 对外提供配置生成好的 alipay 支付对象
    from .pay import alipay
    # 对外提供alipay的支付网关
    from .settings import GATEWAY as alipay_gateway
    

    补充:

    补充:在自己项目的配置文件中配置支付宝回调接口:settings.py | dev.py | const.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'
    
  • 相关阅读:
    完美数据迁移-MongoDB Stream的应用
    补习系列(3)-springboot中的几种scope
    补习系列(2)-springboot mime类型处理
    hdfs directory item limit
    git-format-patch
    SPARK-18560
    hdfs OutOfMemoryError
    hdfs 路径不支持‘:’
    java.io.UTFDataFormatException: encoded string too long:
    scala-maven-plugin excludes
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12194200.html
Copyright © 2020-2023  润新知