查询订单支付状态接口(2) | 学习笔记

简介: 快速学习查询订单支付状态接口(2)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)查询订单支付状态接口(2)学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11496


查询订单支付状态接口(2)


内容介绍:

一、查询支付状态接口

二、总结

三、操作过程


一、查询支付状态接口

在 service 方法中传的是 map 集合,也就是在查订单状态时返回的 map 集合,在map 集合中有很多数据,比如输出有 devago 看结果,在数据中有一个值专门返回订单id或者订单号

//从 map 获取订单号

String orderNo = map.get(“out_trade_no”);

//根据订单号查询订单信息

QueryWrapper<Order> wrapper = new QueryWrapper<>();

wrapper.eq(column:”order_no”,orderNo);

Order order = orderService.getOne(wrapper);

//更新订单表订单状态

if(order.getStatus().inValue() == 1){ return;)

order.setStatus(1)://1代表已支付

orderService.updateById(order);

//向支付表添加支付记录

PayLog payLog = new PayLog();

payLog.setOrderNo(orderNo);//订单号

payLog.setPayTime(new Date());//订单完成时间

payLog.setPayType(1);//支付类型 1微信

payLog.setTotalFee(order.getTotalFee());//总金额(分)

payLog.setTradeState(map.get(“trade_state”));//支付状态

payLog.setTransactionId(map.get(“transaction_id”));//流水号

payLog.setAttr(JSONObject.toJSONString(map));

baseMapper.insert(payLog);

baseMapper.insert

}

image.png

例如 orderNo 表示订单号,payTime 表示支付完成时间,payType是支付类型,getTotalFee 是总金额,transaction_id 是订单流水号,支付状态和流水号不需要我们设置,是固定的,jsonobject 表示除了支付状态和流水号之外还有其他值,其他值也可以存到数据库中,最终存到 attr 中。


二、总结

第一部分:生成二维码,二维码在 map 中有 url,还有其他值,在页面中下载二维码能生成出来。

  1. 查询订单状态根据订单号查询,先调 queryPayStatus 方法,在这个方法中调微信固定的地址,返回的状态使用 map 进行返回。

通过 map 可以判断,如果 map 为空,则是出错了,如果不为空,去 trade_state 值,如果为 success,则是支付成功,接下来添加记录,更改状态。


三、操作过程

为了方便操作,在后面看的更明显,把值做个输出。

//生成微信支付二维码接口

//参数是订单号

@GetMapping(“creatNative/{orderNo}”)

public R createNative(@PathVariable String_orderNo)_{

//返回信息,包含二维码地址,还有其他信息

Map map = payLogService.creatNative(orderNo);

System.out.println(“****返回二维码map集合:”+map);

return R.ok(),data(map):

}

//查询订单支付状态

//参数:订单号,根据订单号查询 支付状态

@GetMapping(“queryPayStatus/{orderNo}”)

public R querPayStatus(@PathVariable String orderNo){

Map<String,String>map=payLogService.queryPayStatus(orderNo);

System.out.println(“*****订单状态map集合:{“+map};

if(map == null){

return R.error().message(“支付出错了”);

}

相关文章
|
6月前
|
API
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
|
26天前
|
存储 JSON Java
1688订单接口获取指南
在电子商务中,订单数据的获取和管理至关重要。1688作为中国领先的B2B平台,提供了订单详情接口,允许开发者通过订单号获取详细信息,包括订单状态、收货地址、商品列表等。本文介绍如何使用该接口,涵盖注册账号、获取API密钥、安装必要库、构造请求URL、发送HTTP请求、解析响应数据及异常处理等内容,并提供Java示例代码。注意事项包括合规使用、数据安全和高效利用。
|
29天前
|
API 数据安全/隐私保护 开发者
商品订单接口获取及作用详解
在电商平台的后台管理中,订单接口至关重要。本文介绍了如何获取商品订单接口及其作用,包括注册开发者账号、创建应用、申请API权限和调用接口获取订单及物流信息的详细步骤,并提供了Python示例代码。同时,强调了遵守平台规则、数据安全和接口维护的重要性。
|
6月前
|
JSON 数据格式
支付系统41----定时查单-订单未支付
支付系统41----定时查单-订单未支付
支付系统42----支付宝支付-定时查单-订单已支付,如果我们在定时查单的状态中,我们明明已经支付的订单,却在本地状态中显示没有支付,这是因我们的异步通知因为种种原因没有接受到,支付宝端成功,本地失败
支付系统42----支付宝支付-定时查单-订单已支付,如果我们在定时查单的状态中,我们明明已经支付的订单,却在本地状态中显示没有支付,这是因我们的异步通知因为种种原因没有接受到,支付宝端成功,本地失败
|
6月前
|
关系型数据库 MySQL 数据库
生成订单的过程------支付系统21------支付宝支付----统一收单下单并支付页面接口----创建订单,下订单,我们要在我们数据库的订单表中,设置订单,订单表常用数据库设置格式
生成订单的过程------支付系统21------支付宝支付----统一收单下单并支付页面接口----创建订单,下订单,我们要在我们数据库的订单表中,设置订单,订单表常用数据库设置格式
支付系统22------统一收单下单并支付页面接口-----调用支付宝接口,创建订单后期出现异常,能够打印出来的方法
支付系统22------统一收单下单并支付页面接口-----调用支付宝接口,创建订单后期出现异常,能够打印出来的方法
|
6月前
|
API 开发工具
支付系统17------支付宝支付-----API预览以及签名验签说明,出现支付宝扫描二维码的操作,支付完成之后,查询订单的状态,支付成功之后,需要退款调用的接口,退款状态的接口,完成退款之后,通知
支付系统17------支付宝支付-----API预览以及签名验签说明,出现支付宝扫描二维码的操作,支付完成之后,查询订单的状态,支付成功之后,需要退款调用的接口,退款状态的接口,完成退款之后,通知
|
XML JSON 缓存
Java实现订单ID获取淘宝买到的订单详情数据接口方法
Java实现订单ID获取淘宝买到的订单详情数据接口方法
ERP,仓储系统官方订单详情接口trade.fullinfo.get( 获取单笔交易的详细信息 )
ERP,仓储系统官方订单详情接口trade.fullinfo.get( 获取单笔交易的详细信息 )