JAVA全系列 教程
3762个小节阅读:7091.5k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
编写支付控制器
xxxxxxxxxx
/**
* 该方法是用户扫码支付后支付宝调用的。
* @return
*/
@PostMapping("/success/notify")
public BaseResult successNotify(HttpServletRequest request){
// 1.验签
Map<String,Object> paramMap = new HashMap();
paramMap.put("requestParameterMap",request.getParameterMap());
zfbPayService.checkSign(paramMap);
String trade_status = request.getParameter("trade_status");// 订单状态
String out_trade_no = request.getParameter("out_trade_no");// 订单编号
// 如果支付成功
if (trade_status.equals("TRADE_SUCCESS")){
// 2.修改订单状态
Orders orders = orderService.findById(out_trade_no);
orders.setStatus(2); // 订单状态为已付款
orders.setPaymentTime(new Date());
orders.setPaymentType(2); // 支付宝支付
orderService.update(orders);
// 3.添加交易记录
Payment payment = new Payment();
payment.setOrderId(out_trade_no); // 订单编号
payment.setTransactionId(out_trade_no); // 交易号
payment.setTradeType("支付宝支付"); // 交易类型
payment.setTradeState(trade_status); // 交易状态
payment.setPayerTotal(orders.getPayment()); // 付款数
payment.setContent(JSON.toJSONString(request.getParameterMap())); // 支付详情
payment.setCreateTime(new Date()); // 支付时间
zfbPayService.addPayment(payment);
}
return BaseResult.ok();
}