本文主要介紹微信支付中如何獲得警告通知,並附上實例代碼以便參考。希望能幫助開發微信支付的夥伴。
一、警告通知
為了及時通知商家異常,提升商家在微信平台的服務品質。微信後台會向商家推播警告通知,包括出貨延遲、呼叫失敗、通知失敗等情況,通知的地址是商家在申請付款時填寫的告警通知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中文網其他相關文章!