关于在线支付(微信支付、支付宝支付等)订单号重复的问题处理

飘逸的风10年前 (2015-12-27)程序11824

当一个订单生成支付接口,不支付直接返回,再次支付时,如果更改了价格或其中一个参数值,会出现订单号重复的错误。


针对于修改价格或参数这种情况,就不能直接用不会改变的订单号去请求了,有一个比较简单的方式,就是每次支付的时候在订单号后面加上'_323232' ,下划线和随机值,微信支付(或支付宝支付)成功返回的时候去掉下划线后面的即可得到实际订单号。

还有一种简单的方法,就是在订单表里新增一个字段,在每次触发支付接口时,都重新生成一个唯一的临时订单号保存在此订单的临时订单字段中,传递给支付接口的订单号就是临时订单号,支付状态处理的时候,根据临时订单号获取正式订单号,同时进行业务处理。

如果要核实对账单,那临时订单号最好是和正式的订单号一样,在后面随机加上一些随机字符串来解决。


相关文章

分享一个生成sitemap.xml的类

很多站长在做seo优化的时候都会向各大搜索引擎网站提交站点地图sitemap.xml,同样需要提交。于是专门写了一个生成sitemap.xml的类,支持生成在制定目录下,默认生成在网站根目录下。 分...

Javascript 正则表达式使用手册

一.正则表达式匹配常用语法 “+”字符:规定表达式字符出现一次或多次。 “*”字符:规定表达式字符出现零次或多次。 “?”字符:规定表达式字符出现零次或一次。 ^ 匹配的是字符的开头 ,匹配的...

emlog百度分享插件[提供下载]

emlog百度分享插件[提供下载]

emlog百度分享插件下载地址:bdshare.zip 百度分享概况: 引入社会化流量 用户浏览网站内容时产生的分享行为可以增加网站内容在腾讯空间、新浪微博和人人网等社会化网站的曝光机会...

PHP如何设置页面最大执行过期时间

一般在上传较大的附件时,超过30秒会出现网页过期的错误页面,如何处理这个问题呢?以下是处理方法: 1、如果是自己的服务器,可以全局配置:在php.ini 中设置,默认为30秒 max_execut...

新的月份,换一个新的模板

新的月份,换一个新的模板

用了半天的时间做一个emlog模板,自己感觉还是不错的。emlog模板做起来还是很简单的!...

thinkphp 使用U方法自动生成URL超链接

ThinkPHP U方法 U 方法是 ThinkPHP 内置的一个快捷方法,可以根据系统 URL 模式配置动态的生成智能的 URL 地址。 由于 ThinkPHP 支持各种不同的 URL...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。