当前位置:   article > 正文

php对微信支付回调处理的方法(合集)_。php拦截微信h5支付回调参数

。php拦截微信h5支付回调参数

我们已经知道,微信无论是微信内置JSAPI支付、H5外部浏览器支付、扫码支付,都需要通过异步回调接收支付结果。

本文简介如何获取微信支付通知。

仅需要一个在之前设置好的回调地址的方法里写上如下:

  1. //处理微信支付回调
  2.     public function notify(){
  3.     
  4.         $testxml  = file_get_contents("php://input");
  5.         
  6.         $jsonxml = json_encode(simplexml_load_string($testxml, 'SimpleXMLElement', LIBXML_NOCDATA));
  7.         $result = json_decode($jsonxml, true);//转成数组,
  8.         if($result){
  9.             //如果成功返回了
  10.             $out_trade_no = $result['out_trade_no'];
  11.                     if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
  12.       //执行业务逻辑
  13.                     }
  14.         }
  15.     }

对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,
微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。 
(通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒)    
    
结束微信重新通知用代码:echo 'SUCCESS';

附上:
微信支付返回的xml转化为json格式如下:

  1. {
  2.   "appid": "12345",
  3.   "attach": "pay",
  4.   "bank_type": "CFT",
  5.   "cash_fee": "1",
  6.   "fee_type": "CNY",
  7.   "is_subscribe": "Y",
  8.   "mch_id": "12345",
  9.   "nonce_str": "dZYFpaDYRpF5rwhv",
  10.   "openid": "onhwF1hiutUySKCsrV21A6MCtT5Q",
  11.   "out_trade_no": "SH201808222055598628",
  12.   "result_code": "SUCCESS",
  13.   "return_code": "SUCCESS",
  14.   "sign": "5A019F52BEF1C3A98AE0F1FF29D01574",
  15.   "time_end": "20180822205606",
  16.   "total_fee": "1",
  17.   "trade_type": "MWEB",
  18.   "transaction_id": "4200000171201808221550954201"
  19. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/132342
推荐阅读
相关标签
  

闽ICP备14008679号