人狠话不多 贴代码:

//处理微信支付回调
    public function notify(){
        $testxml  = file_get_contents("php://input");
        $jsonxml = json_encode(simplexml_load_string($testxml, 'SimpleXMLElement', LIBXML_NOCDATA));
        $result = json_decode($jsonxml, true);//转成数组,
        if($result){
            //如果成功返回了
            $out_trade_no = $result['out_trade_no'];
            if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
            //执行业务逻辑改变订单状态等操作
          //查询创建订单表 where("out_trade_no='".$out_trade_no."' and status=1") status为1表示待支付状态 1 待支付
          //查询出来有该订单 就改变支付状态 status=2 2表示支付成功
 
            }
        }
    }

代码没有问题的的话请检查以下问题:
1、检查回调url是否正确,回调url是不能带参数的,请注意。
2、是否有按照文档要求正确返回参数<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>给到微信。
3、是否开启了防火墙把微信的通知给屏蔽了。
4、是否响应超时(服务器性能)。
5、是否正确使用post请求
6、回调url修改成http协议试试,https可能认证不了证书。

最后修改:2023 年 07 月 25 日
您的赞赏是对我最大的支持。