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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

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

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

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

6年前 评论

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

6年前 评论

@等车的猪 已经调整了啊

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

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

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

6年前 评论

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

5年前 评论

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