Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
2.1k views
Welcome To Ask or Share your Answers For Others

1 Answer

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...