public CreditPayment GetEDCPaymentObject(int EDCCreditID, string createdBy, DateTime logDate) { var result = new CreditPayment(); using (DBClass = new MSSQLDatabase()) { var cmd = DBClass.GetStoredProcedureCommand("APP_GET_EDC_PAYMENT") as SqlCommand; DBClass.AddSimpleParameter(cmd, "@SalesCreditId", EDCCreditID); var reader = DBClass.ExecuteReader(cmd); while (reader.Read()) { result.BankLogObject = new BankLogObject { CashBankID = int.Parse(reader[0].ToString()), Description = string.Format("Pelunasan pembayaran via EDC oleh {0}", reader[3]), Deposit = decimal.Parse(reader[1].ToString()), Withdraw = 0, SalesVoucher = reader[2].ToString(), Note = "", CreatedBy = createdBy, CreatedDate = logDate }; } } return(result); }
public IEnumerable <CreditPayment> GetSalesCreditPayment(int salesID) { var result = new List <CreditPayment>(); using (DBClass = new MSSQLDatabase()) { var cmd = DBClass.GetStoredProcedureCommand("APP_GET_SALES_CREDIT_PAYMENT") as SqlCommand; DBClass.AddSimpleParameter(cmd, "@SalesId", salesID); var reader = DBClass.ExecuteReader(cmd); while (reader.Read()) { var payment = new CreditPayment { CreditPaymentID = int.Parse(reader[0].ToString()), CreditPaymentType = int.Parse(reader[1].ToString()), CashLogObject = new CashLogObject { DepartementID = int.Parse(reader[2].ToString()), CashID = string.IsNullOrEmpty(reader[3].ToString()) ? 0 : int.Parse(reader[3].ToString()), SalesVoucher = reader[5].ToString(), CreatedDate = DateTime.Parse(reader[6].ToString()) }, BankLogObject = new BankLogObject { CashBankID = string.IsNullOrEmpty(reader[4].ToString()) ? 0 : int.Parse(reader[4].ToString()), SalesVoucher = reader[5].ToString(), CreatedDate = DateTime.Parse(reader[6].ToString()) } }; result.Add(payment); } } return(result); }
public void CreatePayment(CreditPayment creditPayment) { using (var context = new FinanceEntities()) { context.CreditPayment.Add(creditPayment); context.SaveChanges(); } }
private void OpenCreditDialog() { CreditPayment cp = Dialogs.GetCreditPayment(double.Parse(LeftToPay.ToString())); if (cp != null) { } }
/// <summary> /// Конструктор /// </summary> /// <param name="creditPayment">Оплата</param> public PaymentRow(CreditPayment creditPayment) { this.Guid = creditPayment.Guid; this.PaymentDate = creditPayment.PaymentDate; this.Type = ControllerResources.OrderPayControl_CreditPaymentType; this.Amount = creditPayment.Amount; this.DocumentName = creditPayment.DocumentName; }
public async Task <PaymentResponceDto> SubmitPaymentAsync(CreditPayment body) { try { var currency = await _currenciesRepository.FirstOrDefaultAsync(body.UserData.UserPaymentData.CurrencyId); if (currency == null) { throw new UserFriendlyException(L("CurrencyNotFound")); } StripeConfiguration.SetApiKey(StripeApiKey); var chargeOptions = new StripeChargeCreateOptions() { Amount = Convert.ToInt32(body.UserData.UserPaymentData.Amount) * 100, //TODO old Currency = body.UserData.UserPaymentData.CurrentType, Currency = currency.Code, Description = "Charge for " + body.UserData.FirstName + " " + body.UserData.LastName, SourceTokenOrExistingSourceId = body.PaymentData.Id }; var transaction = _transactionRepository.GetAll().LastOrDefault(tran => tran.AmountDue == body.UserData.UserPaymentData.Amount && tran.TransactionStatus == TransactionStatusEnum.Commited && tran.UserId == body.UserData.UserPaymentData.UserId); var chargeService = new StripeChargeService(); StripeCharge charge = chargeService.Create(chargeOptions); if (charge.Status.Equals("succeeded")) { if (transaction != null) { transaction.TransactionStatus = TransactionStatusEnum.Paid; await _transactionRepository.UpdateAsync(transaction); } await SavePaymentDataAsync(charge, body.UserData.UserPaymentData.UserId); } return(new PaymentResponceDto { Status = charge.Status }); } catch (StripeException ex) { throw new UserFriendlyException(ex.Message); } catch (Exception ex) { throw new UserFriendlyException(ex.Message); } }
public void SetUp() { _invalidCreditPayment = new CreditPayment(); _validCreditPayment = new CreditPayment { Amount = 10, Currency = "EUR", PaymentDate = DateTime.Now, PaymentType = PaymentType.AgencyAccount, Status = PaymentStatus.Pending, Credit = 100, AccountNumber = "41275323" }; }
public Task Process(string method, decimal amount) { var tEvent = new PaymentCreatedEvent(); switch (method) { case "Cash": BasePayment cashPayment = new CashPayment(); cashPayment.Execute(tEvent); break; case "Credit": BasePayment creditPayment = new CreditPayment(); creditPayment.Execute(tEvent); break; } return(Task.CompletedTask); }
public static void CheckOut() { int userSelection = Validate.ParseIntFromString("How are you paying for your items today?\n1.Credit Card\n2.Cash\n3.PayPal\n4.Check\n", 1, 4); switch (userSelection) { case 1: // credit card method CreditPayment payment = new CreditPayment(); payment.GetPayment(); receipt.PaymentType = payment; break; case 2: // cash method CashPayment cash = new CashPayment(); cash.GetPayment(); if(cash.Input < receipt.Total) { Console.WriteLine("Insufficient funds!"); CheckOut(); break; } cash.Change = cash.Input - receipt.Total; receipt.PaymentType = cash; break; case 3: // paypal method PayPalPayment payPal = new PayPalPayment(); payPal.GetPayment(); receipt.PaymentType = payPal; break; case 4: //check method CheckPayment check = new CheckPayment(); check.GetPayment(); receipt.PaymentType = check; break; default: Validate.GetInput("Please select a valid payment method"); break; } }
/// <summary> /// Добавить оплату кредитом /// </summary> public void AddNewCreditPayment() { var creditPayment = new CreditPayment() { Guid = Guid.NewGuid(), PaymentDate = DateTime.Now, Amount = _orderPayView.CreditAmount, BankId = 1, BankProductId = 1, BankOrderNumber = _orderPayView.CreditBankOrderNumber, CreditAmount = _orderPayView.CreditAmount, InitialFee = _orderPayView.CreditInitialFee, NameInOrder = _orderPayView.CreditNameInOrder, DocumentName = _orderPayView.CreditPathToFile }; _creditPayments.Add(creditPayment); if (!string.IsNullOrWhiteSpace(creditPayment.DocumentName)) { _orderDocuments.Add(new OrderDocument(creditPayment.DocumentName, _orderPayView.CreditFileStream)); } var paymentRow = new PaymentRow(creditPayment); _orderPayView.AddPaymentToGrid(paymentRow); _orderPayView.CreditAmount = 0; _orderPayView.CreditBank = string.Empty; _orderPayView.CreditBankProduct = string.Empty; _orderPayView.CreditBankOrderNumber = string.Empty; _orderPayView.CreditAmount = 0; _orderPayView.CreditInitialFee = 0; _orderPayView.CreditNameInOrder = string.Empty; _orderPayView.CreditPathToFile = string.Empty; _orderPayView.CreditScannerCode = string.Empty; MainController.RecalculatePayment(); }
public void SaveEDCPayment(CreditPayment payment, string createdBy) { using (DBClass = new MSSQLDatabase()) { using (DbTransaction txn = DBClass.BeginTransaction()) { try { var cmd = DBClass.GetStoredProcedureCommand("APP_EDC_CREDIT_PAYMENT") as SqlCommand; DBClass.AddSimpleParameter(cmd, "@SalesCreditId", payment.SalesCreditID); DBClass.AddSimpleParameter(cmd, "@CreatedBy", createdBy); DBClass.AddSimpleParameter(cmd, "@PaymentDate", payment.CreditPaymentDate); DBClass.ExecuteNonQuery(cmd, txn); txn.Commit(); } catch (Exception) { txn.Rollback(); throw; } } } }
public void SavePayment(CreditPayment payment, string createdBy) { using (DBClass = new MSSQLDatabase()) { using (DbTransaction txn = DBClass.BeginTransaction()) { try { var cmd = DBClass.GetStoredProcedureCommand("APP_SAVE_NEW_SALES_CREDIT_PAYMENT") as SqlCommand; DBClass.AddSimpleParameter(cmd, "@SalesCreditId", payment.SalesCreditID); DBClass.AddSimpleParameter(cmd, "@SalesId", payment.SalesId); DBClass.AddSimpleParameter(cmd, "@VoucherCode", payment.VoucherCode); DBClass.AddSimpleParameter(cmd, "@PaymentType", payment.CreditPaymentType); DBClass.AddSimpleParameter(cmd, "@Nominal", payment.Nominal); DBClass.AddSimpleParameter(cmd, "@Note", payment.Note); DBClass.AddSimpleParameter(cmd, "@PaymentDate", payment.CreditPaymentDate); if (payment.CashBankID != null) { DBClass.AddSimpleParameter(cmd, "@CashBankId", payment.CashBankID); } if (payment.DepositSalesID != null) { DBClass.AddSimpleParameter(cmd, "@DepositSalesId", payment.DepositSalesID); } DBClass.AddSimpleParameter(cmd, "@CreatedBy", createdBy); DBClass.ExecuteNonQuery(cmd, txn); txn.Commit(); } catch (Exception) { txn.Rollback(); throw; } } } }
public IEnumerable <CreditPayment> GetSalesCreditPayments(int salesCreditID) { var result = new List <CreditPayment>(); using (DBClass = new MSSQLDatabase()) { var cmd = DBClass.GetStoredProcedureCommand("APP_GET_SALES_CREDIT_PAYMENTS") as SqlCommand; DBClass.AddSimpleParameter(cmd, "@SalesCreditId", salesCreditID); var reader = DBClass.ExecuteReader(cmd); while (reader.Read()) { var payment = new CreditPayment(); payment.VoucherCode = reader[0].ToString(); payment.PaymentTypeString = reader[1].ToString(); payment.AccountNumber = reader[2].ToString(); payment.VoucherCode = reader[3].ToString(); payment.Nominal = decimal.Parse(reader[4].ToString()); payment.CreditPaymentDate = DateTime.Parse(reader[5].ToString()); payment.Note = reader[6].ToString(); result.Add(payment); } } return(result); }
/// <summary>Resolve current card entries to the rebuilt grid. Substitute for ViewState - can't use it for adding cards</summary> /// <param name="payments">List of current user entered payments</param> private void ResolvePayments() { var payments = GetPaymentInformation(); if (null != payments && payments.Count > 0) { decimal totalDue = GetTotals().AmountDue; decimal runTotal = totalDue; PaymentInfoControl_KS thisItem = null; CreditPayment pi = null; foreach (DataListItem item in dataListCardInfo.Items) { thisItem = item.FindControl("creditPaymentInfo") as PaymentInfoControl_KS; pi = thisItem.PaymentInfo; runTotal -= (!string.IsNullOrEmpty(pi.AuthorizationCode)) ? pi.Amount : 0; if (pi.Amount > totalDue) { if (string.IsNullOrEmpty(pi.AuthorizationCode)) { pi.Amount = 0; } else { thisItem.FlagAsOverage(); } } } if (runTotal > 0) { pi.Amount = runTotal; thisItem.DisplayCard(dataListCardInfo.Items.Count == HLConfigManager.Configurations.PaymentsConfiguration.MaxCardsToDisplay); } } }
public async Task <bool> DeleteCreditPaymentAsync(CreditPayment payment) { return(await _baseRepository.DeleteEntityAsync(payment)); }
public override bool Credit() { IPaymentCreditor creditor = new CreditPayment(null, _paymentManager); return(creditor.Credit(this)); }
public override bool Credit() { IPaymentCreditor creditor = new CreditPayment(null, _paymentManager); return creditor.Credit(this); }
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)); } } }
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); }