支付模块(最新版本)报错-微信返回状态码异常,请检查参数是否错误
问答社区
支付模块



支付模块,配置好后,一直返回微信返回状态码异常,请检查参数是否错误
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());
    }
}
这是我配置的问题吗?我打印配置所有的参数是都在的,并且服务器也是真实有这些文件的
3个回答默认排序 投票数排序
YANG001
YANG001
这家伙很懒,什么也没写~
1周前
php 复制代码
echo json_encode($response); // 这里打印是{} 空对象

你是把 json_encode 当成什么一切皆可转 json 的神奇函数了吗?

下面写了 $response instanceof ResponseInterface

那你就看看 ResponseInterface 类有什么方法或属性,能够获取到更多信息,比如$response->getStatusCode() $response->getContent()$response->toArray()

彭飞
彭飞回复YANG001
这家伙很懒,什么也没写~
1周前

嗯,一步步打印测试调试好了,但是我发现个小问题,配置文件里面我是小程序获取的openid,走转款接口的时候,报错提示openid不合法(此时没有配置公众号的appid); 我把小程序的appid,也写入到公众号的appid里面,再次测试就可以了,我怀疑是默认使用了公众号的appid,没有判断公众号appid为空时,顺延使用小程序的appid验证

小猪
小猪
这家伙很懒,什么也没写~
1周前

你的微信支付平台公钥证书配置错了
参考 https://uni.buildadmin.com/ask/info/1020

彭飞
彭飞回复小猪
这家伙很懒,什么也没写~
1周前

感谢,已经解决了, $response instanceof ResponseInterface类反馈的太不细致了,逐步打印,测试,发现是v3秘钥不对,和appid设置的有点问题

如意
如意
这家伙很懒,什么也没写~
1周前

😇

请先登录
0
1
0
5