php 企业微信指令回调借款_php处理微信支付回调改变订单支付状态的代码

本篇文章给大家带来的内容是关于php服务端APP微信支付回调验证签名改变订单支付状态,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。<?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 "

";

//如果操作失败

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.'';

//签名步骤二:在string后加入KEY

if($appwxpay_key){

$String = $String."&key=".$appwxpay_key;

}

//echo "【string2】".$String."";

//签名步骤三:MD5加密

$String = md5($String);

//echo "【string3】 ".$String."";

//签名步骤四:所有字符转为大写

$result_ = strtoupper($String);

//echo "【result】 ".$result_."";

return $result_;

}

//xml格式数据解析函数

function XMLDataParse($data){

$xml = simplexml_load_string($data,NULL,LIBXML_NOCDATA);

$array=json_decode(json_encode($xml),true);

return $array;

}

?>

相关文章推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值