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;
 }