网站接入支付宝支付,notify_url.php和return_url.php怎么写?

发布于 2022-09-11 22:55:04 字数 917 浏览 33 评论 0

看了下文档研究了一晚上,大概明白了整个流程。
用户点击付款,请求支付页面,支付成功跳转 return_url.php,这个其实就是支付成功后的提示页面。因为可能随时关闭,所以只用来展示结果页面,不用来更新订单信息。
付款发出请求后,支付宝后台会异步发送一个通知到 notify_url.php,开发者需要在此页面根据状态进行相关的功能开发。

目前我是这么写的


if($_POST['trade_status'] == 'TRADE_FINISHED' || $_POST['trade_status'] == 'TRADE_SUCCESS') {
        $sql = "update vip_order_list set trade_no='$trade_no',trade_status='$trade_status' where out_trade_no='$out_trade_no'";
        $res = mysqli_query($con, $sql);
        //判断该笔订单是否在商户网站中已经做过处理
            //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
            //请务必判断请求时的total_amount与通知时获取的total_fee为一致的
            //如果有做过处理,不执行商户的业务程序
                
        //注意:
        //退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知
    }
  
    echo "success";    //请不要修改或删除

但是测试时,支付成功后,数据库里面的信息并没有更新,感觉压根没走 notify_url.php

所有相请教下有结果支付宝支付的大佬,notify_url 和 return_url 到底应该怎么写

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

喜爱皱眉﹌ 2022-09-18 22:55:04

return_url 表示用户支付成功后,用户跳转回来的地址。

notify_url 表示支付成功后,支付宝网关发送给你的消息的地址。

你可以先用 file_get_contents('php://input') 获取支付宝发送过来的数据存到日志进行排查。

也可以去支付宝开发者平台的的联调找异步回调记录,看发送的数据,自己拿过来模拟,详情咨询支付宝技术客服。

冷情 2022-09-18 22:55:04
  1. notify url获取支付宝传递的数据写入到日志,确定是否有回调这个接口
  2. 如果回调有数据,拿到数据转换成你需要的格式,作为数据demo,继续走你后续的业务流程进行测试
笑,眼淚并存 2022-09-18 22:55:04

notify_url 有没有写正确?

外网能不能访问?

另外,在判断之前,先获取所有的请求数据:

$data=$_POST;
file_put_contents("./ali_notify_data.json",json_encode($data));

不要直接在成功那里去操作数据库。

先确定收到数据了,再看一看数据是否正确。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文