public ResultGetOperations GetOperation(string merchantTransactionId) { //Consulta del balance en la cuenta del usuario. string Hash = ""; string UniqueID = Guid.NewGuid().ToString(); string OperationId = merchantTransactionId; string StartDate = null; string EndDate = null; //Creamos una instancia del objeto APICredential APICredential Credential = new APICredential(); Credential.APIPassword = ConfigurationManager.AppSettings["APIPassword"]; Credential.APIUserName = "******"; //preparamos la cadena de texto a utilizar en el hash Hash = merchantTransactionId + UniqueID + OperationId + StartDate + EndDate + Credential.APIPassword.ToString(); DMCrypt CryptObject = new DMCrypt(); Hash = CryptObject.GetHashMD5(Hash); DMAPISoapClient Client = new DMAPISoapClient(); //consulta el servicio web return(Client.GetOperations(Credential, false, merchantTransactionId, OperationId, StartDate, EndDate, UniqueID, Hash)); }
/// <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); }
/// <summary> /// DoWithDraw: Realizar "Retiro de fondos" de la cuenta de DineroMail /// </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="Currency">Moneda del importe a retirar</param> /// <param name="Amount">Importe a retirar</param> /// <param name="Method">Identificador del método a utilizar para el retiro defondos</param> /// <param name="AddressDetail"> /// => Street: Calle donde recibirá el cheque /// => Number: Altura de la calle donde recibirá el cheque /// => Floor: Piso en caso de vivir en edificio. /// => Appartment: Departamento. /// => Zip: Código postal. /// => City: Identificador de Ciudad /// => State: Identificador de Estado o provincia /// </param> /// <param name="BankAccountDetail"> /// => Bank: Identificador del banco /// => BankNumber: Número de la cuenta bancaria /// => Branch: Solamente necesario en Brasil. Por defecto enviar 0 cero. /// => DocumentNumber: Número de documento del titular /// => DocumentType: Tipo de documento del titular /// => LastName: Apellido del titular de la cuenta bancaria /// => Name: Nombre del titular de la cuenta bancaria /// => Type: Identifica el tipo de cuenta bancaria /// </param> /// <param name="Hash">Cadena a encriptar</param> /// <returns> /// Estado de la operación /// </returns> public string DoWithDraw() { //Consulta del balance en la cuenta del usuario. string APIPassword = "******"; string APIUserName = "******"; bool Crypt = true; string MerchantTransactionId = "1"; string UniqueMessageId = "1"; string Currency = "BRL"; string Amount = "20,52"; string sMethod = "BANK"; string Hash = ""; // Detalla la dirección de entrega ws.dineromail.api.AddressDetail oAddress = new ws.dineromail.api.AddressDetail() { Street = "CALLE1", Number = "123", Floor = "1", State = "BRASILIA", City = "CIUDAD", Appartment = "A", Zip = "123" }; // Detalla la cuenta bancaria ws.dineromail.api.BankAccountDetail oBankDetail = new ws.dineromail.api.BankAccountDetail() { Bank = "BANCO", BankNumber = "12341234", Branch = "1", DocumentNumber = "29000000", DocumentType = "1", LastName = "APELLIDO", Name = "NOMBRE", Type = "CA" }; DMCrypt Crypto = new DMCrypt(); ws.dineromail.api.DMAPI Client = new 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 ws.dineromail.api.APICredential(); Credential.APIPassword = APIPassword; Credential.APIUserName = APIUserName; // El >> Hash << es el cálculo MD5 de los valores // de los siguientes parámetros en orden especificado. string sFullAddressDetail = oAddress.Street + oAddress.Number + oAddress.Floor + oAddress.Appartment + oAddress.Zip + oAddress.City + oAddress.State; string sFullBankAccountDetail = oBankDetail.Bank + oBankDetail.BankNumber + oBankDetail.Type + oBankDetail.Name + oBankDetail.LastName + oBankDetail.DocumentType + oBankDetail.DocumentNumber + oBankDetail.Branch; Hash = MerchantTransactionId + UniqueMessageId + sMethod + Currency + Amount + sFullAddressDetail + sFullBankAccountDetail + Credential.APIPassword.ToString(); 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); Currency = Crypto.Encrypt(Currency); Amount = Crypto.Encrypt(Amount); sMethod = Crypto.Encrypt(sMethod); oAddress.Number = Crypto.Encrypt(oAddress.Number); oAddress.State = Crypto.Encrypt(oAddress.State); oAddress.Street = Crypto.Encrypt(oAddress.Street); oAddress.Zip = Crypto.Encrypt(oAddress.Zip); oAddress.Floor = Crypto.Encrypt(oAddress.Floor); oAddress.City = Crypto.Encrypt(oAddress.City); oAddress.Appartment = Crypto.Encrypt(oAddress.Appartment); oBankDetail.Bank = Crypto.Encrypt(oBankDetail.Bank); oBankDetail.BankNumber = Crypto.Encrypt(oBankDetail.BankNumber); oBankDetail.Branch = Crypto.Encrypt(oBankDetail.Branch); oBankDetail.DocumentNumber = Crypto.Encrypt(oBankDetail.DocumentNumber); oBankDetail.DocumentType = Crypto.Encrypt(oBankDetail.DocumentType); oBankDetail.LastName = Crypto.Encrypt(oBankDetail.LastName); oBankDetail.Name = Crypto.Encrypt(oBankDetail.Name); oBankDetail.Type = Crypto.Encrypt(oBankDetail.Type); } // Consultamos el servicio web // Llamamos al Metodo DoWithDraw de la API de DineroMail ws.dineromail.api.ResultDoWithDraw WithDrawResult = Client.DoWithDraw(Credential , Crypt , MerchantTransactionId , sMethod , Currency , Amount , oAddress , oBankDetail , UniqueMessageId , Hash); // mostramos la respuesta de la operación en pantalla. string sResult = "Status: " + WithDrawResult.Status.ToString() + "<br>"; sResult = sResult + "Message: " + WithDrawResult.Message.ToString() + "<br>"; sResult = sResult + "MerchantTransactionId: " + WithDrawResult.MerchantTransactionId.ToString() + "<br>"; sResult = sResult + "UniqueMessageId: " + WithDrawResult.UniqueMessageId.ToString() + "<br>"; if (WithDrawResult.Status.ToString() == "PENDING") { sResult = sResult + "TransactionId: " + WithDrawResult.TransactionId.ToString() + "<br>"; } 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); }
/// <summary> /// Refund: Realizar Reembolsos /// </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="$RefundedMerchantTransactionId">Identificador transacción correspondiente a la reembolso</param> /// <param name="$Hash">Cadena a encriptar</param> /// <returns> /// Estado de la Operación /// </returns> public string Refund() { String APIPassword = "******"; String APIUserName = "******"; bool Crypt = false; String MerchantTransactionId = "14324234"; String UniqueMessageId = "7398234234997"; String Currency = "ARG"; String Amount = "10.40"; String Subject = "Subject"; String Message = "Message"; String Hash = ""; DMCrypt Crypto = new DMCrypt(); // Creamos una instancia del objeto APICredential // La Credential es la tarjeta de acceso a la API de DineroMail APICredential Credential = new 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 + Currency + Amount + Subject + Message + APIPassword; Hash = Crypto.GetHashMD5(Hash); //si se desea enviar encriptado if (Crypt) { Crypto.Key = Encoding.ASCII.GetBytes(Credential.APIPassword); MerchantTransactionId = Crypto.Encrypt(MerchantTransactionId); UniqueMessageId = Crypto.Encrypt(UniqueMessageId); Currency = Crypto.Encrypt(Currency); Amount = Crypto.Encrypt(Amount); Subject = Crypto.Encrypt(Subject); Message = Crypto.Encrypt(Message); UniqueMessageId = Crypto.Encrypt(UniqueMessageId); } DMAPI ClientApi = new DMAPI(); // Consultamos el servicio web // Llamamos al Metodo GetBalance de la API de DineroMail ResultRefund RefundResult = ClientApi.Refund(Credential, Crypt, MerchantTransactionId, Currency, Amount, Subject, Message, UniqueMessageId, Hash); //mostramos la respuesta de la operación en pantalla. String sResult = "Status: " + RefundResult.Status.ToString() + "<br>"; sResult += "Message: " + RefundResult.Message.ToString() + "<br>"; sResult += "MerchantTransactionId: " + RefundResult.MerchantTransactionId.ToString() + "<br>"; sResult += "TransactionId: " + RefundResult.TransactionId.ToString() + "<br>"; return(sResult); }
// <summary> // DoPaymentWithReference: "Realizar pago" de Botón o Carrito de compras, con códigos de barra. // </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="provider">Identifica el proveedor con el cual se desea realizar el pago</param> // <param name="subject">Concepto o asunto del comprador hacia el vendedor</param> // <param name="message">Mensaje del comprador hacia el vendedor</param> // <param name="currency">Identificador de la moneda para el ítem</param> // <param name="amount">Importe del ítem</param> // <param name="code">Identificador generado por el comercio</param> // <param name="description">Descripción del ítem</param> // <param name="itemName">Nombre o titulo del ítem</param> // <param name="quantity">Cantidad de ítems a pagar</param> // <param name="address">Dirección del comprador</param> // <param name="city">Ciudad o provincia del comprador</param> // <param name="country">País del comprador</param> // <param name="email">Email del comprador</param> // <param name="name">Nombre del comprador</param> // <param name="lastName">Apellido del comprador</param> // <param name="phone">Teléfono del comprador</param> // <param name="ccAddress">Dirección del comprador</param> // <param name="ccAddressComplement">Dirección del comprador</param> // <param name="ccAddressNumber">Dirección del comprador</param> // <param name="ccCity">Ciudad o provincia del comprador</param> // <param name="ccCountry">País del comprador</param> // <param name="ccNeighborhood">Email del comprador</param> // <param name="ccState">Nombre del comprador</param> // <param name="ccZipCode">Apellido del comprador</param> // <param name="ccBankId">Teléfono del comprador</param> // <param name="ccCreditCardNumber">Dirección del comprador</param> // <param name="ccDocumentNumber">Dirección del comprador</param> // <param name="ccExpirationDate">Dirección del comprador</param> // <param name="ccHolder">Ciudad o provincia del comprador</param> // <param name="ccInstallment">País del comprador</param> // <param name="ccSecurityCode">Email del comprador</param> // <param name="hash">Cadena a encriptar</param> // <returns> // BarcodeDigits, BarcodeImageUrl, VoucherUrl // </returns> private string _DoPaymentWithCreditCard() { String apiPassword = "******"; String apiUserName = "******"; Boolean crypt = true; String merchantTransactionId = "1"; String uniqueMessageId = "1"; String provider = "AR_MASTER"; String subject = "Subject"; String message = "Message"; String currency = "BRL"; String amount = "10.40"; String code = "A001"; String description = "Product A001"; String itemName = "LCD Monitor"; String quantity = "1"; String address = "123"; String city = "Brasilia"; String country = "Brasilia"; String email = "*****@*****.**"; String name = "Carlos"; String lastName = "Lopez"; String phone = "12341234"; String ccAddress = "Street"; String ccAddressComplement = ""; String ccAddressNumber = "123"; String ccCity = ""; String ccCountry = ""; String ccNeighborhood = ""; String ccState = ""; String ccZipCode = ""; Int32 ccBankId = 0; String ccCreditCardNumber = "5114920090135851"; String ccDocumentNumber = "27000000"; String ccExpirationDate = "11/14"; String ccHolder = "test"; String ccInstallment = "1"; String ccSecurityCode = "111"; String hash = ""; ResultDoPaymentWithCreditCard result = new ResultDoPaymentWithCreditCard(); DMCrypt Crypto = new DMCrypt(); DMAPI ClientApi = new DMAPI(); try { // Creamos una instancia del objeto APICredential // La Credential es la tarjeta de acceso a la API de DineroMail APICredential Credential = new APICredential(); Credential.APIUserName = apiPassword; Credential.APIPassword = apiPassword; // El Hash es el cálculo MD5 de los valores // de los siguientes parámetros en orden especificado. String items = amount + code + currency + description + itemName + quantity; String buyer = name + lastName + email + address + phone + country + city; String creditCard = ccInstallment + ccCreditCardNumber + ccHolder + ccExpirationDate + ccSecurityCode + ccDocumentNumber + ccAddress + ccAddressNumber + ccAddressComplement + ccZipCode + ccNeighborhood + ccCity + ccState + ccCountry; hash = merchantTransactionId + uniqueMessageId + items + buyer + creditCard + provider + subject + message + apiPassword; hash = Crypto.GetHashMD5(hash); 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); currency = Crypto.Encrypt(currency); amount = Crypto.Encrypt(amount); provider = Crypto.Encrypt(provider); subject = Crypto.Encrypt(subject); message = Crypto.Encrypt(message); currency = Crypto.Encrypt(currency); amount = Crypto.Encrypt(amount); code = Crypto.Encrypt(code); itemName = Crypto.Encrypt(itemName); quantity = Crypto.Encrypt(quantity); address = Crypto.Encrypt(address); city = Crypto.Encrypt(city); country = Crypto.Encrypt(country); email = Crypto.Encrypt(email); name = Crypto.Encrypt(name); lastName = Crypto.Encrypt(lastName); phone = Crypto.Encrypt(phone); } Item oItem = new Item(); oItem.Amount = amount; oItem.Code = code; oItem.Currency = currency; oItem.Description = description; oItem.Name = itemName; oItem.Quantity = quantity; Item[] oItemList = { oItem }; Buyer oBuyer = new Buyer(); oBuyer.Address = address; oBuyer.City = city; oBuyer.Country = country; oBuyer.Email = email; oBuyer.LastName = lastName; oBuyer.Name = name; oBuyer.Phone = phone; CreditCard oCard = new CreditCard(); oCard.Installment = ccInstallment; oCard.CreditCardNumber = ccCreditCardNumber; oCard.DocumentNumber = ccDocumentNumber; oCard.Holder = ccHolder; oCard.ExpirationDate = ccExpirationDate; oCard.SecurityCode = ccSecurityCode; oCard.Address = ccAddress; oCard.AddressNumber = ccAddressNumber; oCard.AddressComplement = ccAddressComplement; oCard.ZipCode = ccZipCode; oCard.Neighborhood = ccNeighborhood; oCard.City = ccCity; oCard.State = ccState; oCard.Country = ccCountry; oCard.BankId = ccBankId; // La Credential es la tarjeta de acceso a la API de DineroMail APICredential credential = new APICredential(); credential.APIUserName = apiUserName; credential.APIPassword = apiPassword; // Llamamos al Metodo doPaymentWithCreditCard de la API de DineroMail result = ClientApi.DoPaymentWithCreditCard(credential , crypt , merchantTransactionId , oItemList , oBuyer , provider , oCard , subject , message , uniqueMessageId , hash); // Mostramos en pantalla el resultado de la operación. string sResult = "MerchantTransactionId: " + result.MerchantTransactionId + "<br/>"; sResult += "TransactionId: " + result.TransactionId + "<br/>"; sResult += "Status: " + result.Status.ToString() + "<br/>"; sResult += "Message: " + result.Message + "<br/>"; sResult += "UniqueMessageId: " + result.UniqueMessageId + "<br/>"; sResult += "VoucherUrl: " + result.VoucherUrl + "<br/>"; return(sResult); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// GetPaymentTicket: Permite obtener un cupón de pago de cualquier proveedor de código de barras y lo asigna al comercio. /// </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="$Provider">Identifica el proveedor con el cual se desea realizar el pago</param> /// <param name="$Currency">Identificador de la moneda para el importe a enviar</param> /// <param name="$Amount">Importe a enviar</param> /// <param name="$Hash">Cadena a encriptar</param> /// <returns> /// Estado de la operación /// </returns> public string GetPaymentTicket() { DMCrypt Crypto = new DMCrypt(); String APIPassword = "******"; String APIUserName = "******"; bool Crypt = true; String MerchantTransactionId = "1"; String UniqueMessageId = "1"; String Currency = "USD"; String Amount = "10.55"; String Provider = "servipag"; String Hash = ""; // Creamos una instancia del objeto APICredential // La Credential es la tarjeta de acceso a la API de DineroMail APICredential Credential = new APICredential(); Credential.APIPassword = APIPassword; Credential.APIUserName = APIUserName; // El >> Hash << es el cálculo MD5 de los valores // de los siguientes parámetros en orden especificado. Hash = MerchantTransactionId + UniqueMessageId + Currency + Amount + Provider + Credential.APIPassword; Hash = Crypto.GetHashMD5(Hash); //si se desea enviar encriptado if (Crypt) { Crypto.Key = Encoding.ASCII.GetBytes(Credential.APIPassword); MerchantTransactionId = Crypto.Encrypt(MerchantTransactionId); UniqueMessageId = Crypto.Encrypt(UniqueMessageId); Currency = Crypto.Encrypt(Currency); Amount = Crypto.Encrypt(Amount); Provider = Crypto.Encrypt(Provider); } // Consultamos el servicio web // Llamamos al Metodo GetPaymentTicket de la API de DineroMail DMAPI Client = new DMAPI(); ResultGetPaymentTicket PaymentTicketResult = Client.GetPaymentTicket(Credential , Crypt , Currency , Amount , Provider , MerchantTransactionId , UniqueMessageId , Hash); //mostramos la respuesta de la operación en pantalla. string sResult = "Status: " + PaymentTicketResult.Status.ToString() + "<br>"; sResult = sResult + "Message: " + PaymentTicketResult.Message.ToString() + "<br>"; sResult = sResult + "MerchantTransactionId: " + PaymentTicketResult.MerchantTransactionId.ToString() + "<br>"; sResult = sResult + "UniqueMessageId: " + PaymentTicketResult.UniqueMessageId.ToString() + "<br>"; if (PaymentTicketResult.Status.ToString() == "COMPLETED") { sResult = sResult + "MerchantTransactionId: " + PaymentTicketResult.MerchantTransactionId.ToString() + "<br>"; sResult = sResult + "TransactionId: " + PaymentTicketResult.TransactionId.ToString() + "<br>"; sResult = sResult + "BarcodeDigits: " + PaymentTicketResult.BarcodeDigits + "<br>"; sResult = sResult + "UrlImage: " + PaymentTicketResult.BarcodeImageUrl.ToString() + "<br>"; sResult = sResult + "Voucher: " + PaymentTicketResult.VoucherUrl.ToString(); } return(sResult); }
/// <summary> /// GetOperations: Obtener lista operaciones de DineroMail por parte de los vendedores /// </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="StartDate">Fecha inicial, en un rango de fecha</param> /// <param name="EndDate">Fecha final, en un rango de fecha</param> /// <param name="OperationId">Identificador de la operación en DineroMail</param> /// <param name="Hash">Cadena a encriptar</param> /// <returns> /// Lista de Operaciones /// </returns> public string GetOperations() { String APIPassword = "******"; String APIUserName = "******"; bool Crypt = false; String MerchantTransactionId = "1"; String UniqueMessageId = "30"; String OperationId = ""; String StartDate = "2012-09-01"; String EndDate = "2012-10-01"; String Hash = ""; DMCrypt Crypto = new DMCrypt(); // Creamos una instancia del objeto APICredential // La Credential es la tarjeta de acceso a la API de DineroMail ws.dineromail.api.APICredential Credential = new ws.dineromail.api.APICredential(); Credential.APIPassword = APIPassword; Credential.APIUserName = APIUserName; // El >> Hash << es el cálculo MD5 de los valores // de los siguientes parámetros en orden especificado. Hash = MerchantTransactionId + UniqueMessageId + OperationId + StartDate + EndDate + Credential.APIPassword; Hash = Crypto.GetHashMD5(Hash); //si se desea enviar encriptado if (Crypt) { Crypto.Key = Encoding.ASCII.GetBytes(Credential.APIPassword); MerchantTransactionId = Crypto.Encrypt(MerchantTransactionId); UniqueMessageId = Crypto.Encrypt(UniqueMessageId); OperationId = Crypto.Encrypt(OperationId); StartDate = Crypto.Encrypt(StartDate); EndDate = Crypto.Encrypt(EndDate); } ws.dineromail.api.DMAPI Client = new ws.dineromail.api.DMAPI(); // Consultamos el servicio web // Llamamos al Metodo GetOperations de la API de DineroMail ws.dineromail.api.ResultGetOperations OperationsResult = Client.GetOperations(Credential , Crypt , MerchantTransactionId , OperationId , StartDate , EndDate , UniqueMessageId , Hash); //mostramos la respuesta de la operación en pantalla. string sResult = "Status: " + OperationsResult.Status.ToString() + "<br>"; sResult = sResult + "Message: " + OperationsResult.Message.ToString() + "<br>"; sResult = sResult + "MerchantTransactionId: " + OperationsResult.MerchantTransactionId.ToString() + "<br>"; sResult = sResult + "UniqueMessageId: " + OperationsResult.UniqueMessageId.ToString() + "<br>"; if (OperationsResult.Status.ToString() == "OK") { sResult = sResult + "MerchantTransactionId: " + OperationsResult.MerchantTransactionId.ToString() + "<br>"; foreach (ws.dineromail.api.OperationDetail Operation in OperationsResult.Operations) { sResult = sResult + "<h2>Operation</h2><br>"; sResult = sResult + "Id: " + Operation.Id.ToString() + "<br>"; sResult = sResult + "Amount: " + Operation.Amount.ToString() + "<br>"; sResult = sResult + "Date: " + Operation.Date.ToString() + "<br>"; sResult = sResult + "NetAmount: " + Operation.NetAmount.ToString() + "<br>"; sResult = sResult + "PaymentMethod: " + Operation.PaymentMethod.ToString() + "<br>"; sResult = sResult + "Shares: " + Operation.Shares.ToString() + "<br>"; sResult = sResult + "State: " + Operation.State.ToString() + "<br>"; sResult = sResult + "<h3>Buyer</h3><br>"; sResult = sResult + "Address: " + Operation.Buyer.Address.ToString() + "<br>"; sResult = sResult + "Comments: " + Operation.Buyer.Comments.ToString() + "<br>"; sResult = sResult + "DocumentNumber: " + Operation.Buyer.DocumentNumber.ToString() + "<br>"; sResult = sResult + "DocumentType: " + Operation.Buyer.DocumentType.ToString() + "<br>"; sResult = sResult + "Email: " + Operation.Buyer.Email.ToString() + "<br>"; sResult = sResult + "LastName: " + Operation.Buyer.LastName.ToString() + "<br>"; sResult = sResult + "Name: " + Operation.Buyer.Name.ToString() + "<br>"; sResult = sResult + "Phone: " + Operation.Buyer.Phone.ToString() + "<br>"; sResult = sResult + "<h3>Seller</h3><br>"; sResult = sResult + "LastName: " + Operation.Seller.LastName.ToString() + "<br>"; sResult = sResult + "Name: " + Operation.Seller.Name.ToString() + "<br>"; sResult = sResult + "Phone: " + Operation.Seller.Phone.ToString() + "<br>"; sResult = sResult + "Email: " + Operation.Seller.Email.ToString() + "<br>"; sResult = sResult + "DocumentType: " + Operation.Seller.DocumentType.ToString() + "<br>"; sResult = sResult + "DocumentNumber: " + Operation.Seller.DocumentNumber.ToString() + "<br>"; } } return(sResult); }
/// <summary> /// SendMoney: Realizar "Envío de dinero". /// </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="_Currency">Moneda del importe a enviar</param> /// <param name="Amount">Importe a enviar</param> /// <param name="MailTo">Email del usuario que recibe el dinero</param> /// <param name="Subject">Concepto del envío de dinero</param> /// <param name="Message">Mensaje al usuario destinatario del dinero</param> /// <param name="PayOff">Identifica el origen del envío de dinero</param> /// <param name="Hash">Cadena a encriptar</param> /// <returns> /// Estado de la operación /// </returns> public string SendMoney() { String APIPassword = "******"; String APIUserName = "******"; bool Crypt = false; String MerchantTransactionId = "1"; String UniqueMessageId = "11"; string Currency = "BRL"; string Amount = "10,00"; string Mail = "*****@*****.**"; string Subject = "subject sendmoney"; string Message = "Message sendmoney"; string PayOff = "product"; string Hash = ""; DMCrypt Crypto = new DMCrypt(); // Creamos una instancia del objeto APICredential // La Credential es la tarjeta de acceso a la API de DineroMail ws.dineromail.api.APICredential Credential = new ws.dineromail.api.APICredential(); Credential.APIPassword = APIPassword; Credential.APIUserName = APIUserName; // El >> Hash << es el cálculo MD5 de los valores // de los siguientes parámetros en orden especificado. Hash = MerchantTransactionId + UniqueMessageId + Currency + Amount + Mail + PayOff + Subject + Message + Credential.APIPassword; Hash = Crypto.GetHashMD5(Hash); //si se desea enviar encriptado if (Crypt) { Crypto.Key = Encoding.ASCII.GetBytes(Credential.APIPassword); MerchantTransactionId = Crypto.Encrypt(MerchantTransactionId); UniqueMessageId = Crypto.Encrypt(UniqueMessageId); Currency = Crypto.Encrypt(Currency); Amount = Crypto.Encrypt(Amount); Mail = Crypto.Encrypt(Mail); Subject = Crypto.Encrypt(Subject); Message = Crypto.Encrypt(Message); PayOff = Crypto.Encrypt(PayOff); } ws.dineromail.api.DMAPI Client = new ws.dineromail.api.DMAPI(); // Consultamos el servicio web // Llamamos al Metodo SendMoney de la API de DineroMail ws.dineromail.api.ResultSendMoney SendMoneyResult = Client.SendMoney(Credential , Crypt , Currency , Amount , Mail , PayOff , Subject , Message , MerchantTransactionId , UniqueMessageId , Hash); // Mostramos en pantalla el resultado de la operación. string sResult = "Status: " + SendMoneyResult.Status.ToString() + "<br>"; sResult = sResult + "Message: " + SendMoneyResult.Message.ToString() + "<br>"; sResult = sResult + "MerchantTransactionId: " + SendMoneyResult.MerchantTransactionId.ToString() + "<br>"; sResult = sResult + "UniqueMessageId: " + SendMoneyResult.UniqueMessageId.ToString() + "<br>"; if (SendMoneyResult.Status.ToString() == "COMPLETED" || SendMoneyResult.Status.ToString() == "PENDING") { sResult = sResult + "TransactionId: " + SendMoneyResult.TransactionId.ToString() + "<br>"; } return(sResult); }