Closed wksnow closed 1 year ago
v3.0.0
微信支付回调提示Provider response Error,报错的文件是Functions.php。之前用 tp 调用正常,现在改成了 easyswoole之后报错,应该不会是配置的问题。
try{ $config = WxPayExtend::getInstance()->config(); Pay::config($config); $result = Pay::wechat()->callback(ServerRequestInterface::class); }catch (\Throwable $e){
// var_dump($e->getMessage(),$e->getLine(),$e->getFile()); Logger::getInstance()->info("回调错误,原因是>>>{$e->getMessage()},文件是:{$e->getFile()},对应的行数是{$e->getLine()}","pay"); return; }
yansongda/pay/src/Functions.php暂时定位是这个地方出的错。没想到是什么原因导致的。 function decrypt_wechat_resource(array $resource, array $params): array { $ciphertext = base64_decode($resource['ciphertext'] ?? ''); $secret = get_wechat_config($params)->get('mch_secret_key');
if (strlen($ciphertext) <= Wechat::AUTH_TAG_LENGTH_BYTE) { throw new InvalidResponseException(Exception::INVALID_CIPHERTEXT_PARAMS); }
}
涉及到 异步通知、同步通知 的问题,请贴出来
麻烦大佬帮忙分析下,是我哪里操作的不对。
看下文档吧,ServerRequestInterface::class 传参有问题
包版本号
v3.0.0
问题描述
微信支付回调提示Provider response Error,报错的文件是Functions.php。之前用 tp 调用正常,现在改成了 easyswoole之后报错,应该不会是配置的问题。
你的代码
// var_dump($e->getMessage(),$e->getLine(),$e->getFile()); Logger::getInstance()->info("回调错误,原因是>>>{$e->getMessage()},文件是:{$e->getFile()},对应的行数是{$e->getLine()}","pay"); return; }
报错详情
yansongda/pay/src/Functions.php暂时定位是这个地方出的错。没想到是什么原因导致的。 function decrypt_wechat_resource(array $resource, array $params): array { $ciphertext = base64_decode($resource['ciphertext'] ?? ''); $secret = get_wechat_config($params)->get('mch_secret_key');
}
sdk 日志
nginx/apache 日志