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