getParams()); $wechatId = $this->getWechatId($config, $rocket->getParams()); if (!$rocket->getPayload()->has('notify_url')) { $wechatId['notify_url'] = $config['notify_url'] ?? ''; } $rocket->mergePayload($wechatId); $rocket->mergePayload([ 'sign' => get_wechat_sign_v2($rocket->getParams(), $rocket->getPayload()->all()), ]); $rocket->setDestination($rocket->getPayload()); $rocket->setDirection(NoHttpRequestDirection::class); return $next($rocket); } protected function getWechatId(array $config, array $params): array { $configKey = $this->getConfigKey($params); return [ 'appid' => $config[$configKey] ?? '', 'mch_id' => $config['mch_id'] ?? '', ]; } protected function getConfigKey(array $params): string { $key = ($params['_type'] ?? 'mp').'_app_id'; if ('app_app_id' === $key) { $key = 'app_id'; } return $key; } }