//--------------------- BVG -------------------------- public void TransactionBVG() { TransactionBVG trasactionBVG = new TransactionBVG(); try { trasactionBVG = connector.Transaction(GetTransaction()); printDictionary(trasactionBVG.toDictionary(), ""); } catch (EmptyFieldException ex) { Console.WriteLine(ex.Message); } catch (ResponseException ex) { Console.WriteLine(ex.Message); } catch (ConnectionException ex) { Console.WriteLine(ex.Message); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static TransactionBVG ParseJsonToTransaction(string json) { TransactionBVG transaction = new TransactionBVG(); if (json != null && json.Equals("")) { string message = "Response vacio o nulo"; throw new ResponseException(message); } Dictionary <string, object> result = ParseJsonToDictionary(json); if (result.ContainsKey(ElementNames.BVG_ERROR_CODE)) { string message = (string)result[ElementNames.BVG_ERROR_CODE] + " - " + (string)result[ElementNames.BVG_ERROR_MESSAGE]; throw new ResponseException(message); } if (result.ContainsKey("error")) { var status = result["status"]; string message = status + " - " + (string)result["message"]; throw new ResponseException(message); } transaction.SetChannel((string)result[BVG_CHANNEL]); //transaction.setUrlHibridFormResuorces((string)result[ElementNames.BVG_URL_HIBRID_FROM_RESOURCES]); transaction.SetPublicRequestKeys((string)result[ElementNames.BVG_PUBLIC_REQUEST_KEY]); //transaction.setRequestKey((string)result[ElementNames.BVG_REQUEST_KEY]); //transaction.setTransactionID((string)result[ElementNames.BVG_TRANSACTION_ID_RESPONSE]); transaction.SetMerchantID((string)result[ElementNames.BVG_MERCHANTID]); return(transaction); }
public TransactionBVG Transaction(TransactionBVG transaction) { string URL = endpoint + BVTP_TRANSACTION; string json = OperationsParserBVG.GenerateTransactionJson(transaction); string result = ExecuteRequest(json, URL, METHOD_POST, true); return(OperationsParserBVG.ParseJsonToTransaction(result)); }
public void TransactionOKTest() { BvgConnectorMock connector = GetConnector(TransactionDataProvider.GetTransactionOkResponse()); TransactionBVG response = connector.Transaction(TransactionDataProvider.GetTransaction()); Assert.AreNotEqual(null, response); Assert.AreEqual(false, String.IsNullOrEmpty(response.GetPublicRequestKey())); Assert.AreEqual(false, String.IsNullOrEmpty(response.GetMerchantID())); Assert.AreEqual(false, String.IsNullOrEmpty(response.GetChannel())); }
public static string GenerateTransactionJson(TransactionBVG transaction) { Dictionary <string, object> aux = new Dictionary <string, object>(); aux.Add(ElementNames.BVG_GENERAL_DATA, transaction.GetGeneralData()); aux.Add(ElementNames.BVG_OPERATION_DATA, transaction.GetOperationData()); aux.Add(ElementNames.BVG_TECHNICAL_DATA, transaction.GetTecnicalData()); string transactionJson = JsonConvert.SerializeObject(aux, Newtonsoft.Json.Formatting.Indented); return(transactionJson); }
public TransactionBVG Transaction(TransactionBVG transaction) { TransactionBVG result = transaction; TransactionValidate tv = new TransactionValidate(); transaction.GetGeneralData().Add(BVG_CHANNEL, "BVTP"); if (tv.ValidateTransaction(transaction)) { result = bvgClient.Transaction(transaction); } return(result); }
public static TransactionBVG GetTransaction() { Dictionary <string, Object> generalData = new Dictionary <string, Object>(); generalData.Add(ElementNames.BVG_MERCHANT, "41702"); generalData.Add(ElementNames.BVG_SECURITY, "TODOPAGO 8A891C0676A25FBF052D1C2FFBC82DEE"); generalData.Add(ElementNames.BVG_OPERATION_DATE_TIME, "20170308041300"); generalData.Add(ElementNames.BVG_REMOTE_IP_ADDRESS, "192.168.11.87"); Dictionary <string, Object> operationData = new Dictionary <string, Object>(); operationData.Add(ElementNames.BVG_OPERATION_TYPE, "Compra"); operationData.Add(ElementNames.BVG_OPERATION_ID, "12345"); operationData.Add(ElementNames.BVG_CURRENCY_CODE, "032"); operationData.Add(ElementNames.BVG_CONCEPT, "compra"); operationData.Add(ElementNames.BVG_AMOUNT, "10,99"); List <string> availablePaymentMethods = new List <string>(); availablePaymentMethods.Add("1"); availablePaymentMethods.Add("42"); operationData.Add(ElementNames.BVG_AVAILABLE_PAYMENT_METHODS, availablePaymentMethods); List <string> availableBanks = new List <string>(); availableBanks.Add("6"); availableBanks.Add("24"); availableBanks.Add("29"); operationData.Add(ElementNames.BVG_AVAILABLE_BANK, availableBanks); Dictionary <string, Object> buyerPreselection = new Dictionary <string, Object>(); buyerPreselection.Add(ElementNames.BVG_PAYMENT_METHODS_ID, "42"); buyerPreselection.Add(ElementNames.BVG_BANK_ID, "6"); operationData.Add(ElementNames.BVG_BUYER_PRESELECTION, buyerPreselection); Dictionary <string, Object> technicalData = new Dictionary <string, Object>(); technicalData.Add(ElementNames.BVG_SDK, "Net"); technicalData.Add(ElementNames.BVG_SDK_VERSION, "1.0"); technicalData.Add(ElementNames.BVG_LANGUAGE_VERSION, "3.5"); technicalData.Add(ElementNames.BVG_PLUGIN_VERSION, "1.0"); technicalData.Add(ElementNames.BVG_ECOMMERCE_NAME, "Bla"); technicalData.Add(ElementNames.BVG_ECOMMERCE_VERSION, "3.1"); technicalData.Add(ElementNames.BVG_CM_VERSION, "2.4"); TransactionBVG trasactionBVG = new TransactionBVG(generalData, operationData, technicalData); return(trasactionBVG); }
public Boolean ValidateTransaction(TransactionBVG transaction) { Boolean valid = true; Dictionary <string, Object> operationData = transaction.GetOperationData(); Dictionary <string, Object> generalData = transaction.GetGeneralData(); Dictionary <string, Object> tecnicalData = transaction.GetTecnicalData(); valid = ValidateGeneralData(generalData) && ValidateOperationData(operationData); valid = valid && ValidateFormatTransaction(generalData, operationData); valid = valid && ValidateInvalidCharacters(generalData, operationData, tecnicalData); return(valid); }
public void TransactionFailValidationTest() { BvgConnectorMock connector = GetConnector(TransactionDataProvider.GetTransactionOkResponse()); TransactionBVG response = connector.Transaction(TransactionDataProvider.GetTransactionWrongField()); }
public void TransactionFailValidationRequiredTest() { BvgConnectorMock connector = GetConnector(TransactionDataProvider.GetTransactionFailVendedorResponse()); TransactionBVG response = connector.Transaction(TransactionDataProvider.GetTransactionWithoutField()); }
public void TransactionFailVendedorTest() { BvgConnectorMock connector = GetConnector(TransactionDataProvider.GetTransactionFailVendedorResponse()); TransactionBVG response = connector.Transaction(TransactionDataProvider.GetTransaction()); }
public void TransactionWithoutFieldTest() { BvgConnectorMock connector = GetConnector(TransactionDataProvider.GetTransactionFailResponse()); TransactionBVG response = connector.Transaction(TransactionDataProvider.GetTransaction()); }