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