微信支付-同一个订单多次请求(生成二维码)方案
微信支付API上说明:
OUT_TRADE_NO_USED | 商户订单号重复 | 同一笔交易不能多次提交 | 请核实商户订单号是否重复提交 |
测试的时候先用微信支付得到预支付id,取消当前支付,再次付款的时候就会提示:“订单号重复”
网上搜了一下,大概共有三种解决办法:
1、既然是订单号重复,那么再次付款的时候重新生成订单号就好了,但是很多时候一旦数据入库了就已经板上钉钉了,那么就有人想到既然不能动订单,那就建立第三表订单号与微信订单号建立绑定,每次传给微信的时候用第三表的id,每次重新生成就不会重复了!
http://www.knowsky.com/613912.html
2、随机数,订单号传给微信的时候带上一个随机数,然后微信回调的时候想还原订单id在修改订单的状态【楼主就是用的这种】
- /**
- * 产生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;
- }
/*** 产生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;}
- 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);
回调:
- //修改订单的状态
- //开始还原原始单号(订单号或者总订单号)
- 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"));
//修改订单的状态//开始还原原始单号(订单号或者总订单号)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
微信支付-同一个订单多次请求(生成二维码)方案相关推荐
- 微信小程序点击按钮弹窗生成二维码图片+长按识别
框架:uni-app 库:Painter ui框架:uView 1.X <u-modal class="show-close" v-model="showClose ...
- 获取其他人微信小程序的任意路径以及生成二维码
如果想要获取别人的小程序页面路径和参数,也不是没有办法,我们只需要通过小程序平台提供的工具就可以简单的获取得到. 当然,前提是获取到目标小程序的APPID,这个应该很简单,没必要在这里阐述. 第一步, ...
- 图片、文本、文件如何在线生成二维码?
二维码是现在生活中随处可见的一种展现方式,不管是支付,交友,获取信息,传递文件等等,都会采用这种方式.那么针对于不同的用途,如何制作相关类型的图片二维码呢?那么一款简单的二维码生成器https://w ...
- java后台生成二维码以及页面显示二维码方式
上篇文章已经说明并发布了后台生成二维码工具类,大家可以直接去看或者去拿. 地址:最简单实用的java生成二维码工具 现在呢说明页面上展示二维码的两种方式: 1.使用img标签的src来请求生成二维码, ...
- springboot+java生成二维码图片
接下来将从IDEA创建springboot项目到生成效果图详细地为大家展示二维码的制作过程 1.首先是创建springboot项目 上面的图有红色标记的地方需要填写的,比如项目存放的路径,包名等,其他 ...
- 微信扫码支付与生成二维码
二维码 (1) 容错级别 L级(低) 7%的码字可以被恢复. M级(中) 的码字的15%可以被恢复. Q级(四分)的码字的25%可以被恢复. H级(高) 的码字的30%可以被恢复. (2) 二维码生成 ...
- springboot微信支付pc页面生成二维码
微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/index.html 咱们这次采用的是Native支付 Native支付使用场景:用户打开"微 ...
- Spring Boot电商项目57:订单模块六:【前台:生成支付二维码】接口;(支付url的拼凑;利用zxing生成二维码;二维码图片的存储;真实地址与可访问地址的转换;)
说明: (1)本篇博客主要内容是:开发[前台:生成支付二维码]接口: (2)本篇博客需要注意的点有: ● 支付url的拼凑: ● 利用zxing生成二维码: ● 二维码图片的存储:真实地址与可访问地址 ...
- JAVA生成二维码扫码进入h5微信支付宝支付
第一步准备 (1)微信需要的公众服务号和商户号:沙箱有很多问题,所以本人以正式的配置实现,其中公众号需要配置授权路径 其中公众号需配置 商户号需到产品中心 -> 开发配置 -> 支付配置 ...
- 微信扫码支付功能(1)---通过谷歌二维码工具生成付款码
生成付款二维码 一.微信网站扫码支付介绍 1.扫码支付文档 微信开发官方文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5 ...
最新文章
- 水晶报表Crystal 语法 实用字段编辑
- java13页_Java 13 新特性及实战案例
- poj 1987 树的分治
- java 错误登陆次数_纯java代码实现登陆次数验证,登陆错误5次之后锁定30分钟
- WPF中DatePiker值绑定以及精简查询
- win10 Java 环境配置
- 校园网ensp模拟搭建
- poi操作word复制表格
- Redis中的Scan命令的使用
- 投诉百度快照对排名的影响
- Spring Security(一):最简单的Spring Security程序
- iOS线下分享《RunLoop》by 孙源@sunnyxx
- 个人小程序实现微信支付
- Druid数据库连接池监控的使用
- huawei CE系列补丁安装指导书
- C# + Ext.Net打印
- 苹果手机咋截屏_苹果手机信号满格但是没网络咋处理
- VUE组件之数据共享
- windows 7 安装虚拟光驱Deamon出现蓝屏的解决方法
- 2021赣一中高考成绩查询,2021江西省十大重点高中排名
热门文章
- 终于有人把XGBoost 和 LightGBM 讲明白了,项目中最主流的集成算法!
- GitLab The requested URL returned error: 502
- 网页 Failed to initialize player‘s 3D settings 小游戏4399 修复
- python风控模型举例_一文搞定风控模型6大核心指标(附代码)
- 联想台式电脑修复计算机,处理联想一键恢复电脑系统教程
- linux下的/usr目录
- 雷电3菊链功能_雷电3接口是什么
- Camunda 动态增加会签
- JAWS模块分析(小东子)
- 360商城页面练习(html+css+js)