zoukankan      html  css  js  c++  java
  • 注册支付宝沙箱并测试支付宝扫码连接

    2.新建支付宝应用

     2.1 下载支付宝生成软件密钥 

    # 访问"支付宝开发平台"登录,可以访问开发者中心
    https://open.alipay.com/platform/home.htm
    # 可以参考"电脑网站支付" 熟悉电脑支付整体流程
    https://docs.open.alipay.com/270/105899/

    2.1 第一步:创建应用(这里使用沙箱环境测试)

    •  沙箱环境说明 线上环境需要创建应用,因为我们不是企业,没有资质,所以只能申请沙箱环境
    • 简单来讲沙箱环境就是给开发者使用的测试环境 沙箱环境地址: 
    •  https://openhome.alipay.com/platform/appDaily.htm?tab=info

     

    2.2 按照官方要求生成秘钥

    生成秘钥参考官网: https://docs.open.alipay.com/291/105971

    • 一定要存储两个东西 支付宝公钥:我发送信息给支付宝,使用支付宝公钥进行加密 app私钥(我自己生成的):
    • 支付宝给我发送的信息是用我刚刚上传的app公钥加密,只有我 自己的私钥可以解密

    3.测试支付宝获取支付宝扫码链接

    3.1 支付宝开发网址

    支付宝开放平台: https://open.alipay.com/platform/home.htm

    支付宝沙箱环境: https://openhome.alipay.com/platform/appDaily.htm?tab=info

    支付宝开发者文档:https://openhome.alipay.com/developmentDocument.htm

    电脑网站支付流程:https://docs.open.alipay.com/270

    生成签名:https://docs.open.alipay.com/291/106103/ python-alipay-adk : https://github.com/fzlee/alipay/blob/master/README.zh-hans.md

    3.2 说明

    • 阿里官方没有提供python对接支付的sdk,但是python库中有非官方的sdk包可以使用
    • python-alipay-adk : https://github.com/fzlee/alipay/blob/master/README.zh-hans.md 使用起来非常简单,
    • 只要传入几个必要的参数就可以完成 由于支付对安全要求很高,所以要理解对接支付宝安全的流程: 公钥加密、私钥解密 这八个字

     3.3 app_private_key.pem app私钥 (新建文件)

    -----BEGIN RSA PRIVATE KEY-----
    MIIEpAIBAAKCAQEAxXRdL+ALzW4AW6ndW5/ZD44ppPsfm9If/oc3pc1gmqjT7z73swlUhotEPZnLsk8hq
    dEoR9fg/+0XijuJQqnU+CU3pptdXgkIcyq/fyvpRgkX2OA9G7CHEveZ97leaOG2RI1i2JvgUiM+O2LiDA
    AbTWtk8Chx+j2Z+R5s22zgI/y+45bcMht/YDxAbmgDFkBq32PyHlu3gTjoB7SqBZ8ecU8AKBxSjUPB3t5
    ls4T2P3Xy/ER2/PFcnh0vZGQsZRbHQ6wS1Jsql/3Wu1+tvHvIiKKXPGUcZe7czfqfwcIwVPrntEdPYC2J
    USzC94vFwcMNAlai/aiWDCc4jDt1W7oetwIDAQABAoIBAQDBNBESjUk/I0laZ6Vex9PeMp5w/f95umrv5
    GMA6yqBanyldplsJ877Lz4AgIId4Ovxe+TMF2HjSZxk98hg4Eiw3cnMTe1X28LW3Zcu2kqQ6sjYvuFMPL
    iOSJPxHwJP4bs07Jsxk6Q0+qMj/KduUpRkdpb3nruXvbrxVWHyel//FM6jqCvxxFWBhCikDjNPZEgPJa+
    at1viN/u1eOoEO5/SBkVYePF6O3Nx8rR20nG2KfvvLkfWfBvVnIWdmkUmqMX2EIXF+af66FlcgWTszvkx
    pIS3KnHGK5rHe2+uTuJp57MY0WnJq5v6vKwhOADvNiwLg2dwLDSq9SRJzWnsm+RBAoGBAP0wA92l9Ilag
    gLD8WCFeVICiNWGlA2jSYfindMXX9rf6xo8hSr/YWfyxu6guBqvo7b/onG7DwyrDOvlq7X/kQNbtxkis/
    oYBeWssF6ab10CtFuF1wUP5jXoaAMUIy2xrXcmO5bJsvTE6O9VZophlSo0uvXxBJRSgqfEo0wEET6HAoG
    BAMel3KitQQArxiD8SHDE6q1hb5elIDTyYiJI65EagWO41xcBMduu0tjZyoTbL6MWKHCxxXuOsWpQjtuF
    8FVesDMBBpC9VLO4IvnQDZb7lKXWgEnMc4gckL+KNzgkIzYNs1jW6IYfcY82iP22AoH3xbnaYI56sH2lA
    RUZcUNe/3pRAoGBAPWvYSD1SEz8yco7L4A1JRwCn5tsA0EUoWa97d6IARkYTkBgV+z4ciH3gTjQNraWl2
    wdthlcpmbpmRlT/gMWozY6CnvWpATcyOQtZdv3SndcB34EazlbS04mXsAWC2js0GIddJeG1CQW695K5b0
    EokWZc47yuTngsy5vbvJ1w/IDAoGAW5jpaCo1DFMJD9Evmy19ThbKEBUedaxPAdPa4DP88Te410EhEt1e
    t0cU92dor7ZWz32AUXPiShizslv9K+3JgV0TGg0Dc4Ej6uFdmsvKI1wKd9FpoCUa9AYB16wcy4v1oOjYv
    dBnVYF70ItVEzQOb3qVmkkH+F1f5cJKiNJo/EECgYA1OZn4LqvFsK/WG23FFcW6wvGOKjHgAfwENILiHB
    jHNESYBtwnRaV0Vgikz3tfC5qehmuJT+N+bjsqsqaM3ZR50/xqWx6qGenA5KbGyMkWMu4LFAuqGKz1ocH
    2kjM+jc0eNRzABj7A9ATx+1nfiKD0ehc6lrXIp71rItEuKxyO8w==
    -----END RSA PRIVATE KEY-----

    3.4 alipay_public_key.pem 支付宝公钥

    -----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0GqgS2Y3mn1wMQmyh9zEy
    Wlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyqrXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FT
    FY99uhpiq0qadD/uSzQsefWo0aTvP/65zi3eof7TcZ32oWpwIDAQAB
    -----END PUBLIC KEY-----

    3.5 测试生成支付链接

    # -*- coding: utf-8 -*-
    from alipay import AliPay
     
     
    # 沙箱环境中 app 私钥
    app_private_key_string = open('app_private_key.pem').read()
    # 支付宝公钥
    alipay_public_key_string = open('alipay_public_key.pem').read()
     
     
     
     
    def get_alipay_url():
        # 实例化一个alipay对象
        alipay = AliPay(
            appid="2016102600762759", # 沙箱appid
            app_notify_url=None,  # 默认回调url
            app_private_key_string=app_private_key_string,
            # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
            alipay_public_key_string=alipay_public_key_string,
            sign_type="RSA2",  # RSA 或者 RSA2
            debug=True,  # 默认False,我们是沙箱,所以改成True(让访问沙箱环境支付宝地址)
        )
        # 调用支付接口,生成支付链接
        # 电脑网站支付,需要跳转到https://openapi.alipay.com/gateway.do? + order_string
        order_string = alipay.api_alipay_trade_page_pay(
            out_trade_no="2016122268888", # 订单id,应该从前端获取
            total_amount=str(0.01),  # 订单总金额
            subject="测试阿里云付款", # 付款标题信息
            return_url=None, # 付款成功回调地址(可以为空)
            notify_url=None # 付款成功后异步通知地址(可以为空)
        )
        pay_url = "https://openapi.alipaydev.com/gateway.do?" + order_string
        print(pay_url)  # 将这个url复制到浏览器,就会打开支付宝支付页面
     
     
     
     
     
     
    def query_pay():
        alipay = AliPay(
            appid="2016102600762759", # 沙箱appid
            app_notify_url=None, # 默认回调url
            app_private_key_string=app_private_key_string, # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥
            alipay_public_key_string=alipay_public_key_string, sign_type="RSA2", # RSA 或者 RSA2
            debug=True, # 默认False,我们是沙箱,所以改成True(让访问沙箱环境支付宝地址)
        )
        trade_query = alipay.api_alipay_trade_query(
            out_trade_no=20161112, # 上面生成支付码页面时传入的商品订单号
            trade_no=None
        )
        print(trade_query)
     
     
    if __name__ == '__main__':
        get_alipay_url()
        # query_pay()
    做最野的狼
  • 相关阅读:
    Linux平台下mysql的ODBC配置方法
    linux制做RPM包
    linux个性化定制登录信息
    free -m 下的含义
    MegaCli 使用
    判断占用系统资源的进程
    linux批量修改文件名
    linux禁止IPv6
    怎么删除STL容器的元素
    STL——sort函数的实现原理
  • 原文地址:https://www.cnblogs.com/shanjiaaa/p/13823250.html
Copyright © 2011-2022 走看看