微信支付开发告警通知实例

5年以前  |  阅读数:837 次  |  编程语言:PHP 

一、告警通知

为了及时通知商户异常,提高商户在微信平台的服务质量。微信后台会向商户推送告警通知,包括发货延迟、调用失败、通知失败等情况,通知的地址是商户在申请支付时填写的告警通知URL,在"公众平台-服务-服务中心-商户功能-商户基本资料-告警通知URL"可以查看。商户接收到告警通知后需要尽快修复其中提到的问题,以免影响线上经营。

告警通知URL接收的postData中还将含xml数据,格式如下:


    <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获取即可。将详细信息写入数据库或其他存储


    $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);
    }

以上就是对微信支付开发告警通知的资料整理,对微信支付开发的朋友可以参考下,谢谢支持!

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例