Outh2.0----支付宝接入

1.支付宝开放平台注册

  • https://openhome.alipay.com/platform/home.htm

  • 选择支付接入后根据提示依次注册

  • 注册后等待审核,在审核期间可以使用沙盒实验室进行开发

  • 点击后找到app_id

  • 配置回调页面

  • 在密钥中粘入公钥,保存生成支付宝公钥

    注:生成公钥的方法:

    第一种方式:

    根据支付宝提供的接入文档,下载相应的软件生成

    第二种方式:

    1.安装python-alipay-sdk

    pip3 install python-alipay-sdk
    

    2.生成秘钥文件app_private_key.pem 和 app_public_key.pem

    openssl
    OpenSSL> genrsa -out app_private_key.pem 2048   #私钥
    OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem               #导出公钥
    OpenSSL> exit
    ls
    app_private_key.pem   app_public_key.pem
    

    将app_public_key.pem中内容粘进去就可生成支付宝公钥

  • 在沙箱环境中可以看到,有些功能不需签约就可以开发

2.开发

参考文档 :

1.第三方登录文档:[https://opendocs.alipay.com/open/20160728150111277227#SDK%20%E6%8E%A5%E5%85%A5%E8%AF%B4%E6%98%8E](https://opendocs.alipay.com/open/20160728150111277227#SDK 接入说明)

2.支付宝SDK文档:https://opendocs.alipay.com/open/54/103419

  • setting.py

    # 支付宝登录数据
    #根据文档,设置url拼接网址
    ALI_URL = 'https://openauth.alipaydev.com/oauth2/appToAppAuth.htm?'
    #app_id
    ALI_APP_ID = 'xxxxxxxxx'
    #回调网址
    ALI_REDIRCT_URL = 'http://192.168.31.38/ali_callback.html'
    ALI_SERVER_URL = 'https://openapi.alipaydev.com/gateway.do'
    #支付宝公钥私钥
    ALIPAY_KEY_DIRS = os.path.join(BASE_DIR, "config")
    
  • 获取拼接网址

    def ali_url_view(request):if request.method == "GET":ali_url = settings.ALI_URLali_app_id = settings.ALI_APP_IDredirect_uri = settings.ALI_REDIRCT_URLdata = {'app_id': ali_app_id,"redirect_uri": redirect_uri,}res = ali_url + urlencode(data)return JsonResponse({"status": 200, "data": res})
    
  • 访问拼接后的网址,登录成功后会自动跳转到回调页面并且会在url中返回一个code

  • 将code通过阿里SDK发送到支付宝进行验证

    def get_ali_token(code):app_id = settings.ALI_APP_IDapp_private_key = get_key(os.path.join(settings.ALIPAY_KEY_DIRS, 'app_private_key.pem'))alipay_public_key = get_key(os.path.join(settings.ALIPAY_KEY_DIRS, 'alipay_public_key.pem'))server_url = settings.ALI_SERVER_URLalipay_client_config = AlipayClientConfig()alipay_client_config.server_url = server_urlalipay_client_config.app_id = app_idalipay_client_config.app_private_key = app_private_keyalipay_client_config.alipay_public_key = alipay_public_keyclient = DefaultAlipayClient(alipay_client_config, logger)model = AlipayOpenAuthTokenAppModel()model.grant_type = "authorization_code"model.code = coderequest = AlipayOpenAuthTokenAppRequest(biz_model=model)try:response_content = client.execute(request)response = AlipayTradeCreateResponse()response.parse_response_content(response_content)return response.bodyexcept Exception as e:return None
    

    注:使用支付宝SDK方法:可参考SDK文档

    1.安装:pip install alipay-sdk-python==3.3.398

    2.根据参考文档中给定的接口alipay.open.auth.token.app

    3.结合接口文档中的java示例与SDK文档中python示例开发

    4.SDK使用一般三步:

    第一步:实例化客户端AlipayClientConfig() DefaultAlipayClient()

    第二步:构造对应接口请求参数对象:AlipayOpenAuthTokenAppModel()

    ​ (请求参数对象与对应接口关系就是:去掉接口的.,并将首字母大写alipay.open.auth.token.app==>AlipayOpenAuthTokenAppModel())

    第三步:调用/执行AlipayOpenAuthTokenAppRequest()…

Outh2.0----支付宝接入相关推荐

  1. Django 前后端分离实战项目 生鲜超市(十四)之支付宝接入

    支付宝接入 前言 所有vue接口全部在src/api/api.js文件下 代码已上传至github:https://github.com/kalipoison/fresh-market 此项目仅学习用 ...

  2. android支付宝接入支付问题ali40247

    前言:继续来研究支付宝接入时候遇到的问题. 问题截图: 解决方案: 这里给大家一个详细分析的链接,可以看这里详细了解支付宝ali40247解决方案 听我说: 1.首先你需要确定的是你接入使用的是sdk ...

  3. [Java实战][仅需1步]企业微信群机器人[0基础接入]

    [仅需1步]企业微信群机器人[0基础接入][java] 背景 介绍 使用 测试 项目 背景 公司需要把日常的服务器错误抛到企业微信群中,我正好记录下使用企业微信群机器人- 介绍 企业微信群机器人 应用 ...

  4. 【TestOps工程师】【前端高性能计算】【神经网络】【支付宝接入】| Chat · 预告

    1 微服务时代下崛起的 TestOps 工程师 作者简介: 居,特赞科技测试负责人,主要负责测试框架搭建和工具开发.兼职微服务运维的工作,深度TestOps信仰者.开源中国源创会讲师. Chat 简介 ...

  5. 支付宝接入网联,对我们有什么影响?

    随着移动支付的高速发展,移动支付已深深渗入我们生活中.提到移动支付,我们想到的就是支付宝和微信,因为这两家支付市额占移动支付的90%以上.连银联打造的云闪付都难以和他们媲美,其原因也显而易见,支付宝和 ...

  6. ASP.NET Core 2.0 支付宝当面付之扫码支付

    前言 自从微软更换了CEO以后,微软的战略方向有了相当大的变化,不再是那么封闭,开源了许多东西,拥抱开源社区,.NET实现跨平台,收购xamarin并免费提供给开发者等等.我本人是很喜欢.net的,并 ...

  7. 手机网站支付宝接入iframe无法唤醒支付宝app

    如果在正常的form表单中唤醒不了支付宝app只能用网页进行支付请参考如下: 商家在网页中调用支付宝提供的网页支付接口调起支付宝客户端内的支付模块,商家网页会跳转到支付宝中完成支付,支付完后跳回到商家 ...

  8. 闪聚支付 第3章-支付宝接入指南

    支付产品 产品列表 支付宝为普通商户提供如下支付产品: 产品介绍详见:https://b.alipay.com/signing/productSetV2.htm 1.当面付 在国内线下场景,商家可通过 ...

  9. SpringBoot支付宝接入实战

    文章目录 支付宝支付后端实战--基于SpringBoot 一.支付宝支付介绍及接入指引 1. 支付宝开放能力介绍 (1)能力地图 (2)电脑网站支付产品 2. 接入准备 (1)开放平台帐号注册 (2) ...

  10. 接入了一个比较冷萌的第三方环迅h5网关支付,发起订单以及同步/异步回调(文档中也有官方微信支付宝接入代码资源哦)

    虽然之前对于接入第三方支付有比较多的经验,但是这次接入环迅h5支付还是花了2天半的时间才整入到项目中,遇到了一个坑耽搁了一天半,下面讲一下接入注意事项 可能大家一般都是接入微信支付宝等官方支付(微信支 ...

最新文章

  1. 【驱动】GPIO 作为按键时的 设备树 配置
  2. 【Win7下Android native code的编译和调试】
  3. Oracle DBlink相关
  4. 大学期末考试SSH试题四
  5. Android:JAVA使用HDF5存储
  6. Visual Studio 2017正式版离线安装及介绍
  7. java集合—— 链表(java中的所有链表都是双向链表)
  8. 在工作中常用的sql语句
  9. 常见的9种前端跨域解决方案详解
  10. 边做边记中航信酒店接口开发
  11. 小程序中的flex_在Flex应用程序中启用辅助功能
  12. Axure RP9使用指南
  13. 如何在Excel中调节折线图和柱形图(组合图)的高低(位置),让图中的折线和柱形不会出现重叠
  14. 【XJOI】燃烧的远征
  15. Bing搜索没法用的解决办法(附Google和edge的详细解决步骤)
  16. Android软件开发Log实时查看方式(无需数据线)
  17. EntityFramWork DbContext 自定义connectionString
  18. 常用算法简述 -- 插入排序
  19. 计算机操作系统u盘的安装方法,u盘操作系统_详细教您怎么把系统装进U盘
  20. 视频录制不清楚、模糊解决办法

热门文章

  1. 配置环境变量区分开发环境和生产环境
  2. 项目之显示问题和回答问题(12)
  3. RNN和LSTM中batchsize和timestep的区别是什么?
  4. scope在c语言中什么意思,JavaScript scope作用域与this关键字
  5. Verilog流水线设计
  6. 民盟中央蒋树声:高等教育质量观一定要变
  7. 蓝桥-皮亚诺曲线距离
  8. 数学——每日一题11 1.18 反函数求导
  9. 解决定时器关闭不掉的问题,clearInterval无效
  10. Linux简单的web服务器搭建实验