httpConfig = $commonConfig; $this->init(); } /** * 初始化 * @author 等风来 * @email 136327134@qq.com * @date 2023/9/18 */ protected function init() { if ($this->init) { return; } $this->init = true; $this->appId = $this->httpConfig->getConfig(DefaultConfig::OFFICIAL_APPID, ''); $this->mchId = $this->httpConfig->getConfig(DefaultConfig::PAY_MCHID, ''); $this->routineMchId = $this->httpConfig->getConfig('pay.routine_mchid', ''); $this->key = $this->httpConfig->getConfig('pay.key', ''); $certPath = env('RECEPTACLE_ENABLE', false) ? env('RECEPTACLE_PAYCERT', '') : $this->httpConfig->getConfig('pay.client_cert', ''); $keyPath = env('RECEPTACLE_ENABLE', false) ? env('RECEPTACLE_PAYKEY', '') : $this->httpConfig->getConfig('pay.client_key', ''); $this->certPath = str_replace('//', '/', public_path() . $certPath); $this->keyPath = str_replace('//', '/', public_path() . $keyPath); $this->notifyUrl = trim($this->httpConfig->getConfig(DefaultConfig::COMMENT_URL)) . DefaultConfig::value('pay.notifyUrl'); $this->refundUrl = trim($this->httpConfig->getConfig(DefaultConfig::COMMENT_URL)) . DefaultConfig::value('pay.refundUrl'); } /** * 获取配置 * @param string $key * @param null $default * @return mixed */ public function getConfig(string $key, $default = null) { return $this->httpConfig->getConfig($key, $default); } /** * 全部配置 * @return array */ #[Pure] #[ArrayShape([ 'app_id' => "string", 'mch_id' => "string", 'v2_secret_key' => "string", 'private_key' => "string", 'certificate' => "string", 'notify_url' => "string", 'log' => "array", 'http' => "bool[]" ])] public function all(): array { return [ 'app_id' => $this->appId, 'mch_id' => $this->mchId, 'v2_secret_key' => $this->key, 'private_key' => $this->keyPath, 'certificate' => $this->certPath, 'notify_url' => $this->notifyUrl, 'http' => $this->httpConfig->all() ]; } }