收藏
回答

微信h5支付回调,无法获取回调结果?

tp框架 可以正常支付,使用file_get_contents('php://input');来获取回调参数为空
最后一次编辑于  2020-08-03
回答关注问题邀请回答
收藏

2 个回答

  • Admin ²º²³
    Admin ²º²³
    2020-08-03
    //处理微信支付回调
        public function notify(){
            $testxml  = file_get_contents("php://input");
            $myfile = fopen("log.txt", "a+") or die("Unable to open file!");
            $txt = "admin2020_".date('Y-m-d H:i:s') . "^_^" . rand(100, 1000) . "\r\n";
            fwrite($myfile, $testxml. "\r\n");
            fclose($myfile);
            $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表示支付成功
     
                }
            }
        }
    


    如果写日志文件权限配置正确而没有日志文件,说明回调没有执行。

    检查相关逻辑

    2020-08-03
    有用 2
    回复 8
    • 涛
      2020-08-03
      现在lon日志中打印的有回调的xml
      2020-08-03
      1
      回复
    • Admin ²º²³
      Admin ²º²³
      2020-08-03回复
      那就试试上面的解析xml代码,正常都能解析到参数的。
      2020-08-03
      2
      回复
    • 涛
      2020-08-03
      可是我现在回调打印一次打印了7条 大佬这是怎么回事
      2020-08-03
      2
      回复
    • Admin ²º²³
      Admin ²º²³
      2020-08-03回复
      你看下回调的文档,里面有写,商户方如果在回调里面没有返回正确的回调返回值,腾讯方会择机重试回调,你看下是不是因为这个原因多次执行了回调。
      正确方法在处理完成后,给腾讯方返回一个正确的返回值。
      2020-08-03
      1
      回复
    • 涛
      2020-08-03
      2020-08-03
      2
      回复
    查看更多(3)
  • 微信支付技术助手8
    微信支付技术助手8
    2020-08-03

    你好,麻烦提供具体微信单号。这边帮你查一下。

    2020-08-03
    有用 1
    回复 5
    • 涛
      2020-08-03
      4200000587202008035491936441
      2020-08-03
      回复
    • 涛
      2020-08-03
      为啥我这边打印日微信给我返还有好几条
      2020-08-03
      回复
    • 涛
      2020-08-03
      不是每次只返回一条吗
      2020-08-03
      回复
    • 微信支付技术助手8
      微信支付技术助手8
      2020-08-03回复
      经查询,提供的微信订单回调正常返回。具体数据已通过私信方式发送。
      2020-08-03
      回复
    • Care
      Care
      2021-08-13
      h5支付回调接收报错是什么情况?simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found
      2021-08-13
      1
      回复
登录 后发表内容
问题标签