/** * @dataProvider fingerprintProvider * @expectedException WirecardCEE_Stdlib_Exception_InvalidValueException */ public function testGenerateException($values, $fingerprintOrder, $hash) { $fingerprintOrder[] = 'FailKey'; try { WirecardCEE_Stdlib_Fingerprint::generate($values, new WirecardCEE_Stdlib_FingerprintOrder($fingerprintOrder)); } catch (WirecardCEE_Stdlib_Exception_InvalidValueException $e) { $this->assertEquals('Value for key FAILKEY not found in values array.', $e->getMessage()); throw $e; } }
/** * method to calculate fingerprint from given fields. * * @return string - fingerprint hash */ protected function _calculateFingerprint() { $oFingerprintOrder = $this->_fingerprintOrder; if ($this->_fingerprintOrderType == self::$FINGERPRINT_TYPE_DYNAMIC) { // we have to add REQUESTFINGERPRINTORDER to local fingerprintOrder to add correct value to param list $oFingerprintOrder[] = self::REQUEST_FINGERPRINT_ORDER; $this->_requestData[self::REQUEST_FINGERPRINT_ORDER] = (string) $oFingerprintOrder; } // fingerprintFields == requestFields + secret - secret MUST NOT be send as param $fingerprintFields = $this->_requestData; $fingerprintFields[self::SECRET] = $this->_secret; return WirecardCEE_Stdlib_Fingerprint::generate($fingerprintFields, $oFingerprintOrder); }