PHP处理微信支付回调

Posted 红岸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP处理微信支付回调相关的知识,希望对你有一定的参考价值。

我们已经知道,微信无论是微信内置JSAPI支付、H5外部浏览器支付、扫码支付,都需要通过异步回调接收支付结果。

本文简介如何获取微信支付通知。

仅需要一个在之前设置好的回调地址的方法里写上如下:

    //处理微信支付回调
    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){
      //执行业务逻辑
                    }
        }
    }    

需要特别注意的地方:微信支付结果通知,会按一定规则重复发送通知,因此执行业务逻辑之前,需要判断是否是重复通知。

如果自己的业务逻辑执行成功后,可以return一个规定格式的XML,来告诉微信你已成功收到通知,并做好了相应处理。(当然不return也行。。。做好重复验证机制就好)

以上是关于PHP处理微信支付回调的主要内容,如果未能解决你的问题,请参考以下文章

lumen PHP7 APP支付 原生微信支付 微信异步回调问题

php7微信支付回调失败

thinkphp微信支付回调是啥意思

Api看看PHP是如何实现微信H5支付的?

微信支付成功后回调没有数据解决方案

微信支付回调问题