欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

微信支付之告警通知实例

程序员文章站 2022-04-23 14:29:56
...
本文主要介绍微信支付中如何获得告警通知,并附有实例代码以便参考。希望能帮助开发微信支付的小伙伴。

一、告警通知

为了及时通知商户异常,提高商户在微信平台的服务质量。微信后台会向商户推送告警通知,包括发货延迟、调用失败、通知失败等情况,通知的地址是商户在申请支付时填写的告警通知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>

二、程序接收

现在就是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微信支付开发之微信退款功能示例

Thinkphp整合微信支付功能详解

关于微信支付开发的10篇课程推荐

以上就是微信支付之告警通知实例的详细内容,更多请关注其它相关文章!