public void PayWithNewCard_Click(object o, System.EventArgs e) { CheckSslStatus(); try { PaymentClickEventArgs paymentClickEventArgs = new PaymentClickEventArgs(); if (PaymentClick != null) PaymentClick(this, paymentClickEventArgs); if (paymentClickEventArgs.Abort) return; if (Page.IsValid) { this.CardNumberHash = Cambro.Misc.Utility.Hash(CardNumber.Text.Replace(" ", "")); if (this.ValidateAndLockInvoices()) { secPay = new SecPay(); try { string cardFullName = ""; string cardNumber = ""; string cardCV2 = ""; DateTime cardStartDate = DateTime.MinValue; DateTime cardExpiryDate = DateTime.MinValue; string cardIssueNumber = ""; cardFullName = Name.Text; string cardAddressStreet = Address.Text; string cardAddressPostCode = Postcode.Text.ToUpper(); string cardAddressArea = uiAddressArea.Text; string cardAddressTown = uiAddressTown.Text; string cardAddressCounty = uiAddressCounty.Text; int cardAddressCountryK = LockedCountryK ?? ((CountryTable.Visible && FraudCheck.Equals(Transfer.FraudCheckEnum.Strict)) ? int.Parse(CountryDropDownList.SelectedValue) : 224); string cardAddressCountry = (CountryTable.Visible && FraudCheck.Equals(Transfer.FraudCheckEnum.Strict)) ? CountryDropDownList.SelectedItem.Text : "UK"; cardNumber = CardNumber.Text; cardCV2 = Cv2.Text; int cardEndYear = Convert.ToInt32(EndDateYear.Text.Trim()); cardEndYear += ((cardEndYear < 80) ? 2000 : 1900); cardExpiryDate = new DateTime(cardEndYear, Convert.ToInt32(EndDateMonth.Text.Trim()), 1); if (StartDateMonth.Text.Length > 0) { int cardStartYear = Convert.ToInt32(StartDateYear.Text.Trim()); cardStartYear += ((cardStartYear < 80) ? 2000 : 1900); cardStartDate = new DateTime(cardStartYear, Convert.ToInt32(StartDateMonth.Text.Trim()), 1); } if (Issue.Text.Length > 0) cardIssueNumber = Issue.Text; bool creatingInvoices = false; foreach (InvoiceDataHolder idh in Invoices) { creatingInvoices = idh.K == 0; SetInvoiceDatesUsrsGuid(idh); } int promoterK = 0; if (CurrentPromoter != null) promoterK = CurrentPromoter.K; if (Vars.DevEnv) System.Threading.Thread.Sleep(1000); secPay.MakePayment( Invoices, InvoiceTotalAfterBalanceAndCredit, CurrentUsr, promoterK, CurrentUsr.K, cardFullName, cardAddressStreet, cardAddressArea, cardAddressTown, cardAddressCounty, cardAddressCountryK, cardAddressPostCode, cardAddressCountry, cardNumber, cardExpiryDate, cardCV2, FraudCheck, this.SaveCardCheckBox.Checked, (Guid)ViewState["DuplicateGuidTransfer"], cardStartDate, cardIssueNumber); if (GetFullAddress) { Usr usr = Usr.Current; usr.AddressStreet = cardAddressStreet; usr.AddressTown = cardAddressTown; usr.AddressCounty = cardAddressCounty; usr.AddressCountryK = cardAddressCountryK; usr.AddressPostcode = cardAddressPostCode; usr.Update(); } } catch (Exception ex) { ProcessingVal.ErrorMessage = RETRY_INVOICE_ERROR_MSG; //try //{ // this.UnlockInvoiceItems(); //} //catch (Exception) //{ } ProcessException(ex, CardNumber.Text); return; } if (secPay.Transfer.Status.Equals(Transfer.StatusEnum.Success)) this.ProcessSuccessfulSecPayTransfer(secPay); else this.HandleFailedSecPayTransfer(secPay); } } else { if (ContainerPage != null && !HideValidationSummary) ContainerPage.AnchorSkip(this.ClientID + "_PaymentAnchor"); } } catch (Exception ex) { ProcessingVal.ErrorMessage = RETRY_INVOICE_ERROR_MSG; ProcessException(ex); return; } }
public void PayWithSavedCard_Click(object o, System.EventArgs e) { CheckSslStatus(); try { if (IsValidTotal() && AllowSavedCards) { PaymentClickEventArgs paymentClickEventArgs = new PaymentClickEventArgs(); if (PaymentClick != null) PaymentClick(this, paymentClickEventArgs); if (paymentClickEventArgs.Abort) return; if (Page.IsValid) { Transfer prevSavedTransfer = new Transfer(Convert.ToInt32(this.SavedCardDropDownList.SelectedValue)); this.CardNumberHash = prevSavedTransfer.CardNumberHash; //check for duplicate invoices if (ValidateAndLockInvoices()) { secPay = new SecPay(); //bool creatingInvoices = false; //int savedTransferK = Convert.ToInt32(this.SavedCardDropDownList.SelectedValue); if (!CurrentUsr.CheckPassword(PasswordTextBox.Text)) { ProcessingVal.IsValid = false; ProcessingVal.ErrorMessage = "Incorrect password"; this.UnlockInvoiceItems(); if (ContainerPage != null && !HideValidationSummary) ContainerPage.AnchorSkip(this.ClientID + "_PaymentAnchor"); } else { try { foreach (InvoiceDataHolder idh in Invoices) { //creatingInvoices = idh.K == 0; SetInvoiceDatesUsrsGuid(idh); } secPay.MakePaymentUsingSavedTransferDetails( Invoices, InvoiceTotalAfterBalanceAndCredit, CurrentUsr, prevSavedTransfer, FraudCheck, (Guid)ViewState["DuplicateGuidTransfer"]); } catch (Exception ex) { this.ProcessingVal.ErrorMessage = RETRY_INVOICE_ERROR_MSG; //try //{ // this.UnlockInvoiceItems(); //} //catch (Exception) //{ } this.ProcessException(ex, prevSavedTransfer.CardNumberEnd); return; } if (secPay.Transfer.Status.Equals(Transfer.StatusEnum.Success)) this.ProcessSuccessfulSecPayTransfer(secPay); else this.HandleFailedSecPayTransfer(secPay); } } } else { if (ContainerPage != null && !HideValidationSummary) ContainerPage.AnchorSkip(this.ClientID + "_PaymentAnchor"); } } else { // Re evaluate. this.Initialize(); } } catch (Exception ex) { ProcessingVal.ErrorMessage = RETRY_INVOICE_ERROR_MSG; ProcessException(ex); return; } }