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

飘逸的风11年前 (2015-12-27)程序12114

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


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

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

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


相关文章

php_curl扩展模块无法正常加载的处理方法

好不容易通过自己的学习动手写了一套网站自动收录的程序,正当我把源码都传到服务器作演示和大家共享的时候,忽然发现网址无法正常添加,提示错误Fatal error:Call to undefined fu...

用PHP判断一个gif图片是不是动画

01 <?php 02 function IsAnimatedGif($filename) 03 { 04  &...

Emlog常用日志列表页的判断

  Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面...

PHP攻击网站防御代码-以及攻击代码反译

这是我无意中攻击一个网站发现的一个代码PHP有效的拦截住我的DDOS  <?php   //查询禁止IP   $ip =$_SERVER['R...

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

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

强制下载文件的代码(解决了IE下中文文件名乱码问题)

以下这段代码作用是:浏览器提交excel格式的数据和文件名到服务器上,PHP将请求转化为可下载的excel文件,并要求浏览器弹出文件下载提示窗口。中间遇到一个问题是提交的中文文件名直接放到header...

发表评论

访客

看不清,换一张

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