在微信支付提供的phpJDK以及使用overtrue/wechat包處理微信回調(diào)的都必須先加載商戶號以及APP_id等配置
所以如果我們有多個微信支付商戶,在處理之前無法先加載對應的配置,便無法正確處理是哪個商戶號的回調(diào)訂單
處理這種情況的也很簡單,只需要想獲取微信支付回調(diào)的信息,讀取其中的商戶訂單號,查找相應的支付商戶配置后再做操作。
1.獲取微信回調(diào)信息代碼:
functiongetNotifyData()
{
? ? $xml=$GLOBALS['HTTP_RAW_POST_DATA'];
? ? if(!$xml){
? ? throw new\Exception("xml數(shù)據(jù)異常!");
}
//將XML轉(zhuǎn)為array
//禁止引用外部xml實體
? ? libxml_disable_entity_loader(true);
? ? $res = json_decode(json_encode(simplexml_load_string($xml,'SimpleXMLElement',LIBXML_NOCDATA)),true);
? ? return $res;
}
以上代碼使用微信提供的SDK中獲得的,很簡單,我只是記錄下一個解決問題的思路。不知道有誰也跟我一下碰到過。