SpringBoot集成电脑端支付宝功能流程
参考链接:https://docs.open.alipay.com/270
集成支付功能之前我们需要先下载一个内网穿透工具,去对我们的内网项目配置公网映射路径,这个是确保支付完成之后,支付宝回调能够在公网中访问我们的项目,去发送支付成功的数据,但是这个一般在真实开发环境,并不需要我们去下载,因为公司的项目肯定是发布在公网当中的:配置流程如下:
1.访问这个地址https://natapp.cn/点击注册
2.注册好进入这个界面:点击购买隧道
3.点击免费隧道
4.填写验证信息:支付宝授权登录
5.授权成功继续点击免费购买进入购买页面:自己设置一下映射本地服务的端口
6.进入我的隧道,复制token到你下载的netapp应用文件夹里边config.ini中:如下
7.启动这个执行文件,就可以使用弹窗中的域名去访问我们的内网服务了
接下来则是开始集成支付宝支付功能:https://docs.open.alipay.com/270先进入这个支付宝开发文档
第一步:首先访问支付宝提供的集成开发文档
第二步:在真实公司环境,需要先创建应用,去填写公司的一些信息,然后提交支付宝后台审核
第三步:审核通过之后,去配置我们的项目需要接入的功能
第四步,进行开发配置,这里比较重要的是配置公司的公钥和私钥,这里还会有支付宝的公钥和私钥
其他按照步骤去操作即可
接下来则是集成sdk
把项目下载下来到我们idea项目存放的位置:比如我的电脑ideal项目的地方是A:\idea-workspace
然后打开ideal开发工具->选择关闭项目->再导入这个解压后的支付宝服务端项目
这里要注意:这个支付宝项目的jdk环境是1.7,我们需要更改项目结构的sdk为1.7以上版本即可
然后重点来了,这个项目导进来有很多问题
第一个:项目的依赖有问题,因为这个服务端应用使用传统的web阶段技术去实现,考虑到很多公司是老项目,所以使用web,方便所有的公司去集成这个项目,那么依赖这个问题,找到web-inf,点击lib找到我们的依赖,右键选择add liberary加入到环境当中
第二个是把tomcat添加到项目中
第三个,是更改AlipayConfig.java配置java文件的编码为utf-8:因为默认的是unicode bom所以要去除掉,或者是使用Notepad++工具去修改这个文件的编码为utf-8
第四个,是webContend没显示为web结构,需要我们自己去设置,设置如下:
第五个,我们需要填写xxx配置java文件中的信息,比如公钥私钥之类的信息,如下
那么这些信息怎么去获取?
因为我们现在不是使用的真实环境,所以需要去支付宝的开放平台,去进入沙箱环境,去获取xxx配置java文件需要的信息,这个平台需要我们注册登录
先登录进入沙箱环境,然后可以看到自己的相关信息
获取商户私钥,下载生成器,去生成
生成之后,复制商户私钥,生成支付宝公钥
在沙箱环境中,需要使用开发助手工具去生成商家的私钥和公钥,然后把公钥复制到沙箱环境中,获取支付宝的公钥,这是xxx配置java文件需要的信息
然后需要配置网关信息,也是从沙箱环境中去获取,之后就可以把这个项目添加到我们tomcat中运行起来即可:这个过程参考下面网址
https://www.cnblogs.com/liu–huan/articles/10659462.html
利用支付宝demo集成到我们的项目中
首先配置中关于回调函数的请求路径的设置,因为调用支付的业务可能很多,所以回调的请求不是不变的,那么请求路径将在调用支付服务的请求方去作为参数发送到支付服务,其他的配置(例如网关,商户私钥,支付宝公钥则是配置在支付服务那边)
支付逻辑:
用户在订单详情页面,选择支付方式(支付宝),点击支付,则进入我们的支付请求映射方法里边,然后去调用支付服务,去拿到访问支付宝接口返回的支付页面,返回给浏览器
退款与支付逻辑同,这里就不赘述了