• 微信支付v2开发(7) 告警通知


    本文介绍微信支付中如何获得告警通知。

    一、告警通知

    为了及时通知商户异常,提高商户在微信平台的服务质量。微信后台会向商户推送告警通知,包括发货延迟、调用失败、通知失败等情况,通知的地址是商户在申请支付时填写的告警通知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获取即可。将详细信息写入数据库或其他存储

     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."
    ", FILE_APPEND);
    12 }

    ====================================================================

    方倍工作室微信公众平台账号关注方法:
    1. 微信通讯录-添加朋友-查找公众号-搜索“方倍工作室”
    2. 微信通讯录-添加朋友-搜号码-输入“pondbaystudio”
    3. 使用微信扫描下面的二维码

     

  • 相关阅读:
    快速进去CF(codeforces)的方法
    【Java】【25】去除空格
    【Java】【24】正则
    【Word&Excel】【4】Excel去除重复的项
    【Word&Excel】【3】Excel替换某一行/列的内容
    【JS】【22】标签的background-image属性
    【JS】【21】换行
    【Spring】【2】使用注解@Scheduled执行定时任务
    【JS】【20】点击页面判断是否安装app并打开,否则跳转下载的方法
    【Java】【23】汉字转拼音
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467479.html
Copyright © 2020-2023  润新知