php服务端APP微信支付回调验证签名改变订单支付状态
2018-08-04 12:05
585 查看
[code]<?php //处理微信支付回调 $time = time(); $testxml = file_get_contents("php://input"); //接收微信发送的支付成功信息 //file_put_contents('D:\webroot\xianyijie\JK\weixin.txt',$testxml); $result = XMLDataParse($testxml); file_put_contents("D:\webroot\xianyijie\JK\weixin.txt", json_encode($result)."\r\n", FILE_APPEND); //将信息写入txt文件做支付备份 $sign_return = $result['sign']; //如果成功返回了 if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){ $key = "商户密钥key"; unset($result['sign']); $sign = appgetSign($result,$key); if($sign == $sign_return) //验证签名 { //这里是验签成功后的sql操作 //如果操作成功 return "<xml><return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml>"; //如果操作失败 return "fail"; } } /* * 格式化参数格式化成url参数 生成签名sign */ function appgetSign($Obj,$appwxpay_key) { foreach ($Obj as $k => $v) { $Parameters[$k] = $v; } //签名步骤一:按字典序排序参数 ksort($Parameters); $String = formatBizQueryParaMap($Parameters, false); //echo '【string1】'.$String.'</br>'; //签名步骤二:在string后加入KEY if($appwxpay_key){ $String = $String."&key=".$appwxpay_key; } //echo "【string2】".$String."</br>"; //签名步骤三:MD5加密 $String = md5($String); //echo "【string3】 ".$String."</br>"; //签名步骤四:所有字符转为大写 $result_ = strtoupper($String); //echo "【result】 ".$result_."</br>"; return $result_; } //xml格式数据解析函数 function XMLDataParse($data){ $xml = simplexml_load_string($data,NULL,LIBXML_NOCDATA); $array=json_decode(json_encode($xml),true); return $array; } ?>
版权声明:本文为司江龙原创文章,未经允许不得转载。https://mp.csdn.net/postedit/81409478
阅读更多相关文章推荐
- 微信小程序—关于支付回调URL(商城出现订单状态付款完成后,不改变的情况)
- google支付服务端订单验证PHP代码
- PHP服务端集成微信APP支付以及回调
- PHP服务端集成支付宝APP支付以及回调
- iOS app集成支付宝支付流程及后台php订单签名处理
- 支付宝支付APP服务端PHP
- PHP微信APP支付,下单,处理异步回调
- PHP服务端支付宝app支付遇到的坑
- APP服务端微信支付(PHP服务端)
- 微信支付统一下单及调起支付接口的php接口实现 (可以用于app集成)
- PHP微信支付开发之扫描支付(模式二)后如何回调
- PHP:微信小程序调用【统一下单】【微信支付】【支付回调】API;XML转Array,Array转XML方法(通用)
- 微信支付 java 服务端demo (v3版本app支付 springMVC框架中)
- lumen PHP7 APP支付 原生微信支付 微信异步回调问题
- 支付宝APP支付-php后台签名以及验签
- 在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现Web端直传,服务端签名直传并设置上传回调的实现流程
- ##iOS中的微信支付 支付验证签名失败
- APP调用微信支付接口-服务端二次签名
- 关于微信APP支付,提示支付验证签名失败
- 微信支付(网站支付,APP支付,扫码支付)并充值钻石 Java服务端代码 xml解析 map排序