/** * Parses xml response object with full transaction details to Varien_Object * * @param Varien_Simplexml_Element $responseXmlDocument - xml object with full transaction details for a specified transaction ID * @return Varien_Object */ protected function _parseTransactionDetailsXmlResponseToVarienObject(Varien_Simplexml_Element $responseXmlDocument) { $response = new Varien_Object(); $responseTransactionXmlDocument = $responseXmlDocument->transaction; //main fields for generating order status: $response->setResponseCode((string) $responseTransactionXmlDocument->responseCode)->setResponseReasonCode((string) $responseTransactionXmlDocument->responseReasonCode)->setTransactionStatus((string) $responseTransactionXmlDocument->transactionStatus); //some additional fields: isset($responseTransactionXmlDocument->responseReasonDescription) && $response->setResponseReasonDescription((string) $responseTransactionXmlDocument->responseReasonDescription); isset($responseTransactionXmlDocument->FDSFilterAction) && $response->setFdsFilterAction((string) $responseTransactionXmlDocument->FDSFilterAction); isset($responseTransactionXmlDocument->FDSFilters) && $response->setFdsFilters(serialize($responseTransactionXmlDocument->FDSFilters->asArray())); isset($responseTransactionXmlDocument->transactionType) && $response->setTransactionType((string) $responseTransactionXmlDocument->transactionType); isset($responseTransactionXmlDocument->submitTimeUTC) && $response->setSubmitTimeUtc((string) $responseTransactionXmlDocument->submitTimeUTC); isset($responseTransactionXmlDocument->submitTimeLocal) && $response->setSubmitTimeLocal((string) $responseTransactionXmlDocument->submitTimeLocal); return $response; }