/// <summary> /// GetBalance: Consulta del balance en la cuenta del usuario. /// </summary> /// <param name="APIPassword">Valor de seguridad para utilización de la API de DineroMail</param> /// <param name="APIUserName">Usuario para la identificacion en la API de DineroMail</param> /// <param name="Crypt">Indica si se envian los datos encriptados</param> /// <param name="MerchantTransactionId">Identificador transacción, corresponde al identificador de transacción del Comerciente.</param> /// <param name="UniqueMessageId">Identificador único de mensaje, no puede repetirse en futuras conexiones. (Autonumérico)</param> /// <param name="Hash">Cadena a encriptar</param> /// <returns> /// GetBalanceResult: (Status, Message, Currency, Amount) /// </returns> public string GetBalance() { String APIPassword = "******"; String APIUserName = "******"; bool Crypt = false; String MerchantTransactionId = "1"; String UniqueMessageId = "18"; String Hash = ""; DMCrypt Crypto = new DMCrypt(); ws.dineromail.api.DMAPI ClientApi = new ASP.NET.ws.dineromail.api.DMAPI(); // Creamos una instancia del objeto APICredential // La Credential es la tarjeta de acceso a la API de DineroMail ws.dineromail.api.APICredential Credential = new ASP.NET.ws.dineromail.api.APICredential(); Credential.APIUserName = APIUserName; Credential.APIPassword = APIPassword; // El >> Hash << es el cálculo MD5 de los valores // de los siguientes parámetros en orden especificado. Hash = MerchantTransactionId + UniqueMessageId + Credential.APIPassword; Hash = Crypto.GetHashMD5(Hash); //si se desea enviar encriptado if (Crypt) { // Los datos de la API viajarán con una encriptación del tipo TripleDES Crypto.Key = Encoding.ASCII.GetBytes(Credential.APIPassword); MerchantTransactionId = Crypto.Encrypt(MerchantTransactionId); UniqueMessageId = Crypto.Encrypt(UniqueMessageId); } // Consultamos el servicio web // Llamamos al Metodo GetBalance de la API de DineroMail ws.dineromail.api.ResultGetBalance BalanceResult = ClientApi.GetBalance(Credential , Crypt , MerchantTransactionId , UniqueMessageId , Hash); //mostramos la respuesta de la operación en pantalla. String sResult = "Status: " + BalanceResult.Status.ToString() + "<br>"; sResult += "Message: " + BalanceResult.Message.ToString() + "<br>"; sResult += "MerchantTransactionId: " + BalanceResult.MerchantTransactionId.ToString() + "<br>"; sResult += "UniqueMessageId: " + BalanceResult.UniqueMessageId.ToString() + "<br>"; if (BalanceResult.Status.ToString() == "OK") { sResult = sResult + "TransactionId: " + BalanceResult.TransactionId.ToString() + "<br>"; sResult = sResult + "Amount: " + BalanceResult.Balance[0].Amount.ToString() + "<br>"; sResult = sResult + "Currency: " + BalanceResult.Balance[0].Currency.ToString(); } return(sResult); }
public string DoPaymentWithReference() { string APIPassword = "******"; string APIUserName = "******"; bool Crypt = false; string MerchantTransactionId = "1"; string UniqueMessageId = "18"; string Hash = ""; string Subject = "Subject Test"; string Message = "Message Test"; string Provider = "pagofacil"; DMCrypt Crypto = new DMCrypt(); ws.dineromail.api.DMAPI ClientApi = new ASP.NET.ws.dineromail.api.DMAPI(); ws.dineromail.api.Item oItem = new ASP.NET.ws.dineromail.api.Item(); //Creamos una instancia del objeto APICredential ws.dineromail.api.APICredential Credential = new ws.dineromail.api.APICredential(); oItem.Amount = "25.52"; oItem.Code = "A001"; oItem.Currency = "USD"; oItem.Description = "Producto A001"; oItem.Name = "LCD Monitor"; oItem.Quantity = "2"; ws.dineromail.api.Item[] oItems = { oItem }; ws.dineromail.api.Buyer oBuyer = new ws.dineromail.api.Buyer(); oBuyer.Address = "Charcas 2034"; oBuyer.City = "Buenos Aires"; oBuyer.Country = "Argentina"; oBuyer.Email = "*****@*****.**"; oBuyer.LastName = "Lopez"; oBuyer.Name = "Carlos Ruben"; oBuyer.Phone = "45556565"; // Creamos una instancia del objeto APICredential // La Credential es la tarjeta de acceso a la API de DineroMail Credential.APIUserName = APIUserName; Credential.APIPassword = APIPassword; //preparamos la cadena de texto a utilizar en el hash string sConcatItem = oItem.Amount + oItem.Code + oItem.Currency + oItem.Description + oItem.Name + oItem.Quantity; string sConcatBuyer = oBuyer.Name + oBuyer.LastName + oBuyer.Email + oBuyer.Address + oBuyer.Phone + oBuyer.Country + oBuyer.City; Hash = MerchantTransactionId + UniqueID + sConcatItem + sConcatBuyer + Provider + Subject + Message + Credential.APIPassword.ToString(); //si se desea enviar encriptado if (Crypt) { Crypto.Key = Encoding.ASCII.GetBytes(Credential.APIPassword); MerchantTransactionId = Crypto.Encrypt(MerchantTransactionId); UniqueMessageId = Crypto.Encrypt(UniqueMessageId); Provider = Crypto.Encrypt(Provider); Subject = Crypto.Encrypt(Subject); Message = Crypto.Encrypt(Message); foreach (ws.dineromail.api.Item Item in oItems) { oItem.Amount = Crypto.Encrypt(oItem.Amount); oItem.Code = Crypto.Encrypt(oItem.Code); oItem.Currency = Crypto.Encrypt(oItem.Currency); oItem.Description = Crypto.Encrypt(oItem.Description); oItem.Name = Crypto.Encrypt(oItem.Name); oItem.Quantity = Crypto.Encrypt(oItem.Quantity); } oBuyer.Name = Crypto.Encrypt(oBuyer.Name); oBuyer.LastName = Crypto.Encrypt(oBuyer.LastName); oBuyer.Email = Crypto.Encrypt(oBuyer.Email); oBuyer.Address = Crypto.Encrypt(oBuyer.Address); oBuyer.Phone = Crypto.Encrypt(oBuyer.Phone); oBuyer.Country = Crypto.Encrypt(oBuyer.Country); oBuyer.City = Crypto.Encrypt(oBuyer.City); } Hash = Crypto.GetHashMD5(Hash); //consultamos el servicio web ws.dineromail.api.ResultDoPaymentWithReference PaymentWithReferenceResult = ClientApi.DoPaymentWithReference(Credential, Crypt, MerchantTransactionId, oItems, oBuyer, Provider, Subject, Message, UniqueMessageId, Hash); //mostramos la respuesta de la operación en pantalla. string sResult = "Status: " + PaymentWithReferenceResult.Status.ToString() + "<br>"; sResult = sResult + "Message: " + PaymentWithReferenceResult.Message.ToString() + "<br>"; sResult = sResult + "MerchantTransactionId: " + PaymentWithReferenceResult.MerchantTransactionId.ToString() + "<br>"; sResult = sResult + "UniqueMessageId: " + PaymentWithReferenceResult.UniqueMessageId.ToString() + "<br>"; if (PaymentWithReferenceResult.Status.ToString() == "COMPLETED") { sResult = sResult + "TransactionId: " + PaymentWithReferenceResult.TransactionId.ToString() + "<br>"; sResult = sResult + "BarcodeDigits: " + PaymentWithReferenceResult.BarcodeDigits + "<br>"; sResult = sResult + "UrlImage: " + PaymentWithReferenceResult.BarcodeImageUrl.ToString() + "<br>"; sResult = sResult + "Voucher: " + PaymentWithReferenceResult.VoucherUrl.ToString(); } return(sResult); }