支付模块(最新版本)报错-微信返回状态码异常,请检查参数是否错误问答社区支付模块
支付模块,配置好后,一直返回微信返回状态码异常,请检查参数是否错误
ResponsePlugin /**
* @throws InvalidResponseException
*/
protected function validateResponse(Rocket rocket): void
{
response = $rocket->getDestinationOrigin();
echo json_encode($response); // 这里打印是{} 空对象
if ($response instanceof ResponseInterface
&& ($response->getStatusCode() < 200 || $response->getStatusCode() >= 300)) {
throw new InvalidResponseException(Exception::RESPONSE_CODE_WRONG, '微信返回状态码异常,请检查参数是否错误', $rocket->getDestination());
}
}
这是我配置的问题吗?我打印配置所有的参数是都在的,并且服务器也是真实有这些文件的
请先登录
你是把
json_encode
当成什么一切皆可转 json 的神奇函数了吗?下面写了
$response instanceof ResponseInterface
那你就看看
ResponseInterface
类有什么方法或属性,能够获取到更多信息,比如$response->getStatusCode()
$response->getContent()
,$response->toArray()
等嗯,一步步打印测试调试好了,但是我发现个小问题,配置文件里面我是小程序获取的openid,走转款接口的时候,报错提示openid不合法(此时没有配置公众号的appid); 我把小程序的appid,也写入到公众号的appid里面,再次测试就可以了,我怀疑是默认使用了公众号的appid,没有判断公众号appid为空时,顺延使用小程序的appid验证
你的微信支付平台公钥证书配置错了
参考 https://uni.buildadmin.com/ask/info/1020
感谢,已经解决了, $response instanceof ResponseInterface类反馈的太不细致了,逐步打印,测试,发现是v3秘钥不对,和appid设置的有点问题
😇
- 1
前往