php发送红包如果验证是否发送成功

现在有个发红包业务,用户输入总金额,红包数量后,点击发送,调用微信支付,支付成功,则发送成功。
现在打算写三个function ,第一个,创建红包记录,支付状态为未支付,返回5个参数给前端。第二个,回调,收到正确回调后,将红包支付状态更改为已支付,第三个,叫前端带红包id过来,我先查这个红包id是否为已支付,是则返回发送成功,不是则请求查询订单接口,如果查不到,就返回叫前端继续轮询,查到就更改红包状态,并且返回发送成功。
但问题是,比如定义前端轮询5次,如果5次都失败了,就返回发送失败,但是微信那边刚刚好在第6次才会查到支付成功,我却说他发送失败重新发送,那不就不行了吗。
针对这个业务,比较好的方案是怎样的呢?

阅读 1.8k
1 个回答

用户支付过后会有一个支付成功的提示页面,这个代表支付流程已经成功结束了,订单肯定是支付成功的,这个时候你去主动查询订单的话,返回的trande_state只会是“SUCCESS—支付成功”,不用担心有延迟。
如果支付失败的话,用户那里会弹出对应的提示,后续无论再查询几次都不会是“支付成功”

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题