本文主要介紹支付中如何獲得警示通知,並附有執行個體代碼以便參考。希望能協助開發支付的小夥伴。
一、警示通知
為了及時通知商戶異常,提高商戶在平台的服務品質。後台會向商戶推送警示通知,包括髮貨延遲、調用失敗、通知失敗等情況,通知的地址是商戶在申請支付時填寫的警示通知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篇課程推薦