private void GetXmlValues(string xml) { try { var doc = new XmlDocument(); doc.LoadXml(xml); var nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("myNS", "http://www2.superpag.com.br/Schemas"); var nodeEstabelecimentoComercial = doc.SelectSingleNode("//myNS:EstabelecimentoComercial", nsmgr); var nodeOrder = doc.SelectSingleNode("//myNS:EstabelecimentoComercial//myNS:OrdemPagamento", nsmgr); var nodePayment = doc.SelectSingleNode("//myNS:EstabelecimentoComercial//myNS:OrdemPagamento//myNS:Pagamento", nsmgr); var nodePaymentDetails = doc.SelectSingleNode( "//myNS:EstabelecimentoComercial//myNS:OrdemPagamento//myNS:Pagamento//myNS:DetalhePagamento", nsmgr); transactionStatus = nodePaymentDetails.Attributes["Status"].Value; OrderNumber = nodeOrder.Attributes["Codigo"].Value; OrderNumber = OrderNumber.Substring(0, 10); string keyXml = nodeEstabelecimentoComercial.Attributes["SenhaAutenticacao"].Value; string passwordXml = nodeEstabelecimentoComercial.Attributes["ChaveAutenticacao"].Value; string key = GetConfigEntry("paymentGatewayEncryptionKey"); string password = GetConfigEntry("paymentGatewayPassword"); if ((key == keyXml) && (password == passwordXml)) { IsApproved = (nodePaymentDetails.Attributes["Status"].Value == "1"); // 1 means approved, 5 means processing, other mean declined IsCancelled = (nodePaymentDetails.Attributes["Status"].Value == "3"); IsPendingTransaction = (nodePaymentDetails.Attributes["Status"].Value == "5"); AuthorizationCode = nodePaymentDetails.Attributes["NumeroAutorizacao"].Value; TransactionCode = nodePaymentDetails.Attributes["IdTransacaoIF"].Value; CanSubmitIfApproved = true; Status = OrderProvider.GetPaymentGatewayRecordStatus(OrderNumber); } else { AuthResultMissing = true; IsApproved = false; // 1 means approved, 5 means processing, other mean declined AuthorizationCode = ""; TransactionCode = ""; CanSubmitIfApproved = false; } } catch (Exception ex) { //TODO: Fix swallowed exception string exception = ex.ToString(); } }