function getRequestParameters() { $params = $this->getRawParameters(); $fingerprintOrder = array_merge(['customerId', 'shopId', 'password', 'secret', 'language'], $this->fingerprintOrder); $requiredParameters = array_merge(['customerId', 'requestFingerprint', 'password', 'language'], $this->requiredParameters); switch ($this->getParam('fundTransferType')) { case FundTransferType::EXISTINGORDER: $fingerprintOrder[] = 'sourceOrderNumber'; $requiredParameters[] = 'sourceOrderNumber'; break; case FundTransferType::MONETA: $fingerprintOrder[] = 'consumerWalletId'; $requiredParameters[] = 'consumerWalletId'; break; case FundTransferType::SEPA_CT: $fingerprintOrder[] = 'bankAccountOwner'; $fingerprintOrder[] = 'bankBic'; $fingerprintOrder[] = 'bankAccountIban'; $requiredParameters[] = 'bankAccountOwner'; $requiredParameters[] = 'bankBic'; $requiredParameters[] = 'bankAccountIban'; break; case FundTransferType::SKRILLWALLET: $fingerprintOrder[] = 'consumerEmail'; $requiredParameters[] = 'consumerEmail'; $requiredParameters[] = 'customerStatement'; break; } $params['requestFingerprint'] = Fingerprint::fromParameters($params)->setContext($this->getContext())->setFingerprintOrder($fingerprintOrder); $this->assertParametersAreValid($params, $requiredParameters); return $params; }