微信支付出现问题 急急

2017-10-23 16:18:04 +08:00
 lelouchyang

公司线上的商城 半个月 4000 笔订单 有接近 50 笔 客户付款了但是未显示付款成功 微信商户号确实有钱进去。回调业务逻辑很简单啊。

3841 次点击
所在节点    PHP
20 条回复
lelouchyang
2017-10-23 16:18:43 +08:00
虽然写 cron 可以把所有未支付订单 手动改了 但是 这不是解决问题方案啊
cloudzhou
2017-10-23 16:21:33 +08:00
调用微信同步接口,确认订单是否支付,更改状态
Light3
2017-10-23 16:21:41 +08:00
= = 你没有日志嘛 就是走接口的时候 把参数记录一下 写个日志 方便排查 具体原因..
如果没有 现在写 然后自己搞个测试商品 试试不就完了吗
lelouchyang
2017-10-23 16:23:27 +08:00
@cloudzhou 不是同步不同步的问题是 问题可以各种姿势解决 但是 不走回调 确实很蛋疼
lelouchyang
2017-10-23 16:24:25 +08:00
@Light3 测试了 n 次 都暴力测试过 回调都没问题。但是线下 1000 人同时付款 就出现这种问题 服务器是 16 核 32g 内存 带宽 50m
shmilyin
2017-10-23 16:25:04 +08:00
不走回调肯定是你这边的问题,写日志 调试回调的逻辑
lelouchyang
2017-10-23 16:25:45 +08:00
目前使用微信的查询接口 解决了这个 bug 但是 以前用的飞起的微信回调 notify 怎么会出现这种问题。
lelouchyang
2017-10-23 16:26:26 +08:00
@shmilyin 不是不走回调。是 100 笔订单有一笔不走回调 ,我自己测试的时候 连续下了 20 笔订单 都能回调成功
m2276699
2017-10-23 16:27:05 +08:00
回调接口压测还原问题
lelouchyang
2017-10-23 16:27:57 +08:00
@m2276699 服务器很给力啊。。。
ma125125t
2017-10-23 16:31:36 +08:00
微信有主动查询接口啊。
flyingfz
2017-10-23 16:32:58 +08:00
在 获取预支付 id 时, notifyUrl 的值 , 类似: https://some_domain/pay_notify/your_order_id
然后你的这个 回调接口 , 被微信调用时, 会有日志(nginx 等), 根据这个日志, 看看 回调请求, 是否真的到了你的服务器.
lelouchyang
2017-10-23 16:33:21 +08:00
@ma125125t 我知道啊 但是为什么 异步回调 会 1%概率失败呢
lizon
2017-10-23 16:34:09 +08:00
线上日志,回调的时候打印订单号
你先把问题定位,到底是回调的问题还是你本身业务系统的问题
m2276699
2017-10-23 16:42:55 +08:00
@lelouchyang 压测不限于检测服务器性能,并发问题、数据库是不是有问题,好多可能啊。我相信微信是会把请求发出去的,甚至发了多次,那么问题就是你的代码没有处理甚至没有进入你的代码。所以我觉得压测可以还原一下问题
2ME
2017-10-23 16:59:59 +08:00
应该是你回调的方法里和 redis 或者数据库交互有问题吧 比如事务并发过多丢失修改之类的?

以上是不负责任的猜测 .. 回调方法里写日志看看吧
xgfan
2017-10-23 17:15:22 +08:00
微信支付验收案例里就有『支付成功,但没有回调』,
所以说没有收到回调在开发的时候就应该考虑进去。
lukunlin
2017-10-23 20:24:53 +08:00
回调处理再做看看吧~
webfrogs
2017-10-24 11:18:56 +08:00
不能完全信任回调。主动查询状态作为兜底方案是肯定要有的,尤其是做支付功能,更应该谨慎。
lelouchyang
2017-10-25 16:11:22 +08:00
各位老哥 问题找到了 我之前的订单生产逻辑是 年月日加上用户 id 加上随机数 正好几个人的随机数加上用户 id 而且还是统一时间注册的。。导致重复了订单。丢人了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/399958

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX