private PaymentOptions GetPaymentOptions(TextBox paymentOption, TextBox option1, TextBox option2, DropDownList installments) { var options = new PaymentOptions_V01(); int installmentValue = 0; int.TryParse(installments.SelectedValue, out installmentValue); options.NumberOfInstallments = installmentValue; return(options); }
public override Payment GetPaymentInfo() { var payment = base.GetBasePaymentInfo() as CreditPayment_V01; string payCode = ddlCards.SelectedValue; if (!string.IsNullOrEmpty(payCode)) { payment.Card.IssuerAssociation = CreditCard.GetCardType(payCode); } var options = new PaymentOptions_V01(); options.NumberOfInstallments = Int32.Parse(ddlInstallments.SelectedValue); payment.PaymentOptions = options; //payment.Card.IssuingBankID = _cards.Card.Find(c => c.CardId == ddlCards.SelectedValue).Id.ToString(); Session.Remove(PaymentGatewayInvoker.PaymentInformation); Session.Add(PaymentGatewayInvoker.PaymentInformation, payment); return(payment); }
public override List <Payment> GetPayments(ServiceProvider.OrderSvc.Address_V01 shippingAddress) { var paymentList = new List <Payment>(); CheckForPaymentGatewayResponse(); var choice = GetCurrentPaymentOption(); switch (choice) { case PaymentOptionChoice.DirectDeposit: case PaymentOptionChoice.WireTransfer: case PaymentOptionChoice.PaymentGateway: { paymentList.Add(CreateDummyPayment(shippingAddress)); break; } case PaymentOptionChoice.CreditCard: { var paymentInfo = GetCurrentPaymentInformation(_locale, _distributorId); foreach (GridViewRow row in gridViewCardInfo.Rows) { var cardType = row.FindControl("lblCardType") as Label; var lblIssueNumber = row.FindControl("lblIssueNumber") as TextBox; var txtCVV = row.FindControl("txtCVV") as TextBox; var txtAmount = row.FindControl("txtAmount") as TextBox; var id = row.FindControl("cardID") as TextBox; var payOption = row.FindControl("txtOption") as TextBox; var choice1 = row.FindControl("txtChoice1") as TextBox; var choice2 = row.FindControl("txtChoice2") as TextBox; var ddInstallments = (DropDownList)row.FindControl("drpInstallments"); var currentOptions = row.FindControl("lnkPaymentOptions") as LinkButton; int cardID = int.Parse(id.Text); var ddBCPoints = row.FindControl("drpUsePoints") as DropDownList; decimal cardAmount; if (decimal.TryParse(txtAmount.Text, out cardAmount) && cardID > 0) { var info = paymentInfo.Find(p => p.ID == cardID); var thePayment = new CreditPayment(); if (info.CardType.Trim() == "국민카드" || info.CardType.Trim() == "비씨카드") { var payment = new KoreaISPPayment_V01(); payment.Amount = cardAmount; payment.AuthorizationMethod = AuthorizationMethodType.Online; payment.Card = new CreditCard(); payment.Card.AccountNumber = info.CardNumber; payment.Card.NameOnCard = (info.CardHolder.First.Trim() + " " + info.CardHolder.Last.Trim()).Trim(); payment.Card.Expiration = info.Expiration; payment.Card.CVV = txtCVV.Text.Trim(); payment.Currency = HLConfigManager.Configurations.CheckoutConfiguration.Currency.Trim(); payment.Address = (null != info.BillingAddress) ? info.BillingAddress : shippingAddress; payment.BCTopPoints = info.CardType.Trim() == "국민카드" ? int.Parse(ddBCPoints.SelectedValue) : 0; var options = new PaymentOptions_V01(); options.NumberOfInstallments = int.Parse(ddInstallments.SelectedValue) + payment.BCTopPoints; payment.PaymentOptions = options; payment.KvpEncryptedData = info.IssueNumber; payment.Card.IssuingBankID = info.CardType; payment.KvpSessionKey = "FA"; thePayment = payment; } else { var payment = new KoreaMPIPayment_V01(); payment.Amount = cardAmount; payment.AuthorizationMethod = AuthorizationMethodType.Online; payment.Card = new CreditCard(); payment.Card.AccountNumber = info.CardNumber; payment.Card.NameOnCard = (info.CardHolder.First.Trim() + " " + info.CardHolder.Last.Trim()).Trim(); payment.Card.Expiration = info.Expiration; payment.Card.CVV = txtCVV.Text.Trim(); payment.Currency = HLConfigManager.Configurations.CheckoutConfiguration.Currency.Trim(); payment.Address = (null != info.BillingAddress) ? info.BillingAddress : shippingAddress; var options = new PaymentOptions_V01(); options.NumberOfInstallments = int.Parse(ddInstallments.SelectedValue); payment.PaymentOptions = options; payment.CAVV = info.IssueNumber; payment.Card.IssuingBankID = info.CardType; payment.ECI = ""; payment.XID = "FA"; thePayment = payment; } thePayment.ReferenceID = currentOptions.Text; paymentList.Add(thePayment); } } break; } } string currentKey = PaymentsConfiguration.GetCurrentPaymentSessionKey(_locale, _distributorId); Session[currentKey] = paymentList; return(paymentList); }
public override void GetPaymentInfo(SerializedOrderHolder holder) { ServiceProvider.SubmitOrderBTSvc.Payment payment = holder.BTOrder.Payments[0]; CreditPayment_V01 orderPayment = (holder.Order as Order_V01).Payments[0] as CreditPayment_V01; List <string> PaymentGatewayLog = OrderProvider.GetPaymentGatewayLog(OrderNumber, PaymentGatewayLogEntryType.Response); string theOne = PaymentGatewayLog.Find(i => i.Contains(CardNum)); if (!string.IsNullOrEmpty(theOne)) { NameValueCollection theResponse = GetRequestVariables(theOne); // Card Number if (!string.IsNullOrEmpty(theResponse[CardNum])) { CardNumber = theResponse[CardNum]; } // Authorization Code if (!string.IsNullOrEmpty(theResponse[AuthCode])) { base.AuthorizationCode = theResponse[AuthCode]; } base.GetPaymentInfo(holder); //WebPay Amount if (!string.IsNullOrEmpty(theResponse[Amount])) { payment.Amount = Int32.Parse(theResponse[Amount]); } orderPayment.Amount = payment.Amount; // Number of Installments PaymentOptions_V01 options = new PaymentOptions_V01(); if (!string.IsNullOrEmpty(theResponse[InstallmentNumber])) { options.NumberOfInstallments = Int32.Parse(theResponse[InstallmentNumber]); } else { options.NumberOfInstallments = 1; } payment.NumberOfInstallments = options.NumberOfInstallments; orderPayment.PaymentOptions = options; // Installment Type is Card Type (VN for credit card, VD for debit card); borrow the Auth Merchant field to place the data to display on the page if (!string.IsNullOrEmpty(theResponse[InstallmentType])) { payment.AuthMerchant = theResponse[InstallmentType]; switch (theResponse[InstallmentType].ToString().ToUpper()) { case "VN": CardType = IssuerAssociationType.Visa; break; case "VD": CardType = IssuerAssociationType.GenericDebitCard; break; default: CardType = IssuerAssociationType.Visa; break; } } orderPayment.AuthorizationMerchantAccount = payment.AuthMerchant; } }
protected void OnAuthorizeAttempt(object sender, EventArgs e) { string xid = XID.Value; string eci = ECI.Value; string cavv = CAVV.Value; string sessionKey = SessionKey.Value; string encData = EncryptedData.Value; string cardNumber = CardNumber.Value; var item = dataListCardInfo.Items[dataListCardInfo.Items.Count - 1].FindControl("creditPaymentInfo") as PaymentInfoControl_KS; var txtId = item.FindControl("txtId") as TextBox; var txtAmount = item.FindControl("txtAmount") as TextBox; var txtCardholderName = item.FindControl("txtCardholderName") as TextBox; var txtPaymentMethod = item.FindControl("txtPaymentMethodType") as TextBox; var ddlCardType = item.FindControl("ddlCardType") as DropDownList; var ddlInstallments = item.FindControl("ddlInstallments") as DropDownList; var ddlBCPoints = item.FindControl("ddlBCPoint") as DropDownList; CreditPayment thePayment = null; if (txtPaymentMethod.Text == "XMPI") { if (!string.IsNullOrEmpty((xid + eci + cavv))) { var payment = new KoreaMPIPayment_V01(); payment.Amount = decimal.Parse(txtAmount.Text); payment.AuthorizationMethod = AuthorizationMethodType.Online; payment.Card = new CreditCard(); payment.Card.AccountNumber = cardNumber; payment.Card.NameOnCard = txtCardholderName.Text; payment.Card.Expiration = new DateTime(2049, 12, 31); payment.Currency = CurrencyType.KRW.Key; payment.XID = xid; payment.CAVV = cavv; payment.ECI = eci; var options = new PaymentOptions_V01(); options.NumberOfInstallments = int.Parse(ddlInstallments.SelectedValue); payment.PaymentOptions = options; payment.AuthorizationCode = "123456"; thePayment = payment; } } else { if (!string.IsNullOrEmpty((sessionKey + encData))) { var payment = new KoreaISPPayment_V01(); payment.LineID = txtId.Text; payment.Amount = decimal.Parse(txtAmount.Text); payment.AuthorizationMethod = AuthorizationMethodType.Online; payment.Card = new CreditCard(); payment.Card.AccountNumber = PaymentInfoProvider.VisaCardNumber; payment.Card.NameOnCard = txtCardholderName.Text; payment.Card.Expiration = new DateTime(2049, 12, 31); payment.Currency = HL.Common.ValueObjects.CurrencyType.KRW.Key; payment.KvpEncryptedData = encData; // "sdfsdfhsdfgsdgfsdfgsdfgsdfgsdfgsdfgsdfgsdfg;jtrtgowrhgiwerhgifhgldkfjgvs;dofgjvsdfvhdfvhsldihvrlserhgew;jgdfgnkfvnkdzs,n.x,cbn"; // encData; payment.KvpSessionKey = sessionKey; // "yaoieyrboacryserivnpeiorugnpxm,posijfpxfbjzx;cvzx;c mzclvk nzkchvado;fjivga'dfivhjadofvhad;fvha;uisdvhasdcbx.vlkc;'vndgtohuwpsrotuywpergynbsactyserngisrcuyudrfhxonzisudhfbxaiufheowrhcfisdfuhvsdofihjv"; // sessionKey; payment.BCTopPoints = int.Parse(ddlBCPoints.SelectedValue); ; var options = new PaymentOptions_V01(); options.NumberOfInstallments = int.Parse(ddlInstallments.SelectedValue) + payment.BCTopPoints; payment.PaymentOptions = options; payment.AuthorizationCode = "123456"; thePayment = payment; } } if (null != thePayment) { thePayment.Card.IssuingBankID = ddlCardType.SelectedItem.Text; thePayment.Address = new Address_V01(); if (string.IsNullOrEmpty(thePayment.AuthorizationCode)) { //lblCreditCardMessage.Text = GetLocalResourceObject("ValidateCardPaymentAuthFailedMessage") as string; } else { var items = GetPaymentInformation(); var p = (from c in items where c.LineID == thePayment.LineID select c); if (p.Count() > 0) { int index = items.IndexOf(p.First()); items.RemoveAt(index); items.Insert(index, thePayment); } else { items.Insert(0, thePayment); } SetPaymentInformation(items); _CurrentPaymentsList = GetCurrentCardsList(); dataListCardInfo.DataSource = _CurrentPaymentsList; dataListCardInfo.DataBind(); ResolvePayments(); SetupGridRows(); var status = OrderCoveredStatus.PartiallyCovered; var tot = (from c in _CurrentPaymentsList where !string.IsNullOrEmpty(c.AuthorizationCode) select c.Amount) .Sum(); if (null != _orderTotals && tot == _orderTotals.AmountDue) { status = OrderCoveredStatus.FullyCovered; } OnCreditCardAuthenticated(thePayment, new CreditCardAuthenticationCompletedEventArgs(status)); } } }
private Payment CreateDummyPayment(Address_V01 address) { Payment payment = null; var cc = new CreditCard(); cc.IssuerAssociation = CreditCard.GetCardType("VI"); cc.AccountNumber = PaymentInfoProvider.VisaCardNumber; cc.CVV = "123"; cc.Expiration = new DateTime(2012, 2, 1); cc.NameOnCard = "Test Card"; switch (GetCurrentPaymentOption()) { case PaymentOptionChoice.CreditCard: { var cp = new CreditPayment_V01(); var options = new PaymentOptions_V01(); options.NumberOfInstallments = 1; cp.PaymentOptions = options; cp.AuthorizationMethod = AuthorizationMethodType.Online; cp.AuthorizationCode = "123456"; cp.Card = cc; payment = cp; break; } case PaymentOptionChoice.PaymentGateway: { var cp = new CreditPayment_V01(); var options = new PaymentOptions_V01(); options.NumberOfInstallments = 1; string payCode = HLConfigManager.Configurations.PaymentsConfiguration.PaymentGatewayPayCode; if (!string.IsNullOrEmpty(payCode)) { cc.IssuerAssociation = CreditCard.GetCardType(payCode); } cp.Card = cc; cp.PaymentOptions = options; cp.AuthorizationMethod = AuthorizationMethodType.PaymentGateway; cp.TransactionType = HLConfigManager.Configurations.PaymentsConfiguration.PaymentGatewayAlias; cp.AuthorizationCode = "654321"; //cp.TransactionID = (null != _paymentGatewayResponse) ? _paymentGatewayResponse.TransactionCode : Guid.NewGuid().ToString(); cp.Card = cc; payment = cp; break; } case PaymentOptionChoice.WireTransfer: { var wp = new WirePayment_V01(); wp.TransactionType = ddlWire.SelectedItem.Text; wp.PaymentCode = ddlWire.SelectedValue; wp.ReferenceID = DistributorOrderingProfile.ReferenceNumber; wp.TransactionType = GetLocalResourceObject("ListItemResource3.Text") as string + ddlWire.SelectedItem.Text; payment = wp; break; } case PaymentOptionChoice.DirectDeposit: { var wp = new DirectDepositPayment_V01(); wp.PaymentCode = ddlDirectDeposit.SelectedValue; wp.ReferenceID = DistributorOrderingProfile.ReferenceNumber; wp.TransactionType = string.Format("{0}{1}", GetLocalResourceObject("ListItemResource4.Text") as string, ddlDirectDeposit.Items.Count > 1 ? string.Format("/{0}", ddlDirectDeposit.SelectedItem.Text) : string.Empty); payment = wp; break; } } if (null == address) { address = new Address_V01(); //address = new Address_V01(); //address.City = "Torrance"; //address.Country = _countryCode; //address.CountyDistrict = "Los Angeles"; //address.Line1 = "950W 190th Street"; //address.PostalCode = "90502"; //address.StateProvinceTerritory = "CA"; } if (null == payment.Address) { payment.Address = address; } payment.Address = address; payment.Amount = GetTotals().AmountDue; payment.Currency = HLConfigManager.Configurations.CheckoutConfiguration.Currency; return(payment); }