谷粒商城实战(029 业务-订单支付模块-支付宝支付2)

2024-05-28 03:04

本文主要是介绍谷粒商城实战(029 业务-订单支付模块-支付宝支付2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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分钟
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们也可以直接调用支付宝的异步收单功能
在这里插入图片描述

在这里插入图片描述

每晚可以调用对账功能来进行对账
在这里插入图片描述
这里可以查看订单号信息 每晚可以将当天的订单进行对账 来校验交易信息是否异常
在这里插入图片描述
这里还有退款功能
在这里插入图片描述


这篇关于谷粒商城实战(029 业务-订单支付模块-支付宝支付2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009361

相关文章

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MQTT SpringBoot整合实战教程

《MQTTSpringBoot整合实战教程》:本文主要介绍MQTTSpringBoot整合实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录MQTT-SpringBoot创建简单 SpringBoot 项目导入必须依赖增加MQTT相关配置编写

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

Redis迷你版微信抢红包实战

《Redis迷你版微信抢红包实战》本文主要介绍了Redis迷你版微信抢红包实战... 目录1 思路分析1.1hCckRX 流程1.2 注意点①拆红包:二倍均值算法②发红包:list③抢红包&记录:hset2 代码实现2.1 拆红包splitRedPacket2.2 发红包sendRedPacket2.3 抢

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr