微信支付改价导致201 商户订单重复问题[已解决]

位置:首页>文章>详情   分类: 教程分享   阅读(486)   2023-10-11 14:20:55

问题描述

用户创建订单,打开了支付界面(调用了生成预支付信息接口),关闭支付,等后台管理人员修改价格后再次支付(重新生成预支付信息,业务订单号全局唯一没变),导致微信返回201 商户订单号重复。

201错误

问题原因

待支付的订单号(即商户订单号,out_trade_no),再次支付时,务必保持商品描述字段和上次请求的内容完全一致。另外,如果价格改变,也不能重复提交,只能重新生成订单号,重新向微信发起支付请求。

微信社区资料参考
微信社区资料参考

问题解决

订单表添加一个UNIQUE索引字段trade_no,用来关联微信支付out_trade_no这边的系列操作。添加后注意修改通知相关接口和业务。

思路:新增订单时候,设置trade_no 与 订单号一致,当用户关闭支付的时候调用接口修改订单的trade_no

 

疑难杂症:会导致对账麻烦

地址:https://www.leftso.com/article/1711941020494598145.html

相关阅读

问题描述 用户创建订单,打开了支付界面(调用了生成预支付信息接口),关闭支付,等后台管理人员修改价格后再次支付(重新生成预支付信息,业务订单号全局唯一没变),导致微信返回201 商户订单号...
1.开通商户号 登录 https://pay.wexin.qq.com 注册并开通商户号。 2.开通【微信收款码商业版】 https://pay.wexin.qq.com 打开...
登录微信支付https://pay.weixin.qq.com/打开上面地址管理员微信扫码登录申请电子凭证下载顶部菜单选择【交易中心】左侧菜单拉到底部,选择电子凭证如上图所示,选择一个结算日期范...
某些情况下我们需要使用多个微信,需要在PC上多开微信,下面具体介绍Windows 10 操作系统上如何多开微信1.获取微信的安装路径找到桌面安装的微信快捷方式,然后数表右键属性查看微信的安装路径...
组件仓库GitHub-icindy/wxParse:wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析配置显示解析二维码<templatename="wxP...
用途微信订单上传时间,要求RFC3339格式处理方法方法一:jdk自带工具处理RFC3339publicstaticStringtimeStampToRfc3339(longtimeStamp)...
情景描述 用户在电商网站中购买成功,在微服务中经历了什么   设计一套电商系统还不简单 简单想象一下,既然是一个电商系统,有用户去购买,就肯定得有一个用户模块,购买什么东...
腾讯云对象存储,配置微信小程序可以访问 如上图Referer第一行所示,添加该域名即可,微信小程序都是通过这个域名来访问的资源。
情况说明后端提供的接口返回的二进制流,且是post方法实现代码wx.request({url:'接口地址',method:'post',header:{"token":'后端接口需要的token...