$rocket]); $this->formatPayload($rocket); $params = $rocket->getParams(); $signature = $params['signature'] ?? false; if (!$signature) { throw new InvalidResponseException(Exception::INVALID_RESPONSE_SIGN, '', $params); } verify_unipay_sign($params, $rocket->getPayload()->sortKeys()->toString(), $signature); $rocket->setDirection(NoHttpRequestDirection::class) ->setDestination($rocket->getPayload()) ; Logger::info('[unipay][CallbackPlugin] 插件装载完毕', ['rocket' => $rocket]); return $next($rocket); } protected function formatPayload(Rocket $rocket): void { $payload = (new Collection($rocket->getParams())) ->filter(fn ($v, $k) => 'signature' != $k && !Str::startsWith($k, '_')) ; $rocket->setPayload($payload); } }