支付结果通用通知获取到了返回的xml,请问在验证签名的时候需要哪些参数参与签名,签名算法文档里没有讲到,谢谢!
有啊,回调有验证签名的,WxpayAPI_php_v3.zip,可以通知成功,不过却只想了8次,没有提前终止,我也不知道呢里错了,感觉不好用,我还是用回了上一个版本,感觉比较清晰,好用。
require('WxPayPubHelper.php');
$notify = new \Notify_pub();
//存储微信的回调
$xml = $GLOBALS['HTTP_RAW_POST_DATA'];
$notify->saveData($xml);
$arr = $notify->data;
if ($notify->checkSign() === FALSE) {
$notify->setReturnParameter("return_code", "FAIL"); //返回状态码
$notify->setReturnParameter("return_msg", "签名失败"); //返回信息
} else {
$notify->setReturnParameter("return_code", "SUCCESS"); //设置返回码
}
$returnXml = $notify->returnXml();//这边主要是就是输出了success,让腾讯服务不再进行通知
//下面就是执行逻辑业务了
if ($notify->checkSign() === TRUE) {
if ($arr["return_code"] == "FAIL") {
} elseif ($arr["result_code"] == "FAIL") {
} else {
//订单成功,执行业务逻辑
//修改订单状态、加入支付流水、交易流水等等
}
}
你下载WxPayPubHelper.php里面就有了,只要你 $returnXml = $notify->returnXml();成功输出success的xml,以及你最后的业务走完,不出现异常,整个业务的8个通知会提前终止,不再发起通知。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
4 回答1.7k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
就是收到的所有参数外加设置好的key拼成url参数签名,因为结果不同,收到的xml结果是不一样的,所以这边最好写个工具类去将收到的xml转成map然后动态遍历处理。