微信支付订单号重复怎么办?_微微风

微信支付订单号重复怎么办?

2018-01-14 10:01:45 34 0

  做软件开发,最常做的事情恐怕就是调试代码了。大家应该都了解,功能逻辑其实很好理解,但是实现逻辑的代码可能很繁多,出现一些小错误再正常不过了。比如最近许多小伙伴就在抱怨,他们做的微信程序老是出现订单号重复,这个问题该怎么解决呢?

  最近在公司做一个支付平台,通过支付平台来做一个中转处理,达到多个对接平台使用同一个公众号支付和支付统一管理的功能。

  其中就对接了微信支付功能中的公众号支付(jsApi支付)和 扫码支付,其实这两种支付方式都是采用的统一下单接口,对应的trade_type不同,参数稍微也有些不同。

  遇到的问题是这样的,用户在PC端下单通过扫码支付来支付订单,这时用户取消支付,接下来在公众号中打开微信端,点击订单发起支付,这个时候发起的公众号支付就会提示“商户订单号支付”!

  其实,在微信下单时,只要订单号一致,一旦修改过支付类型(trade_type) 或 订单总价 等信息都会出现这个错误!

  其实解决也很简单!只要在每次发起支付时,在发起微信支付时传送的商户订单号参数out_trade_no使用随机字符串;

  可以是平台订单号+固定长度的随机串,微信回调时截取固定长度就可以得到原平台订单号;也可以是生成唯一性的随机串,将这个随机串与平台对应的订单号关联存储起来,便于微信回调时处理。

  也就是说你的订单信息变化了,传给微信的商户订单号参数out_trade_no也是要跟着改变才对的!

  最终,在这里还是发现了一点问题,如果扫码支付每次都生成不一样的订单号,那假如用户同时打开两个扫码支付页面,这时候两个二维码都是有效可以支付,倘若用户两个二维码都扫码支付了,怎么办?对于这种情况,我们肯定是对应的订单只记录第一次支付成功的流水号。要是真出现这种情况,真能说几率真的很小,用户很傻逼,等他要求退款的时候,我们可以查看微信商户平台的流水记录,若情况属实可以给他线下退款!

  为您推荐

  Laravel使用指定的名称队列

  Laravel框架中提供了便捷的队列服务使用方法,如果使用的是redis、database、sqs等作为异步队列的驱动,都会配置有对应的队列名称,来看下框架提供的默认redis驱动的配置:

  ...Mac下PHP扩展Unable to load dynamic library

  就在昨天,之前一直使用正常的php-fpm,php出现了异常情况:

  PHP Warning: PHP Startup: Unable to load dynamic library '/usr/...PHP处理程序内存溢出问题

  经常我们在处理数据量比较大的时候会遇到“Fatal error:Allowed memory size of 67108864 bytes exhausted (tried to allocate 7...include_once引发的思考

  对于include、include_once、require、require_once的区别,这个可能是PHPer初学者 和 面试者 应该理解和常用的知识点,尽管我之前对它有一些基础的了解,但是在之后...

  关于微信小程序

  微信小程序(wei xin xiao cheng xu),简称小程序,缩写XCX,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。

  全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。小程序、订阅号、服务号、企业号是并行的体系。

  2017年1月9日,张小龙在2017微信公开课Pro上发布的小程序正式上线。

  Q:小程序是什么?它有着什么样的功能?

  A:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。小程序能够实现消息通知、线下扫码、公众号关联等七大功能。其中,通过公众号关联,用户可以实现公众号与小程序之间相互跳转。由于小程序不存在入口。

  Q:小程序可以和现有的App 打通吗?

  A:小程序可以借助微信联合登录,和开发者已有的App 后台的用户数据进行打通,但不会支持小程序和App 直接的跳转。

  Q:微信已经有了订阅号、服务号、企业号,小程序和这三者有什么不同?

  A:小程序、订阅号、服务号、企业号是并行的体系。

  Q:外界有说法称,小程序的推出意味着微信要做一个应用分发市场,是这样吗?

  A:微信推出小程序,并非想要做应用分发市场,而是给一些优质服务提供一个开放的平台。

  2016年1月11日,微信之父张小龙时隔多年的公开亮相,解读了微信的四大价值观。张小龙指出,越来越多产品通过公众号来做,因为这里开发、获取用户和传播成本更低。拆分出来的服务号并没有提供更好的服务,所以微信内部正在研究新的形态,叫「微信小程序」。

  2016年9月21日,微信小程序正式开启内测。在微信生态下,触手可及、用完即走的微信小程序引起广泛关注。腾讯云正式上线微信小程序解决方案,提供小程序在云端服务器的技术方案。

  2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线,用户可以体验到各种各样小程序提供的服务。

  2017年12月28日,微信更新的 6.6.1 版本开放了小游戏,微信启动页面还重点推荐了小游戏「跳一跳」,你可以通过「小程序」找到已经玩过的小游戏。

  以上就是今天微微风小编给大家带来的微信支付订单号重复怎么办?的内容,正在为怎么解决问题发愁的小伙伴看到小编分享的教程后肯定是有久旱逢甘霖的感觉吧。不知道小编的工作是否帮助到了大家,不管怎么说小编都祝大家工作顺利,事业有成!

  推荐阅读:

  四风问题的主要表现是什么?如何表达?

  做微商真的赚钱吗?朋友圈微商揭秘

  微信号设置成什么好听,怎么设置好听的微信名?



微信支付订单号重复怎么办?

发布:2018-01-14 10:01:45来源:chen阅读:34

  做软件开发,最常做的事情恐怕就是调试代码了。大家应该都了解,功能逻辑其实很好理解,但是实现逻辑的代码可能很繁多,出现一些小错误再正常不过了。比如最近许多小伙伴就在抱怨,他们做的微信程序老是出现订单号重复,这个问题该怎么解决呢?

  最近在公司做一个支付平台,通过支付平台来做一个中转处理,达到多个对接平台使用同一个公众号支付和支付统一管理的功能。

  其中就对接了微信支付功能中的公众号支付(jsApi支付)和 扫码支付,其实这两种支付方式都是采用的统一下单接口,对应的trade_type不同,参数稍微也有些不同。

  遇到的问题是这样的,用户在PC端下单通过扫码支付来支付订单,这时用户取消支付,接下来在公众号中打开微信端,点击订单发起支付,这个时候发起的公众号支付就会提示“商户订单号支付”!

  其实,在微信下单时,只要订单号一致,一旦修改过支付类型(trade_type) 或 订单总价 等信息都会出现这个错误!

  其实解决也很简单!只要在每次发起支付时,在发起微信支付时传送的商户订单号参数out_trade_no使用随机字符串;

  可以是平台订单号+固定长度的随机串,微信回调时截取固定长度就可以得到原平台订单号;也可以是生成唯一性的随机串,将这个随机串与平台对应的订单号关联存储起来,便于微信回调时处理。

  也就是说你的订单信息变化了,传给微信的商户订单号参数out_trade_no也是要跟着改变才对的!

  最终,在这里还是发现了一点问题,如果扫码支付每次都生成不一样的订单号,那假如用户同时打开两个扫码支付页面,这时候两个二维码都是有效可以支付,倘若用户两个二维码都扫码支付了,怎么办?对于这种情况,我们肯定是对应的订单只记录第一次支付成功的流水号。要是真出现这种情况,真能说几率真的很小,用户很傻逼,等他要求退款的时候,我们可以查看微信商户平台的流水记录,若情况属实可以给他线下退款!

  为您推荐

  Laravel使用指定的名称队列

  Laravel框架中提供了便捷的队列服务使用方法,如果使用的是redis、database、sqs等作为异步队列的驱动,都会配置有对应的队列名称,来看下框架提供的默认redis驱动的配置:

  ...Mac下PHP扩展Unable to load dynamic library

  就在昨天,之前一直使用正常的php-fpm,php出现了异常情况:

  PHP Warning: PHP Startup: Unable to load dynamic library '/usr/...PHP处理程序内存溢出问题

  经常我们在处理数据量比较大的时候会遇到“Fatal error:Allowed memory size of 67108864 bytes exhausted (tried to allocate 7...include_once引发的思考

  对于include、include_once、require、require_once的区别,这个可能是PHPer初学者 和 面试者 应该理解和常用的知识点,尽管我之前对它有一些基础的了解,但是在之后...

  关于微信小程序

  微信小程序(wei xin xiao cheng xu),简称小程序,缩写XCX,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。

  全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。小程序、订阅号、服务号、企业号是并行的体系。

  2017年1月9日,张小龙在2017微信公开课Pro上发布的小程序正式上线。

  Q:小程序是什么?它有着什么样的功能?

  A:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。小程序能够实现消息通知、线下扫码、公众号关联等七大功能。其中,通过公众号关联,用户可以实现公众号与小程序之间相互跳转。由于小程序不存在入口。

  Q:小程序可以和现有的App 打通吗?

  A:小程序可以借助微信联合登录,和开发者已有的App 后台的用户数据进行打通,但不会支持小程序和App 直接的跳转。

  Q:微信已经有了订阅号、服务号、企业号,小程序和这三者有什么不同?

  A:小程序、订阅号、服务号、企业号是并行的体系。

  Q:外界有说法称,小程序的推出意味着微信要做一个应用分发市场,是这样吗?

  A:微信推出小程序,并非想要做应用分发市场,而是给一些优质服务提供一个开放的平台。

  2016年1月11日,微信之父张小龙时隔多年的公开亮相,解读了微信的四大价值观。张小龙指出,越来越多产品通过公众号来做,因为这里开发、获取用户和传播成本更低。拆分出来的服务号并没有提供更好的服务,所以微信内部正在研究新的形态,叫「微信小程序」。

  2016年9月21日,微信小程序正式开启内测。在微信生态下,触手可及、用完即走的微信小程序引起广泛关注。腾讯云正式上线微信小程序解决方案,提供小程序在云端服务器的技术方案。

  2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线,用户可以体验到各种各样小程序提供的服务。

  2017年12月28日,微信更新的 6.6.1 版本开放了小游戏,微信启动页面还重点推荐了小游戏「跳一跳」,你可以通过「小程序」找到已经玩过的小游戏。

  以上就是今天微微风小编给大家带来的微信支付订单号重复怎么办?的内容,正在为怎么解决问题发愁的小伙伴看到小编分享的教程后肯定是有久旱逢甘霖的感觉吧。不知道小编的工作是否帮助到了大家,不管怎么说小编都祝大家工作顺利,事业有成!

  推荐阅读:

  四风问题的主要表现是什么?如何表达?

  做微商真的赚钱吗?朋友圈微商揭秘

  微信号设置成什么好听,怎么设置好听的微信名?



发表评论
微微风
昵称

分类导航

微信支付开放平台

精选微信公众号素材

更多

最新最全的微信公众号求关注图片(附下载)

1

微信公众号求关注素材哪里找?

2

微信朋友圈视频软件推荐!怎么制作高大上微信朋友圈视频?

3

2017年微信引导分享动态图精选!

4

最新微信引导关注动图大全!

5

最新公众号阅读原文动态图素材

6

最新微信底部扫码关注模板

7

最新微信公众号求关注图标大全

8

最新微信关注我们动态图素材

9

点击按钮关注公众号,点击按钮关注公众号图片素材

10

最近更新

更多
1微信同程订机票有假吗?可信吗?
2微信钱包与携程订机票步骤是怎样?
3微信飞机票怎么退票?详细流程介绍!
4微信同程订机票靠谱吗?好不好?
5微信订机票要多久?订票流程介绍!
62018微信抢机票靠谱吗?安全吗?
7微信抢机票要等多久?如何抢机票?
8哪个app抢票成功率高?抢票软件介绍!
92018微信抢机票成功率高吗?如何抢票?
10微信支付返现金红包是真的吗?怎么领取?

猜你喜欢

微信支付 | 微信交易单号算法教程
微信支付 | 最火抢票阶段开抢啦!教你最快速的抢回家票!
微信支付 | 微信支付怎样开通小额免密支付?
微信支付 | 怎么打印微信交易明细?
微信支付 | 个人银行卡境外提现额度是多少?
微信支付 | 微信如何设置营业员看到收款?
微信支付 | 微信抢票大概多久抢到?
微信支付 | 微信抢票先付款靠谱吗?
微信支付 | 微信抢票一般会成功吗?
微信支付 | 微信抢票没抢到怎么办?