最近的项目需要对接支付宝,因为之前没有接触过支付宝支付的功能,折腾了好久才把问题测地解决了,现在把详细的过程贴出来让广大同学少走弯路。
目前,支付宝有两种状态,一种是用于支付的正式环境,也就是平时我们在网上购物后用户支付的环境,另外一种是用于开发的沙箱环境,所以一开始因为要测试,顾接入的是沙箱环境。具体的过程如下文字:
1、打开CMD环境(windows或linux是一样的),在命令行提示符后输入openssl命令,进入ssl环境。

2、在openssl命令行下输入命令:genrsa -out app_private_key.pem 2048,得到私钥。


3、再执行命令:rsa -in app_private_key.pem -pubout -out app_public_key.pem,得到公钥并导出公钥。

4、生成的公私钥在计算机本地,地址在C:\Users\Administrator(我的系统是windows,Linux系统可能不太一样).
5、将生成的私钥导入到项目中去。
6、再把生成的公钥复制到支付宝沙箱环境中的‘自定义秘钥’中的‘秘钥模式’下的‘应用公钥’内,并将其下的’支付宝公钥’复制出来,粘贴到本地,并在收尾加上(-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----),并将此文件保存为txt文件,文件名自取即可。
7、之后就是传参的问题了。因为蚂蚁金服没有提供对应的python SDK和API,顾需要从GitHub上找对应的支付宝的SDK(网址:https://github.com/fzlee/alipay/blob/master/README.zh-hans.md)
8、该文档分为三块内容:一是准备,是要在python中安装(python-alipay-sdk),所以执行命令:pip install python-alipay-sdk --upgrade
9、第二模块是初始化,是用于传递支付宝沙箱环境的APP ID 和保存在本地的公私钥。代码如下:

from alipay import AliPay, DCAliPay, ISVAliPay
from alipay.utils import AliPayConfigapp_private_key_string = open("/path/to/your/private/key.pem").read()#读取保存在本地的私钥
alipay_public_key_string = open("/path/to/alipay/public/key.pem").read()#读取本地的公钥app_private_key_string == """-----BEGIN RSA PRIVATE KEY-----base64 encoded content-----END RSA PRIVATE KEY-----
"""alipay_public_key_string == """-----BEGIN PUBLIC KEY-----base64 encoded content-----END PUBLIC KEY-----
"""alipay = AliPay(appid="",#这里需要你的支付宝沙箱的APP IDapp_notify_url=None,  # 默认回调 urlapp_private_key_string=app_private_key_string,# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,alipay_public_key_string=alipay_public_key_string,sign_type="RSA",  # RSA 或者 RSA2debug=False,  # 默认 Falseverbose=False,  # 输出调试数据config=AliPayConfig(timeout=15)  # 可选,请求超时时间
)dc_alipay = DCAliPay(appid="appid",app_notify_url="http://example.com/app_notify_url",app_private_key_string=app_private_key_string,app_public_key_cert_string=app_public_key_cert_string,alipay_public_key_cert_string=alipay_public_key_cert_string,alipay_root_cert_string=alipay_root_cert_string
)

10、文档的第三模块是接口。提供了很多的功能,比如电脑网页的支付功能,手机APP支付功能。可以根据自己的实际需求来选择对应的代码即可,如截图:

我的项目是电脑网页的支付功能。顾我选择的是第一项。将电脑网站支付的代码复制下来粘贴到项目中即可。

# 如果你是 Python2 用户(考虑考虑升级到 Python3 吧),请确保非 ascii 的字符串为 utf8 编码:
subject = u"测试订单".encode("utf8")
# 如果你是 Python3 的用户,使用默认的字符串即可
subject = "测试订单"# 电脑网站支付,需要跳转到:https://openapi.alipay.com/gateway.do? + order_string
order_string = alipay.api_alipay_trade_page_pay(out_trade_no="20161112",#这里是订单编号total_amount=0.01,#这里是具体的金额subject=subject,#这里是标题return_url="https://example.com",notify_url="https://example.com/notify" # 可选,不填则使用默认 notify url
)

到此整个后端配置完成了,后面的其实就是要传递订单编号、金额和标题整个三个参数即可。

python如何接入支付宝沙箱环境相关推荐

  1. 支付宝沙箱环境接口使用详解

    最近在做一个模拟支付宝的支付功能,用到了支付宝沙箱模拟环境,具体使用步骤如下,仅供参考: 一.注册支付宝沙箱环境账号 1.既然使用人家提供的东西,必须要注册一个他家的账号,使用万能的百度找到支付宝沙箱 ...

  2. 支付宝沙箱环境对接(当面付)

    支付宝沙箱环境对接(当面付) 第一步: 好好阅读以下的文档: 沙箱登录:https://openhome.alipay.com/platform/appDaily.htm 沙箱环境使用说明:https ...

  3. android 支付宝沙箱测试环境,Android支付宝沙箱环境使用教程

    Android支付宝沙箱环境使用教程 网上好多支付宝教程,但是好像没看到支付宝沙箱环境的使用教程,尤其是在做Android支付宝测试的时候,沙箱拿来测试挺好的,正式使用的时候更换里面的个别数据就可以了 ...

  4. 支付宝沙箱环境+SpringBoot+内网穿透整合开发

    目录 1.查看沙箱账号 2.内网穿透 3.沙箱环境整合SpringBoot开发 下面我将以实际案例详细介绍如何使用沙箱环境进行支付宝支付对接的开发 1.查看沙箱账号 首先什么是沙箱账号? 沙箱账号是指 ...

  5. 支付宝沙箱环境 电脑支付

    项目场景: java语言,jdk1.8也可以使用 .支付宝沙箱环境电脑支付. 电脑端生成二维码,手机端扫描支付 AlipayConfig: APP 中接收数据代码: package com.hc;/* ...

  6. 支付宝沙箱环境的使用----详细教程

    支付宝沙箱环境的使用----详细教程 支付宝的沙箱环境不需要商家认证,相对于微信沙箱门槛比较低,开发的时候方便我们在本地测试 这个教程带大家完成客户端支付 手机准备环境 客户端调试----支付宝沙箱环 ...

  7. 支付宝沙箱环境的H5收不到手机验证码

    支付宝沙箱环境的H5收不到手机验证码? 解决方法: 我使用支付宝沙箱环境的H5老是收不到手机验证码,http://www.yayihouse.com/yayishuwu/chapter/1457

  8. Vue对接支付宝沙箱环境

    文章目录 前言 一.支付宝沙箱环境是什么? 二.安装所需要的环境 1.引入环境以及工具 2.安装Express框架 3.对接支付宝沙箱环境 总结 前言 此文章仅供学习参考,这里我们对接的环境是Vue. ...

  9. SpringBoot接入支付宝沙箱返回支付二维码

    支付宝开放平台 扫码登录支付宝开放平台 沙箱环境 沙箱环境介绍 沙箱控制台 应用网关:该地址用于接收开放平台的异步通知.目前沙箱环境不需要配置此参数: 授权回调地址:第三方应用授权或获取用户信息中用于 ...

最新文章

  1. 【C#串口编程计划】通信协议解析 -- byte[]与常用类型的转换
  2. C语言字符串操作函数
  3. python 搜索引擎Whoosh中文文档和代码 以及jieba的使用
  4. 初等数论--二次剩余与二次同余方程--既约剩余系中二次剩余的个数
  5. SAP 主生产计划(MPS)
  6. 2010年杭电计算机研究生复试---笔试编程
  7. android mina分析,Android与Mina整合
  8. vb microsoft.xmlhttp 获取所有超链接_编写我的第一个VB程序
  9. 第一章 Javscript的数据类型
  10. hdu - 5033 - Building(单调栈)
  11. 智能优化算法之海豚回声定位(Dolphin echolocation,DE)
  12. 解决php导出excel 长数字变成科学计数法
  13. Veritas Backup Exec 21安装
  14. 神奇的平面几何定理--康威圆定理
  15. 高速信号采集的相关知识
  16. 周公恐惧流言日,王莽谦恭未篡时
  17. 蓝桥杯刷题,第四界省赛B组
  18. 土方工程量计算表格excel_土石方计算电子表格
  19. STC89C52上的读写MMA7455程序
  20. 个人写的JSP个人日记本分享学习经验

热门文章

  1. 最小凸多边形(凸包)
  2. [技术讨论]网络软件开发的bug分析与公司开发管理问题之网易篇(有更新)
  3. 做发动机性能测试的软件,发动机测试系统性能说明
  4. 服务器转移系统,服务器迁移系统
  5. 对话王玮:从第一性原理的角度重新理解DeFi |链捕手
  6. 成都python培训比较好的机构-成都Python全栈培训
  7. CSS设置10px大小字体
  8. Spark的算子的分类
  9. 肝强脾弱是大问题吗?
  10. 《层层恐惧2》中文免安装版下载 13.5G