Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.9k views
in Technique[技术] by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.6k users

...