この記事では、WeChat決済でアラーム通知を受け取る方法を紹介します。
1. アラーム通知
WeChatプラットフォーム上で加盟店に異常を速やかに通知し、加盟店のサービス品質を向上させるため。 WeChat バックエンドは、配送の遅延、通話の失敗、通知の失敗などを含むアラーム通知を販売者にプッシュします。通知アドレスは、支払いの申請時に販売者が入力したアラーム通知 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>
2.プログラム受信
WeChat決済開発(1)WeChat決済URLの設定で述べたように、アラーム通知URLが設定されます
http://www.doucube.com/wxpay/alarm.php
ここで、alarm.php 関数の実装です。これは、WeChat 基本インターフェイス 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); }
WeChat 決済の開発とアラーム通知関連の記事については、PHP 中国語 Web サイトに注目してください。