由於微信支付接口更新,本文檔已過期,請查看新版微信支付教程。地址 http://www.cnblogs.com/txw1958/category/624506.html
本文介紹微信支付中如何獲得告警通知。
一、告警通知
為了及時通知商戶異常,提高商戶在微信平台的服務質量。微信后台會向商戶推送告警通知,包括發貨延遲、調用失敗、通知失敗等情況,通知的地址是商戶在申請支付時填寫的告警通知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."\r\n", FILE_APPEND); 12 }
====================================================================
方倍工作室微信公眾平台賬號關注方法:
1. 微信通訊錄-添加朋友-查找公眾號-搜索“方倍工作室”
2. 微信通訊錄-添加朋友-搜號碼-輸入“pondbaystudio”
3. 使用微信掃描下面的二維碼