Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强
总时长 104:45:00 共408P
此文章包含第305p-第p310的内容
代码编写
前端代码
这里使用的是jsp
在这里引用之前配置的各种支付信息
在AlipayConfig.java里
这里是调用阿里巴巴写的一个alipayClient的返回一个页面字符串(html字符串)的方法,然后输出到页面
这里我们封装了一个支付工具类
可以跟配置文件里的以alipay开头的配置进行绑定
绑定跳转的支付页
编写action请求
支付宝只识别2位小数的金额 否则会报错,这里我们设置2位金额并向上取余
取余模式 如 四舍五入 向上取余,向下取余等
这里的标题我们自己设置 我们选择了商品名称
备注我们设置了商品的销售属性
响应的信息
这里的返回值设置成text/html类型 而不是 application/json
@GetMapping(value = “/payOrder”, produces = MediaType.TEXT_HTML_VALUE)
这个请求会跳转到支付宝给我们设置的表单 然后自动提交表单到另一页面
跳回到成功回调页
支付成功同步回调功能
修改错误
请求写错了
类型错误
修改支付状态
支付宝推荐使用异步通知方式进行操作
同步通知如果浏览器崩溃或关闭就无法继续操作了
*
配置内网穿透地址
配置nginx
精确请求一般放在上边
这里报404 我们看一下访问日志
查看错误日志
找错了目录
在gulimail.conf里配置 添加我们的网址 使其的访问变成post请求 而不是静态网页
重启nginx
访问成功
这里直接放行此请求
验签 防止有人伪造 如拿postman自己发送一个数据给你
这里报错 是日期格式转换错误
收单
这里写我们需要的时间 我们这里测试用的是1分钟
我们也可以直接调用支付宝的异步收单功能
每晚可以调用对账功能来进行对账
这里可以查看订单号信息 每晚可以将当天的订单进行对账 来校验交易信息是否异常
这里还有退款功能