ThinkPHP 5 处理微信支付异步通知
· 技术笔记 · 0 条评论

微信支付回调要求返回 XML,还要验签、处理重复通知。这是 TP5 下的一个最小实现,能用,但幂等要自己补。

 1 public function wx_notify(){
 2         $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
 3         libxml_disable_entity_loader(true);
 4         $xml = json_decode(json_encode(simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA)), true);        
 5         if($xml['out_trade_no']){
 6             $rs = Db::name('order_jiaoche')->where(array('order_sn'=>$xml['out_trade_no']))->find();
 7             if($rs){
 8                 Db::name('order_jiaoche')->where(array('order_sn'=>$xml['out_trade_no']))->update(array('ispay'=>1));
 9                 echo 'success';
10             }
11         }        
12          /*
13          调试所用 
14          $fp = fopen('notify.txt','a+'); 
15          fwrite($fp,"\n _______GET________");   
16          fwrite($fp,var_export($xml,true));     
17          fwrite($fp,"\n ________postObj________");
18          fwrite($fp,var_export($xml,true));
19          fwrite($fp,'【 Now 】:  '. date("Y-m-d H:i:s") ."\n");
20          fclose($fp); 
21          print_r($xml);
22          */
23     }

需要有人帮你把网站弄好?

上面这些问题我基本都修过。把报错截图和现象说清楚,我 30 分钟内告诉你:能不能修、多少钱、多久交付。

看服务与报价 复制微信号 发邮件

不接资源站、私服、外挂类项目。先说清需求,我判断能不能做之后再报价。

评论
微信 邮件 报价