/**
  *
  * Receives a domain object and generates a Json string
  *
  * @param HppResponse $hppResponse
  *
  * @return string
  */
 public function WriteValueAsString($hppResponse)
 {
     $prop = array('MERCHANT_ID' => $hppResponse->getMerchantId(), 'ACCOUNT' => $hppResponse->getAccount(), 'ORDER_ID' => $hppResponse->getOrderId(), 'AMOUNT' => $hppResponse->getAmount(), 'AUTHCODE' => $hppResponse->getAuthCode(), 'TIMESTAMP' => $hppResponse->getTimeStamp(), 'SHA1HASH' => $hppResponse->getHash(), 'RESULT' => $hppResponse->getResult(), 'MESSAGE' => $hppResponse->getMessage(), 'CVNRESULT' => $hppResponse->getCvnResult(), 'PASREF' => $hppResponse->getPasRef(), 'BATCHID' => $hppResponse->getBatchId(), 'ECI' => $hppResponse->getEci(), 'CAVV' => $hppResponse->getCavv(), 'XID' => $hppResponse->getXid(), 'COMMENT1' => $hppResponse->getCommentOne(), 'COMMENT2' => $hppResponse->getCommentTwo(), 'TSS' => $hppResponse->getTss(), 'AVSADDRESSRESULT' => $hppResponse->getAVSAddressResult(), 'AVSPOSTCODERESULT' => $hppResponse->getAVSPostCodeResult());
     $supplementaryData = $hppResponse->getSupplementaryData();
     if (is_array($supplementaryData)) {
         foreach ($supplementaryData as $key => $value) {
             $prop[$key] = $value;
         }
     }
     return json_encode($prop);
 }
 /**
  * Checks request supplementary data matches expected values.
  *
  * @param HppResponse $hppResponse
  * @param PHPUnit_Framework_TestCase $testCase
  */
 public static function checkValidHppResponseSupplementaryData(HppResponse $hppResponse, PHPUnit_Framework_TestCase $testCase)
 {
     $supplementaryData = $hppResponse->getSupplementaryData();
     $testCase->assertEquals(self::UNKNOWN_ONE_VALUE, $supplementaryData[self::UNKNOWN_ONE_KEY], "Json conversion incorrect Unknown one");
     $testCase->assertEquals(self::UNKNOWN_TWO_VALUE, $supplementaryData[self::UNKNOWN_TWO_KEY], "Json conversion incorrect Unknown one");
     $testCase->assertEquals(self::UNKNOWN_THREE_VALUE, $supplementaryData[self::UNKNOWN_THREE_KEY], "Json conversion incorrect Unknown one");
     $testCase->assertEquals(self::UNKNOWN_FOUR_VALUE, $supplementaryData[self::UNKNOWN_FOUR_KEY], "Json conversion incorrect Unknown one");
     $testCase->assertEquals(sizeof(self::$SUPPLEMENTARY_DATA), sizeof($supplementaryData), "Json conversion incorrect size");
 }