get('code'); $curl = $curlUtil->getClient([ 'Content-Type' => 'application/x-www-form-urlencoded', ]); $curlRequest = $curl->request('POST', 'https://app.everifin.com/auth/realms/everifin_app/protocol/openid-connect/token', [ 'body' => [ 'grant_type' => 'authorization_code', 'client_id' => $everifinApi->getClientId(), 'client_secret' => $everifinApi->getClientSecret(), 'code' => $code, 'redirect_uri' => path('kupshop_bankautopayment_admin_everifin_handleoauth', referenceType: Router::ABSOLUTE_URL), ], ]); $curlResponse = $curlRequest->toArray(); $accountsResponse = $curlUtil->getClient(['Authorization' => "Bearer {$curlResponse['access_token']}"]) ->request('GET', self::BANK_ACCOUNT_URL); $accounts = []; foreach ($accountsResponse->toArray()['data'] as $account) { $accounts[] = $account['accountName']; } $curlResponse['accounts'] = $accounts; $this->everifinApi->saveSettings($curlResponse, true); return new RedirectResponse('/admin/launch.php?s=settings.php&acn=edit&flap=flapDeliveryPayment'); } #[Required] public function setEverifinApi(EverifinApi $everifinApi): void { $this->everifinApi = $everifinApi; } }