/** * Denormalizes data back into an object of the given class. * * @param mixed $data data to restore * @param string $class the expected class to instantiate * @param string $format format the given data was extracted from * @param array $context options available to the denormalizer * * @return object */ public function denormalize($data, $class, $format = null, array $context = array()) { $response = new PaymentResponse(); $array = new SafeArrayAccess($data); $response->setTimeStamp($array['@timestamp']); $response->setMerchantId($array['merchantid']); $response->setAccount($array['account']); $response->setOrderId($array['orderid']); $response->setResult($array['result']); $response->setAuthCode($array['authcode']); $response->setMessage($array['message']); $response->setPaymentsReference($array['pasref']); $response->setCvnResult($array['cvnresult']); $response->setTimeTaken($array['timetaken']); $response->setAuthTimeTaken($array['authtimetaken']); $response->setAcquirerResponse($array['acquirerresponse']); $response->setBatchId($array['batchid']); $response->setHash($array['sha1hash']); $response->setAvsPostcodeResponse($array['avspostcoderesponse']); $response->setAvsAddressResponse($array['avsaddressresponse']); $response->setTssResult($this->denormaliseTss($array)); $response->setCardIssuer($this->denormaliseCardIssuer($array)); $response->setDccInfoResult($this->serializer->denormalize($array['dccinfo'], DccInfoResult::GetClassName(), $format, $context)); $response->setFraudFilter($this->denormaliseFraudFilter($array)); return $response; }