本篇文章给大家带来的内容是关于php对微信支付的回调异步处理过程,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
微信支付回调处理分为
1.同步
2.异步
这里微信官方推荐使用 第二种
php对微信回调异步处理//获取返回的xml
$testxml = file_get_contents("php://input");
//将xml转化为json格式
$jsonxml = json_encode(simplexml_load_string($testxml, 'SimpleXMLElement', LIBXML_NOCDATA));
//转成数组
$result = json_decode($jsonxml, true);
if($result){
//如果成功返回了
if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
//进行改变订单状态等操作。。。。
}
}
本次微信支付返回的xml转化为json格式如下:{
"appid": "12345",
"attach": "pay",
"bank_type": "CFT",
"cash_fee": "1",
"fee_type": "CNY",
"is_subscribe": "Y",
"mch_id": "12345",
"nonce_str": "dZYFpaDYRpF5rwhv",
"openid": "onhwF1hiutUySKCsrV21A6MCtT5Q",
"out_trade_no": "SH201808222055598628",
"result_code": "SUCCESS",
"return_code": "SUCCESS",
"sign": "5A019F52BEF1C3A98AE0F1FF29D01574",
"time_end": "20180822205606",
"total_fee": "1",
"trade_type": "MWEB",
"transaction_id": "4200000171201808221550954201"
}
其中"result_code": "SUCCESS",
"return_code": "SUCCESS",
是判断用户是否已经支付的依据
相关推荐: