ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 微信支付笔记 ### 扫码支付 模式二 生成的`code_url` `weixin%3A%2F%2Fwxpay%2Fbizpayurl%3Fpr%3DaPZrlHB` `weixin%3A%2F%2Fwxpay%2Fbizpayurl%3Fpr%3DRAX5La7` `weixin%3A%2F%2Fwxpay%2Fbizpayurl%3Fpr%3DQ9VCMmN` 可见同一订单号,每次生成的 `code_url` 是不同的。 这是未扫描之前。扫描一个在刷新看还会不会生成: 扫描后: `weixin%3A%2F%2Fwxpay%2Fbizpayurl%3Fpr%3D7xYdgWO` `weixin%3A%2F%2Fwxpay%2Fbizpayurl%3Fpr%3Dl1T3xDL` `weixin%3A%2F%2Fwxpay%2Fbizpayurl%3Fpr%3D2CWDrlB` 可见还是会继续不断的生成不同的 `code_url` 。 * * * * * 现在支付一个,看还会不会生成二维码: 支付一个,看还能不能生成二维码,复制一个页面出来 - 找一个二维码扫描支付之后,再次扫描该二维码微信会提示:“订单已经支付,请勿重复支付” - 扫描其他复制的页面的二维码也是一样。 现在再来看,现在还能不能继续生成二维码: - 刷新页面再次生成二维码会提示,“该订单已经支付”,也就是说微信的二维码虽然每次是不同的,但都是关联一个商户订单号,所以微信支付不存在出现重复支付的问题。 * * * * * 还有一种情况我们没试: 一个二维码两个微信去扫描会怎样? 一个订单生成的两个二维码,两个微信去各扫描一个怎么办,一个微信支付了,另一个微信去扫描呢? 如果都打开了支付页面,准备输入密码完成支付呢?各种情况下,会出现重复支付吗? >[danger] 注意:code_url有效期为2小时,过期后扫码不能再发起支付。 **定义:什么叫重复支付?** >[danger] 对于商户(我们的系统)来说,同一个订单号,发起了多笔支付,并且成功了。 **商户订单号** 商户支付的订单号由商户自定义生成,微信支付要求商户订单号保持唯一性(建议根据当前系统时间加随机序列来生成订单号)。重新发起一笔支付要使用原订单号,避免重复支付;已支付过或已调用关单、撤销(请见后文的API列表)的订单号不能重新发起支付。 参见:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2# * * * * * **临时笔记** ~~~ INVALID_REQUEST: 201 商户订单号重复 原来是订单号太短了的原因! 这是什么情况呢? 是生成的二维码超过30分钟吗? ~~~ last update:2017-6-30 23:49:09