/** * @param AccountNumber $accountNumber * @param BankCode $bankCode * @param Sepa $sepa * @throws BankCheckException * @return BankCheckResponse */ public static function request(AccountNumber $accountNumber, BankCode $bankCode, Sepa $sepa) { $client = new Client(); try { $response = $client->get(Ckonto::$url, ['query' => ['key' => Ckonto::getKey(), 'kontonummer' => $accountNumber->getValue(), 'bankleitzahl' => $bankCode->getValue(), 'sepa' => $sepa->isEnabled() ? 1 : 0]]); return new BankCheckResponse($response); } catch (RequestException $e) { throw new BankCheckException('BankCheckRequest error occurred'); } }
/** * @param BankCode $bankCode * @param Location $location * @param Name $name * @param Zip $zip * @param Max $max * @return SearchResponse * @throws SearchException */ public static function request(BankCode $bankCode, Location $location, Name $name, Zip $zip, Max $max) { $client = new Client(); try { $query = ['key' => Ckonto::getKey(), 'search' => 1, 'zip' => $zip->getValue(), 'bankleitzahl' => $bankCode->getValue(), 'name' => $name->getValue(), 'location' => $location->getCity()]; if ($max->getValue() > 0) { $query['max'] = $max->getValue(); } $response = $client->get(Ckonto::$url, ['query' => $query]); return new SearchResponse($response); } catch (RequestException $e) { throw new SearchException('SearchRequest error: ' . $e->getMessage()); } }