由于微信支付接口更新,本文档已过期,请查看新版微信支付教程。地址 https://www.fangbei.org/tutorials/624506.html
本文介绍微信支付中如何获得告警通知。
一、告警通知
为了及时通知商户异常,提高商户在微信平台的服务质量。微信后台会向商户推送告警通知,包括发货延迟、调用失败、通知失败等情况,通知的地址是商户在申请支付时填写的告警通知URL,在“公众平台-服务-服务中心-商户功能-商户基本资料-告警通知URL”可以查看。商户接收到告警通知后需要尽快修复其中提到的问题,以免影响线上经营。
告警通知URL接收的postData中还将含xml数据,格式如下:
二、程序接收
在微信支付开发(1) 微信支付URL配置中已提到,设置了告警通知url为
现在就是alarm.php函数的实现了,仿照微信基础接口SDK获取即可。将详细信息写入数据库或其他存储
====================================================================
1001
1393860740
https://www.fangbei.org/wxpay/alarm.php
1 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
2 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
3 logger("错误类型:".$postObj->ErrorType."错识描述:".$postObj->Description."错误详情:".$postObj->AlarmContent);
4
5 //日志记录
6 function logger($log_content)
7 {
8 $max_size = 100000;
9 $log_filename = "log.xml";
10 if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}
11 file_put_contents($log_filename, date('H:i:s')." ".$log_content."\r\n", FILE_APPEND);
12 }