protected void Page_Load(object sender, EventArgs e) { merchantId = Request.Form["txtCodigocomercio"]; endpointurl = ConfigurationManager.AppSettings["endpointurl"]; user = ConfigurationManager.AppSettings["user"]; password = ConfigurationManager.AppSettings["password"]; credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(user + ":" + password)); amountPay = Convert.ToDouble(Request.Form["txtMontoInicial"]); recurrentMaxAmountPay = Convert.ToDouble(Request.Form["txtMontoMaximo"]); ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; ServicePointManager.DefaultConnectionLimit = 9999; url = "https://" + endpointurl + "/api.security/v1/security"; HttpWebRequest request; request = WebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; request.Headers.Add("Authorization", "Basic " + credentials); StreamWriter writer; writer = new StreamWriter(request.GetRequestStream()); writer.Close(); HttpWebResponse response; StreamReader reader; string respuesta; try { response = request.GetResponse() as HttpWebResponse; reader = new StreamReader(response.GetResponseStream()); respuesta = reader.ReadToEnd(); Session["sesionPay"] = respuesta; reader.Close(); MerchantDefineData objMerchantDefineData = new MerchantDefineData(); objMerchantDefineData.MDD19 = "LIM"; objMerchantDefineData.MDD20 = "AQP"; objMerchantDefineData.MDD21 = "AFKI345"; Antifraud objAntifraud = new Antifraud(); string IP4Address = GetIP4Address(); Session["IP4Address"] = IP4Address; objAntifraud.clientIp = IP4Address; objAntifraud.merchantDefineData = objMerchantDefineData; SesionTokenRequest objSesionTokenRequest = new SesionTokenRequest(); objSesionTokenRequest.channel = Request.Form["cboCanalafiliacion"]; objSesionTokenRequest.amount = amountPay; objSesionTokenRequest.recurrenceMaxAmount = recurrentMaxAmountPay; objSesionTokenRequest.antifraud = objAntifraud; string body = JsonHelper.JsonSerializer <SesionTokenRequest>(objSesionTokenRequest); url = "https://" + endpointurl + "/api.ecommerce/v2/ecommerce/token/session/" + merchantId; request = WebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/json"; request.Headers.Add("Authorization", respuesta); writer = new StreamWriter(request.GetRequestStream()); writer.Write(body); writer.Close(); string resultado; try { response = request.GetResponse() as HttpWebResponse; reader = new StreamReader(response.GetResponseStream()); var buffer = reader.ReadToEnd(); resultado = buffer.ToString(); reader.Close(); DataContractJsonSerializer service = new DataContractJsonSerializer(typeof(SesionTokenResponse)); MemoryStream memory = new MemoryStream(Encoding.UTF8.GetBytes(resultado)); SesionTokenResponse objResultado = (SesionTokenResponse)service.ReadObject(memory); /*Llenado de variables del botón*/ sessionToken = objResultado.sessionKey; channel = Request.Form["cboCanalafiliacion"]; buttonSize = Request.Form["cboTamanhoPresentacion"]; buttonColor = Request.Form["cboColorPresentacion"]; merchantLogo = Request.Form["txtUrllogo"]; merchantName = Request.Form["txtNombrecomercio"]; formButtonColor = Request.Form["txtColorboton"]; Random random = new Random(); purchasenumber = random.Next(1000, 9999).ToString(); amount = amountPay.ToString(); recurrence = "TRUE"; recurrencetype = Request.Form["cboTipo"]; recurrencefrequency = Request.Form["cboFrecuencia"]; recurrencemaxamount = recurrentMaxAmountPay.ToString(); recurrenceamount = Request.Form["txtMontoCargo"]; expirationminutes = Request.Form["txtTimeout"]; timeouturl = Request.Form["txtUrltimeout"]; /*Fin de llenado de variables del botón*/ CardHolder objCardHolder = new CardHolder(); objCardHolder.documentType = Request.Form["cboTipodocumento"]; objCardHolder.documentNumber = Request.Form["txtNumerodocumento"]; string _cardHolder = JsonHelper.JsonSerializer <CardHolder>(objCardHolder); Session["_cardHolder"] = _cardHolder; Recurrence objRecurrence = new Recurrence(); objRecurrence.beneficiaryId = Request.Form["txtIdbeneficiario"]; objRecurrence.type = Request.Form["cboTipo"]; objRecurrence.frequency = Request.Form["cboFrecuencia"]; objRecurrence.maxAmount = recurrentMaxAmountPay.ToString(); objRecurrence.amount = Request.Form["txtMontoCargo"]; string _recurrence = JsonHelper.JsonSerializer <Recurrence>(objRecurrence); Session["_recurrence"] = _recurrence; Order objOrder = new Order(); objOrder.productId = Request.Form["txtCodigoProducto"]; objOrder.purchaseNumber = purchasenumber; objOrder.amount = amountPay; objOrder.currency = Request.Form["cboMonedacomercio"]; string _order = JsonHelper.JsonSerializer <Order>(objOrder); Session["_order"] = _order; Session["_merchantId"] = merchantId; } catch (WebException ex) { resultado = ex.Message.ToString(); } } catch (WebException ex) { respuesta = ex.Message.ToString(); } }
public static void Initialize(PaymentGatewayContext context) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var antifraud = new Antifraud() { Name = "Clear", ServiceUri = "https://integration.clearsale.com.br/api/order/get" }; var stores = new List <Store>() { new Store { Name = "000", AntifraudEnabled = true, MerchantKey = "123456789", Antifraud = antifraud }, new Store { Name = "001", AntifraudEnabled = false, MerchantKey = "123456789" } }; var creditCardBrands = new List <CreditCardBrand>() { new CreditCardBrand { Name = "Master" }, new CreditCardBrand { Name = "Visa" } }; var acquirers = new List <Acquirer>() { new Acquirer { Name = "Stone", Assembly = "PaymentGateway.AcquirerClient.Stone.AcquirerClientSaleService", ServiceUri = "https://transaction.stone.com.br/Sale" }, new Acquirer { Name = "Cielo", Assembly = "PaymentGateway.AcquirerClient.Cielo.AcquirerClientSaleService", ServiceUri = "https://apisandbox.cieloecommerce.cielo.com.br/1/sales/" } }; var storeAcquirers = new List <StoreAcquirer>() { new StoreAcquirer { Store = stores[0], Acquirer = acquirers[0], CreditCardBrand = creditCardBrands[0] }, new StoreAcquirer { Store = stores[0], Acquirer = acquirers[0], CreditCardBrand = creditCardBrands[1] }, new StoreAcquirer { Store = stores[1], Acquirer = acquirers[0], CreditCardBrand = creditCardBrands[0] }, new StoreAcquirer { Store = stores[1], Acquirer = acquirers[1], CreditCardBrand = creditCardBrands[1] } }; var creditCards = new List <CreditCard>() { new CreditCard { CreditCardBrand = creditCardBrands[0], CreditCardNumber = "0000000000000000" }, new CreditCard { CreditCardBrand = creditCardBrands[1], CreditCardNumber = "0000000000000001" } }; context.Stores.AddRange(stores); context.CreditCardBrands.AddRange(creditCardBrands); context.Acquirers.AddRange(acquirers); context.StoreAcquirers.AddRange(storeAcquirers); context.CreditCards.AddRange(creditCards); context.SaveChanges(); }