/**
  *
  */
 public function testFromJsonHppRequestUnknownData()
 {
     $path = SampleJsonData::UNKNOWN_DATA_HPP_REQUEST_JSON_PATH;
     $prefix = __DIR__ . '/../../../resources';
     $json = file_get_contents($prefix . $path);
     $hppRequestExpected = SampleJsonData::generateValidHppRequest(false);
     $hppRequestConverted = JsonUtils::fromJsonHppRequest($json);
     SampleJsonData::checkValidHppRequest($hppRequestExpected, $hppRequestConverted, true, $this);
     SampleJsonData::checkValidHppRequestSupplementaryData($hppRequestConverted, $this);
 }
 public function testHash()
 {
     $hppRequest = SampleJsonData::generateValidHppRequest(false);
     $hppRequest->setTimeStamp(self::TIMESTAMP);
     $hppRequest->setMerchantId(self::MERCHANT_ID);
     $hppRequest->setOrderId(self::ORDER_ID);
     $hppRequest->setAmount(self::AMOUNT);
     $hppRequest->setCurrency(self::CURRENCY);
     $expectedHash = "e96eed4869a6d682e8fdbb88703ed81faa58f4df";
     $actualHash = $hppRequest->hash("mysecret")->getHash();
     $this->assertEquals($expectedHash, $actualHash, "Card storage hash does not match expected.");
 }
 public function testHash()
 {
     $hppRequest = SampleJsonData::generateValidHppRequest(false);
     $hppRequest->setTimeStamp(self::TIMESTAMP);
     $hppRequest->setMerchantId(self::MERCHANT_ID);
     $hppRequest->setOrderId(self::ORDER_ID);
     $hppRequest->setAmount(self::AMOUNT);
     $hppRequest->setCurrency(self::CURRENCY);
     $expectedHash = "cc72c08e529b3bc153481eda9533b815cef29de3";
     $actualHash = $hppRequest->hash("mysecret")->getHash();
     $this->assertEquals($expectedHash, $actualHash, "Card storage hash does not match expected.");
 }
 /**
  * Test HPP Version
  */
 public function testHppSelectStoredCard()
 {
     $hppRequest = SampleJsonData::generateValidHppRequest(false);
     $hppRequest->generateDefaults(SampleJsonData::SECRET);
     $hppRequest->setHppSelectStoredCard("payerref123");
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $hppRequest->setHppSelectStoredCard(str_repeat('a', 50));
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $hppRequest->setHppSelectStoredCard(str_repeat('a', 51));
     try {
         ValidationUtils::validate($hppRequest);
         $this->fail("This HppRequest should have validation errors.");
     } catch (RealexValidationException $e) {
         $validationMessages = $e->getValidationMessages();
         $this->assertEquals(ValidationMessages::hppRequest_hppSelectStoredCard_size, $validationMessages[0]);
     }
     $hppRequest->setHppSelectStoredCard("!!!");
     try {
         ValidationUtils::validate($hppRequest);
         $this->fail("This HppRequest should have validation errors.");
     } catch (RealexValidationException $e) {
         $validationMessages = $e->getValidationMessages();
         $this->assertEquals(ValidationMessages::hppRequest_hppSelectStoredCard_pattern, $validationMessages[0]);
     }
 }
 /**
  * Test supplementary data second field
  */
 public function testCardSupplementaryData2()
 {
     $hppRequest = SampleJsonData::generateValidHppRequest(false);
     $hppRequest->generateDefaults(SampleJsonData::SECRET);
     $supplementaryData1 = "";
     $supplementaryData2 = "";
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $supplementaryData2;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should have no validation errors.");
     }
     $supplementaryData1 = "";
     $supplementaryData2 = " azAZ09'\",+“”._- & ";
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $supplementaryData2;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $supplementaryData1 = "";
     $supplementaryData2 = "\\/@!?%()*:£\$&€#[]|";
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $supplementaryData2;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $supplementaryData1 = "";
     $supplementaryData2 = "=ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ";
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $supplementaryData2;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $supplementaryData1 = "";
     $supplementaryData2 = "ÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæ";
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $supplementaryData2;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $supplementaryData1 = "";
     $supplementaryData2 = "çèéêëìíîïðñòóôõö÷ø¤ù";
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $supplementaryData2;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $supplementaryData1 = "";
     $supplementaryData2 = "úûüýþÿŒŽšœžŸ¥";
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $supplementaryData2;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $supplementaryData1 = "";
     $charsAtMax = str_repeat("1", 255);
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $charsAtMax;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
     } catch (RealexValidationException $e) {
         $this->fail("This HppRequest should not have validation errors.");
     }
     $supplementaryData1 = "";
     $charsOverMax = str_repeat("a", 256);
     $supplementaryData = array();
     $supplementaryData[] = $supplementaryData1;
     $supplementaryData[] = $charsOverMax;
     $hppRequest->setSupplementaryData($supplementaryData);
     try {
         ValidationUtils::validate($hppRequest);
         $this->fail("This HppRequest should have validation errors.");
     } catch (RealexValidationException $e) {
         $validationMessages = $e->getValidationMessages();
         $this->assertEquals(ValidationMessages::hppRequest_supplementary_data_size, $validationMessages[0]);
     }
 }