微信支付API上说明:

OUT_TRADE_NO_USED 商户订单号重复 同一笔交易不能多次提交 请核实商户订单号是否重复提交

测试的时候先用微信支付得到预支付id,取消当前支付,再次付款的时候就会提示:“订单号重复”

网上搜了一下,大概共有三种解决办法:

1、既然是订单号重复,那么再次付款的时候重新生成订单号就好了,但是很多时候一旦数据入库了就已经板上钉钉了,那么就有人想到既然不能动订单,那就建立第三表订单号与微信订单号建立绑定,每次传给微信的时候用第三表的id,每次重新生成就不会重复了!

http://www.knowsky.com/613912.html

2、随机数,订单号传给微信的时候带上一个随机数,然后微信回调的时候想还原订单id在修改订单的状态【楼主就是用的这种】

[java] view plaincopyprint?
  1. /**
  2. * 产生num位的随机数
  3. * @return
  4. */
  5. public static String getRandByNum(int num){
  6. String length = "1";
  7. for(int i=0;i<num;i++){
  8. length += "0";
  9. }
  10. Random rad=new Random();
  11. String result  = rad.nextInt(Integer.parseInt(length)) +"";
  12. if(result.length()!=num){
  13. return getRandByNum(num);
  14. }
  15. return result;
  16. }
/*** 产生num位的随机数* @return*/public static String getRandByNum(int num){String length = "1";for(int i=0;i<num;i++){length += "0";}Random rad=new Random();String result  = rad.nextInt(Integer.parseInt(length)) +"";if(result.length()!=num){return getRandByNum(num);}return result;} 
[java] view plaincopyprint?
  1. WxPay.getWxPayUnifiedResult(body, detail, attach, "o" + orderConfirm.getDid()+CommonUtils.getRandByNum(6), total_fee, spbill_create_ip);
WxPay.getWxPayUnifiedResult(body, detail, attach, "o" + orderConfirm.getDid()+CommonUtils.getRandByNum(6), total_fee, spbill_create_ip);

回调:

[java] view plaincopyprint?
  1. //修改订单的状态
  2. //开始还原原始单号(订单号或者总订单号)
  3. String out_trade_no = wxPayResult.getOut_trade_no().substring(0, wxPayResult.getOut_trade_no().length()-6);
  4. orderService.alipayNotifyPayment(out_trade_no, wxPayResult.getTransaction_id(),2);
  5. writer.write(HttpXmlUtils.backWeixin("SUCCESS","OK"));
//修改订单的状态//开始还原原始单号(订单号或者总订单号)String out_trade_no = wxPayResult.getOut_trade_no().substring(0, wxPayResult.getOut_trade_no().length()-6);orderService.alipayNotifyPayment(out_trade_no, wxPayResult.getTransaction_id(),2);writer.write(HttpXmlUtils.backWeixin("SUCCESS","OK"));

http://www.oschina.net/question/1471623_243071

3、保证商品的描述跟订单号保持一致

http://jingyan.baidu.com/article/f79b7cb360d9379145023e62.html?st=2&os=0&bd_page_type=1&net_type=1

微信支付-同一个订单多次请求(生成二维码)方案相关推荐

  1. 微信小程序点击按钮弹窗生成二维码图片+长按识别

    框架:uni-app 库:Painter ui框架:uView 1.X <u-modal class="show-close" v-model="showClose ...

  2. 获取其他人微信小程序的任意路径以及生成二维码

    如果想要获取别人的小程序页面路径和参数,也不是没有办法,我们只需要通过小程序平台提供的工具就可以简单的获取得到. 当然,前提是获取到目标小程序的APPID,这个应该很简单,没必要在这里阐述. 第一步, ...

  3. 图片、文本、文件如何在线生成二维码?

    二维码是现在生活中随处可见的一种展现方式,不管是支付,交友,获取信息,传递文件等等,都会采用这种方式.那么针对于不同的用途,如何制作相关类型的图片二维码呢?那么一款简单的二维码生成器https://w ...

  4. java后台生成二维码以及页面显示二维码方式

    上篇文章已经说明并发布了后台生成二维码工具类,大家可以直接去看或者去拿. 地址:最简单实用的java生成二维码工具 现在呢说明页面上展示二维码的两种方式: 1.使用img标签的src来请求生成二维码, ...

  5. springboot+java生成二维码图片

    接下来将从IDEA创建springboot项目到生成效果图详细地为大家展示二维码的制作过程 1.首先是创建springboot项目 上面的图有红色标记的地方需要填写的,比如项目存放的路径,包名等,其他 ...

  6. 微信扫码支付与生成二维码

    二维码 (1) 容错级别 L级(低) 7%的码字可以被恢复. M级(中) 的码字的15%可以被恢复. Q级(四分)的码字的25%可以被恢复. H级(高) 的码字的30%可以被恢复. (2) 二维码生成 ...

  7. springboot微信支付pc页面生成二维码

    微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/index.html 咱们这次采用的是Native支付 Native支付使用场景:用户打开"微 ...

  8. Spring Boot电商项目57:订单模块六:【前台:生成支付二维码】接口;(支付url的拼凑;利用zxing生成二维码;二维码图片的存储;真实地址与可访问地址的转换;)

    说明: (1)本篇博客主要内容是:开发[前台:生成支付二维码]接口: (2)本篇博客需要注意的点有: ● 支付url的拼凑: ● 利用zxing生成二维码: ● 二维码图片的存储:真实地址与可访问地址 ...

  9. JAVA生成二维码扫码进入h5微信支付宝支付

    第一步准备 (1)微信需要的公众服务号和商户号:沙箱有很多问题,所以本人以正式的配置实现,其中公众号需要配置授权路径 其中公众号需配置 商户号需到产品中心 -> 开发配置 -> 支付配置 ...

  10. 微信扫码支付功能(1)---通过谷歌二维码工具生成付款码

    生成付款二维码 一.微信网站扫码支付介绍 1.扫码支付文档 微信开发官方文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5 ...

最新文章

  1. 水晶报表Crystal 语法 实用字段编辑
  2. java13页_Java 13 新特性及实战案例
  3. poj 1987 树的分治
  4. java 错误登陆次数_纯java代码实现登陆次数验证,登陆错误5次之后锁定30分钟
  5. WPF中DatePiker值绑定以及精简查询
  6. win10 Java 环境配置
  7. 校园网ensp模拟搭建
  8. poi操作word复制表格
  9. Redis中的Scan命令的使用
  10. 投诉百度快照对排名的影响
  11. Spring Security(一):最简单的Spring Security程序
  12. iOS线下分享《RunLoop》by 孙源@sunnyxx
  13. 个人小程序实现微信支付
  14. Druid数据库连接池监控的使用
  15. huawei CE系列补丁安装指导书
  16. C# + Ext.Net打印
  17. 苹果手机咋截屏_苹果手机信号满格但是没网络咋处理
  18. VUE组件之数据共享
  19. windows 7 安装虚拟光驱Deamon出现蓝屏的解决方法
  20. 2021赣一中高考成绩查询,2021江西省十大重点高中排名

热门文章

  1. 终于有人把XGBoost 和 LightGBM 讲明白了,项目中最主流的集成算法!
  2. GitLab The requested URL returned error: 502
  3. 网页 Failed to initialize player‘s 3D settings 小游戏4399 修复
  4. python风控模型举例_一文搞定风控模型6大核心指标(附代码)
  5. 联想台式电脑修复计算机,处理联想一键恢复电脑系统教程
  6. linux下的/usr目录
  7. 雷电3菊链功能_雷电3接口是什么
  8. Camunda 动态增加会签
  9. JAWS模块分析(小东子)
  10. 360商城页面练习(html+css+js)