关于支付宝服务器向网站服务器发起支付回调的思考?

前辈,你好,当用户通过支付宝方式进行支付,到中途放弃支付这笔订单的时候。
支付宝服务器会在一段时间后,对这笔支付宝的订单进行一个事件: 交易关闭。这个时候支付宝会向我们的网站服务器发起一次请求,所以我感觉,需要在public function alipayNotify() 方法中,对支付宝传入过来的 参数进行一次判断,判断 trade_status 是否为 TRADE_SUCCESS,如果不是TRADE_SUCCESS,直接返回 return fail.
file

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
leo
最佳答案

你说得对,这个地方确实遗漏了,课程内容已经做了相应的调整

5年前 评论
讨论数量: 5
leo

你说得对,这个地方确实遗漏了,课程内容已经做了相应的调整

5年前 评论

@leo 请问调整在哪里,后面的章节嘛

5年前 评论

@等车的猪 已经调整了啊

        if(!in_array($data->trade_status, ['TRADE_SUCCESS', 'TRADE_FINISHED'])) {
            return app('alipay')->success();
        }
5年前 评论

后端需要通过 'TRADE_SUCCESS', 'TRADE_FINISHED' 这两状态判断交易支付成功,按理说前端也需要做个类似的判断。可是教程里面的前端代码仅仅通过 app('alipay')->verify() 没有抛出异常就判断支付成功了?为什么前端不需要 TRADE_SUCCESS 这样的判断呢?

会不会是因为:支付宝执行前端回调的时候,支付状态必定是成功的?对于交易关闭或者失败的情况,支付宝仅仅执行后端回调,而不会执行前端回调?

5年前 评论

我看了支付宝文档,是不是交易成功状态才会触发回调通知呢?所以这里没有必要判断交易失败的情况吧?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!