關於微信支付通知的回復


微信支付v3版本使用掃碼支付的時候,微信默認使用的   $GLOBALS['HTTP_RAW_POST_DATA'];

來接收微信支付的通知,並對回復處理也使用這種方式來接收返回的xml數據  

在PHP7中  $GLOBALS['HTTP_RAW_POST_DATA']  是接收不到數據的,只能使用 file_get_contents('php://input');來接收返回到xml數據  

通過  $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);  轉換為數組

就可以拿到數據進行下一步的邏輯處理

回復微信已經收到成功通知的時候,只需要引入notify 文件,就可以了,但是demo中WxPay.Api.php 中的notify靜態方法采用的還是 $GLOBALS['HTTP_RAW_POST_DATA'] 接收數據,

所以回復的微信值是不成功,微信還會繼續通知,需要把這個函數也替換掉

這樣微信支付成功的通知就會通知到微信服務器,微信就不會在30分鍾內通知八次了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM