easywechat 6.x 回调报错,虽然解决了问题,回调业务也正常,但还一直报错。 我只要是不看日志就不会影响我业务,作为一个有责任心的程序员我希望彻底的解决这个问题😂,于是我去easywechat提问, 终于大佬的帮助下回调问题成功的解决了。
easywechat 是php-fig标准。webman是自定义,还是需要一个兼容层去做转换的事情
use EasyWeChat\Pay\Application;
use EasyWeChat\Pay\Message;
use Symfony\Component\HttpFoundation\HeaderBag;
use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
$app = new Application($config);
$symfony_request = new SymfonyRequest( $request->get(),$request->post(),[],$request->cookie(),[],[],$request->rawBody() );
$header = $request->header();
$symfony_request->headers = new HeaderBag( $header );
$app->setRequestFromSymfonyRequest($symfony_request);
$server = $app->getServer();
$server->handlePaid(function (Message $message, \Closure $next) {
// $message->out_trade_no 获取商户订单号
// $message->payer['openid'] 获取支付者 openid
// 注意:推送信息不一定靠谱哈,请务必验证
// 建议是拿订单号调用微信支付查询接口,以查询到的订单状态为准
return $next($message);
});
// 默认返回 ['code' => 'SUCCESS', 'message' => '成功']
$response = $server->serve();
return response($response->getBody(), 200, $response->getHeaders());
在这里特别感谢webman团队和@yzh52521大佬的帮助。👏👏👏
感谢大佬分享,解决了我的问题
专用于webman的支付解决方案
composer require ledc/easywechat