public void SendTotalAmountToCreditCardProcessor() { var paymentProcessor = new FakePaymentProcessor(); var reservationService = new FakeReservationService(); var notificationService = new FakeNotificationService(); _cart.Add(new OrderItem() { Quantity = 5, Sku = "B4GO_APPLE" }); _cart.Add(new OrderItem() { Quantity = 6, Sku = "SPECIAL_CANDYBAR" }); var paymentDetails = new PaymentDetails() { PaymentMethod = PaymentMethod.CreditCard }; var order = new LosselyCoupled.OnlineOrder(_cart, paymentDetails, paymentProcessor, reservationService, notificationService); order.Checkout(); Assert.IsTrue(paymentProcessor.WasCalled); Assert.AreEqual(_cart.TotalAmount(), paymentProcessor.AmountPassed); }
public int BookEvent(PaymentDetails PaymentDetail) { try { if (PaymentDetail != null) { _context.PaymentDetails.Add(PaymentDetail); _context.SaveChanges(); var currentBookingID = _context.PaymentDetails.OrderByDescending(u => u.PaymentDetailID).FirstOrDefault(); var no = currentBookingID.PaymentDetailID.ToString() == "0" ? "1" : currentBookingID.PaymentDetailID.ToString(); var seq = "BK" + "-" + DateTime.Now.Year + "-" + no; PaymentDetail.PaymentNo = seq; _context.PaymentDetails.Attach(PaymentDetail); _context.Entry(PaymentDetail).Property(x => x.PaymentNo).IsModified = true; _context.SaveChanges(); return(PaymentDetail.PaymentDetailID); } else { return(0); } } catch (Exception) { throw; } }
public PaymentDetails GenerateDetails(string identifier, decimal amount, string returnUrl, string errorUrl, string message) { var details = new PaymentDetails { Url = Url, Fields = new NameValueCollection(StringComparer.Ordinal) { {"Merchant_Number",Account}, {"Card_Details_Transmit","0"}, {"Language","FI"}, {"Device_Category","1"}, {"Order_ID",identifier}, {"Amount",Math.Floor(amount*100).ToString(CultureInfo.InvariantCulture)}, {"Currency_Code","978"}, {"Order_Description",message}, {"Success_Url",returnUrl}, {"Failure_Url",errorUrl}, {"Cancel_Url",errorUrl}, {"Transaction_Type","1"} } }; details.Fields["Authentication_Mac"] = String.Format("{0}&{1}&{2}&{3}&{4}&{5}", details.Fields["Merchant_Number"], details.Fields["Order_ID"], details.Fields["Amount"], details.Fields["Currency_Code"], details.Fields["Transaction_Type"], Secret).Hash("SHA256").ToUpperInvariant(); return details; }
public async Task <TransactionPayment> ProcessPayment(MerchantPaymentDetails details) { var httpRequest = new HttpRequestMessage() { RequestUri = new Uri(new Uri(baseUrl), $"api/payment/{SupplierId}") }; httpRequest.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpRequest.Method = HttpMethod.Post; var content = new PaymentDetails(details); var contentStr = JsonConvert.SerializeObject(content); httpRequest.Content = new StringContent( contentStr, System.Text.Encoding.UTF8, "application/json"); var httpResponse = await client.SendAsync(httpRequest); var response = JsonConvert.DeserializeObject <TransactionPayment>( await httpResponse.Content.ReadAsStringAsync()); return(response); }
/// <summary> /// Used to submit new Payment /// </summary> /// <param name="paymentDetails">payment Details</param> /// <returns>true/False</returns> public bool SubmitPayment(PaymentDetails paymentDetails) { try { PaymentTypeFactory paymentFactory = null; paymentFactory = GenerateType(paymentDetails.TypeofPayment); if (paymentFactory == null) { return(false); } bool insertStatus = buisnessRuleEngineDB.SubmitPayment(paymentDetails); if (insertStatus) { PaymentTypesBaseClass paymentTypesBaseClass = paymentFactory?.GenerateTypeClass(); paymentTypesBaseClass.FillMinDetail(paymentDetails.Name, paymentDetails.PhoneNumber); paymentTypesBaseClass.PerformOperations(paymentDetails); } return(insertStatus); } catch (Exception) { throw; } }
public FormPaymentDetails1() { InitializeComponent(); PaymentDetails.ButtonsEditEnabled(ButtonsPayment(), LabelsPayment(), TextBoxesPayment(), RichTextBoxesPayment(), ComboBoxPayment(), buttonsEdit = false);; Payments.ComboBoxTitleElements(comBoxTitle); }
public void Update(ListView listViewPayment) { lista = listViewPayment; int i = listViewPayment.SelectedIndices[0]; selectedIndex = i; using (var context = new BCEntities()) { List <Button> buttons = this.Controls.OfType <Button>().Where(a => a.Name.StartsWith("btn")).ToList(); var paymentList = context.Payments.ToList(); comBoxTitle.Text = paymentList[i].Title; txtPrice.Text = Math.Round(Convert.ToDecimal(paymentList[i].Price), 2).ToString(); txtBuyerName.Text = paymentList[i].BuyerName; txtShopName.Text = paymentList[i].ShopName; richTxtPaymentDescription.Text = paymentList[i].Description; lblPaymentDate.Text = paymentList[i].PaymentDay.ToString(); lblPurchaseDate.Text = paymentList[i].PurchaseDate.ToString(); txtBillNo.Text = paymentList[i].InvoiceNo; if (paymentList[i].Scan != null) { pbxBillScan.Image = PaymentDetails.ConvertBinaryToImage(paymentList[i].Scan); } else { pbxBillScan.Image = null; } } }
public ByteString GetPaymentRequest(string finalAccount, ulong amount) { PaymentDetails paymentDetails = new PaymentDetails(); paymentDetails.Network = isMainNet ? "main" : "test"; paymentDetails.Time = GetTimestamp(DateTime.UtcNow); paymentDetails.Expires = GetTimestamp(DateTime.UtcNow.AddHours(1)); paymentDetails.Memo = $"Funding Openchain account {finalAccount}"; Output paymentOutput = new Output(); paymentOutput.Amount = amount; paymentOutput.Script = Google.Protobuf.ByteString.CopyFrom(NBitcoin.Script.CreateFromDestinationAddress(destinationAddress).ToBytes()); Output dataOutput = new Output(); dataOutput.Amount = dustValue; dataOutput.Script = Google.Protobuf.ByteString.CopyFrom( new[] { (byte)OpcodeType.OP_RETURN }.Concat(Op.GetPushOp(Encoding.UTF8.GetBytes("OG" + finalAccount)).ToBytes()).ToArray()); paymentDetails.Outputs.Add(paymentOutput); paymentDetails.Outputs.Add(dataOutput); PaymentRequest request = new PaymentRequest(); request.SerializedPaymentDetails = paymentDetails.ToByteString(); request.PkiType = "none"; return new ByteString(request.ToByteArray()); }
public async Task ReturnPaymentDetails() { //Arrange var controller = new PaymentDetailsController(_paymentService); var paymentId = Guid.NewGuid(); var bankResponseId = Guid.NewGuid(); var paymentResult = new PaymentDetails() { Id = paymentId, BankResponseId = bankResponseId, PaymentMethod = new PaymentMethod() { CardExpiry = "12/22", CardNumber = "1000200030004000", Cvv = "000" } }; await _dbRepository.AddNewItem(paymentResult); //Act var response = await controller.Get(bankResponseId); var result = response as OkObjectResult; var paymentResponse = (PaymentResponse)result.Value; //Assert result.Should().NotBeNull(); paymentResponse.BankResponseId.Should().Be(bankResponseId); }
public PaymentDetails GenerateDetails(string identifier, decimal amount, string returnUrl, string errorUrl, string message) { var referenceNumber = ReferenceCalculator.GenerateReferenceNumber(identifier); var formattedAmount = amount.ToString("N2", CultureInfo.CreateSpecificCulture("fi-fi")); var details = new PaymentDetails { Url = Url, Fields = new NameValueCollection(StringComparer.Ordinal) { { "KNRO", Account }, { "SUMMA", formattedAmount }, { "VIITE", referenceNumber }, { "VALUUTTA", Currency }, { "VERSIO", "4" }, { "ALG", "03" }, { "ERAPAIVA", DateTime.Now.ToString("dd.MM.yyyy") }, { "OKURL", returnUrl }, { "VIRHEURL", errorUrl } } }; details.Fields["TARKISTE"] = String.Format("{0}&{1}&{2}&{3}&{4}&{5}&{6}&{7}&{8}&", Secret, details.Fields["SUMMA"], details.Fields["VIITE"], details.Fields["KNRO"], details.Fields["VERSIO"], details.Fields["VALUUTTA"], details.Fields["OKURL"], details.Fields["VIRHEURL"], details.Fields["ERAPAIVA"]).Hash("SHA256").ToUpperInvariant(); return details; }
public int Add(PaymentDetails newPay) { this.paymentDetails.Add(newPay); this.paymentDetails.Save(); return newPay.Id; }
public PaymentDetails GenerateDetails(string identifier, decimal amount, string returnUrl, string errorUrl, string message) { var referenceNumber = ReferenceCalculator.GenerateReferenceNumber(identifier); var details = new PaymentDetails { Url = Url, Fields = new NameValueCollection(StringComparer.Ordinal) { {"NET_STAMP",identifier}, {"NET_SELLER_ID",Account}, {"NET_AMOUNT",amount.ToString("N2",CultureInfo.CreateSpecificCulture("fi-fi"))}, {"NET_CUR","EUR"}, {"NET_REF",referenceNumber}, {"NET_DATE","EXPRESS"}, {"NET_MSG",message}, {"NET_RETURN",returnUrl}, {"NET_CANCEL",errorUrl}, {"NET_REJECT",errorUrl}, {"NET_CONFIRM","YES"}, } }; if(Version==1) { SignV1(details.Fields); } else if(Version==3) { SignV3(details.Fields); } else if(Version==10) { SignV10(details.Fields); } else { throw new InvalidOperationException(String.Format("Specified version {0} is not supported, supported values are 1, 3, and 10", Version)); } return details; }
public ActionResult <string> GeneratePaykey([FromBody] PaymentRequest request) { string payKey = Utils.Utils.GenerateRandomId(10); int collisions = 0; while (_db.Exists(payKey)) { payKey = Utils.Utils.GenerateRandomId(10); collisions++; } if (collisions > 0) { _logger.LogWarning($"Generate paykey with {collisions} collisions."); } var paymentDetails = new PaymentDetails { Amount = request.total, InvoiceNo = request.invoiceno, Currency = request.currency, PayKey = payKey, Gateway = request.gateway, Hashkey = request.hashkey, TransactionStatus = TransactionStatus.New, ArcadierTransactionStatus = TransactionStatus.New }; _db.SaveDetails(payKey, paymentDetails); return(payKey); }
public async Task <IActionResult> ProcessPayment([FromBody] PaymentDetails paymentDetails) { // TODO: Relying on the bank to check the validity of the currency. We only ensure it's 3 letters. if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { // Create our own ID to track the request var paymentId = Guid.NewGuid(); // Attempt to pay via the bank PaymentResponse response = await _bank.ProcessPaymentAsync(paymentDetails.CardDetails, paymentDetails.TransactionDetails); // Store history of both failed and succeeded payments var request = new PaymentRequestLog { Id = paymentId, MaskedCardDetails = new MaskedCardDetails(paymentDetails.CardDetails), TransactionDetails = paymentDetails.TransactionDetails, PaymentResponse = response }; await _store.LogPaymentRequest(request); return(Ok(new ProcessPaymentResult(paymentId, response))); } catch (Exception e) { _logger.LogError(e, "Error occurred Processing Payment"); return(InternalServerError()); } }
private async void Button_Click(object sender, RoutedEventArgs e) { var pm = new PaymentMediator(); PaymentDetails details = new PaymentDetails(new PaymentItem("Total", new PaymentCurrencyAmount(selectedProduct.UnitPrice.ToString(), "USD")), new List <PaymentItem>() { new PaymentItem(selectedProduct.ProductName, new PaymentCurrencyAmount(selectedProduct.UnitPrice.ToString(), "USD")) }) { ShippingOptions = CreateShippingOptions() }; List <PaymentMethodData> methods = new List <PaymentMethodData>() { new PaymentMethodData(new List <String>() { "basic-card" }) }; PaymentMerchantInfo merchantInfo = new PaymentMerchantInfo(new Uri("http://www.contoso.com")); PaymentOptions options = new PaymentOptions() { RequestShipping = true, ShippingType = PaymentShippingType.Delivery, RequestPayerEmail = PaymentOptionPresence.Optional, RequestPayerName = PaymentOptionPresence.Required, RequestPayerPhoneNumber = PaymentOptionPresence.None }; var paymentRequest = new PaymentRequest( details, methods, merchantInfo, options); var result = await pm.SubmitPaymentRequestAsync(paymentRequest); UpdateUserStatus(result); }
public int Add(PaymentDetails newPay) { this.paymentDetails.Add(newPay); this.paymentDetails.Save(); return(newPay.Id); }
bool saveDeal(Int64 bidId) { var order = Order.FetchByBidId(bidId); if (order != null && order.SupplierId > 0) { return(false); } decimal TotalPrice = order.TotalPrice; var discount = BidController.GetDiscountForUser(TotalPrice, order.AppUserId); var supplier = AppSupplier.FetchByID(312); string response = ""; decimal PriceAfterDiscount = Convert.ToDecimal(discount["PriceAfterDiscount"]); decimal PrecentDiscount = Convert.ToDecimal(discount["PrecentDiscount"]); Int64? CampaignId = Convert.ToInt64(discount["CampaignId"]); var paymentDetails = new PaymentDetails { Amount = (float)PriceAfterDiscount * 100, CreditId = order.Transaction, Exp = order.ExpiryDate, AuthNumber = order.AuthNumber, NumOfPayments = order.NumOfPayments, SupplierToken = supplier.MastercardCode }; try { response = CreditGuardManager.CreateMPITransaction(paymentDetails); } catch { Notification.SendNotificationAppUserCreditRejected(order.AppUserId, bidId); return(false); } if (response != "000") { Notification.SendNotificationAppUserCreditRejected(order.AppUserId, bidId); return(false); } order.IsSendRecived = false; if (CampaignId != 0) { order.CampaignId = CampaignId; } order.TotalPrice = TotalPrice; order.PriceAfterDiscount = PriceAfterDiscount; order.PrecentDiscount = PrecentDiscount; // order.SpecialInstructions = special_instructions; order.UserPaySupplierStatus = UserPaymentStatus.Payed; order.SupplierId = 312; order.Save(); var bid = Bid.FetchByID(bidId); bid.IsActive = false; bid.Save(); Notification.SendNotificationAppUserSupplierApproved(Snoopi.web.Localization.PushStrings.GetText("SupplierApproved"), bid.AppUserId.Value, order.OrderId); return(true); }
public void CreatePaymentDetailsDto_WithValidPaymentDetails_ReturnsCorrectPaymentDetailsDto() { var paymentDetails = new PaymentDetails { CardNumber = "1234", Currency = Currency.EUR, CardCvv = 123, CardExpiryMonth = 12, CardExpiryYear = 2020, Success = true, UserId = "1234", Amount = 12, CreatedAt = DateTime.Now, Id = "1234" }; var result = _paymentDetailsDtoFactory.CreatePaymentDetailsDto(paymentDetails); Assert.Equal(paymentDetails.Amount, result.Amount); Assert.Equal(paymentDetails.Currency, result.Currency); Assert.Equal(paymentDetails.Id, result.PaymentId); Assert.Equal(paymentDetails.Success, result.Success); Assert.Equal(paymentDetails.CreatedAt, result.PaymentCreatedAt); Assert.Equal(paymentDetails.CardCvv, result.CardDetails.Cvv); Assert.Equal(paymentDetails.CardExpiryMonth, result.CardDetails.ExpiryMonth); Assert.Equal(paymentDetails.CardExpiryYear, result.CardDetails.ExpiryYear); }
public async Task ProcessPayment_ShouldReturnFailedResult_WhenBankReturnsFailedResponse() { var expectedTransactionID = 9998; var paymentDetails = new PaymentDetails { CardNumber = "1234123412341234", ExpiryMonth = 5, ExpiryDate = 23, CardHolderName = "Y LI", Amount = 18.99M, Currency = "GBP", CVV = "111" }; _mockPaymentRepository.Setup(x => x.SavePaymentDetails(It.IsAny <PaymentDetailsDTO>())).ReturnsAsync(123); _mockSimulatedBankService.Setup(x => x.GetBankResponse(paymentDetails)) .ReturnsAsync(new SimulatedBankResponse(expectedTransactionID, TransactionStatus.Fail)); _mockTransactionService .Setup(x => x.SaveTransactionDetails(It.IsAny <TransactionDetails>())) .ReturnsAsync(true); var actual = await _paymentService.ProcessPayment(paymentDetails); Assert.False(actual.Success); Assert.Equal(expectedTransactionID, actual.TransactionID); }
public ResponseData AddPayments(PaymentDetails payment) { try{ response = new ResponseData(); if (payment.TransactionAmount == 0) { response.Message = CustomMessage.MinAmt; response.Code = (int)HttpStatusCode.BadRequest; return(response); } AccountDetails act; act = db.AccountDetails.Find(payment.AccountId); int currentMonth = DateTime.Now.Month; IQueryable <PaymentDetails> objPayments = db.PaymentDetails.Where(x => x.AccountId == payment.AccountId && payment.TransactionDate.Value.Month == currentMonth); int usedLimit = objPayments.Select(x => x.TransactionAmount.Value).Sum(); if (usedLimit + payment.TransactionAmount <= act.MontlyCl) { db.PaymentDetails.Add(payment); db.SaveChanges(); response.Message = CustomMessage.Paid; response.Code = (int)HttpStatusCode.OK; } else { response.Message = CustomMessage.NoBalance; response.Code = (int)HttpStatusCode.BadRequest; } return(response); } catch (Exception ex) { throw ex; } }
public void AddPaymentDetails(PaymentDetails paymentDetails, int requestID) { using (SqlConnection connection = new SqlConnection(CONNECTION_STRING)) { try { connection.Open(); SqlCommand insertCmd = new SqlCommand("spAddPaymentDetails", connection); insertCmd.CommandType = CommandType.StoredProcedure; insertCmd.Parameters.Add("@RequestID", SqlDbType.Int).Value = requestID; insertCmd.Parameters.Add("@BillingFirstName", SqlDbType.NVarChar).Value = paymentDetails.FirstName; insertCmd.Parameters.Add("@BillingLastName", SqlDbType.NVarChar).Value = paymentDetails.LastName; insertCmd.Parameters.Add("@CardNum", SqlDbType.NChar).Value = paymentDetails.CardNum; insertCmd.Parameters.Add("@SecurityCode", SqlDbType.NChar).Value = paymentDetails.SecurityCode; insertCmd.Parameters.Add("@BillingAddressLine1", SqlDbType.NVarChar).Value = paymentDetails.BillingAddress.Line1; insertCmd.Parameters.Add("@BillingAddressLine2", SqlDbType.NVarChar).Value = paymentDetails.BillingAddress.Line2; insertCmd.Parameters.Add("@BillingAddressCity", SqlDbType.NVarChar).Value = paymentDetails.BillingAddress.City; insertCmd.Parameters.Add("@BillingAddressState", SqlDbType.NVarChar).Value = paymentDetails.BillingAddress.State; insertCmd.Parameters.Add("@BillingAddressZipCode", SqlDbType.NVarChar).Value = paymentDetails.BillingAddress.Zip; insertCmd.ExecuteNonQuery(); connection.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); connection.Close(); } } }
public async Task <ActionResult <PaymentDetails> > SavePaymentDetails(PaymentDetails paymentDetails) { _context.paymentDetail.Add(paymentDetails); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPaymentDetails", new { id = paymentDetails.PMId }, paymentDetails)); }
public IHttpActionResult PutPaymentDetails(int id, PaymentDetails paymentDetails) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != paymentDetails.PMId) { return(BadRequest()); } db.Entry(paymentDetails).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PaymentDetailsExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public PaymentDetails GenerateDetails(string identifier, decimal amount, string returnUrl, string errorUrl, string message) { var referenceNumber = ReferenceCalculator.GenerateReferenceNumber(identifier); var details = new PaymentDetails { Url = Url, Fields = new NameValueCollection(StringComparer.Ordinal) { {"action_id","701"}, {"VERSIO","1"}, {"MAKSUTUNNUS",identifier}, {"MYYJA",Account}, {"SUMMA",amount.ToString("N2",CultureInfo.CreateSpecificCulture("fi-fi"))}, {"VIITE",referenceNumber}, {"VIESTI",message}, {"TARKISTE-VERSIO","1"}, {"PALUULINKKI",returnUrl}, {"PERUUTUSLINKKI",errorUrl}, {"VAHVISTUS","Y"}, {"VALUUTTALAJI","EUR"} } }; details.Fields["TARKISTE"] = String.Format("{0}{1}{2}{3}{4}{5}{6}{7}", details.Fields["VERSIO"], details.Fields["MAKSUTUNNUS"], details.Fields["MYYJA"], details.Fields["SUMMA"], details.Fields["VIITE"], details.Fields["VALUUTTALAJI"], details.Fields["TARKISTE-VERSIO"], Secret).Hash("MD5").ToUpperInvariant(); return details; }
public async Task <IActionResult> PutPaymentDetails(int id, PaymentDetails paymentDetails) { if (id != paymentDetails.PMId) { return(BadRequest()); } _context.Entry(paymentDetails).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PaymentDetailsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void MakePayment(PaymentDetails paymentDetails) { var paymentService = Services.GetRequiredService <IPaymentService>(); // ... }
public async Task <ActionResult> FinalizeOrder(PaymentDetails paymentDetails) { if (ModelState.IsValid) { var order = await db.Orders.FindAsync(paymentDetails.OrderID); if (order.Submitted) { return(await Task.Run(() => RedirectToAction("Order"))); } order.PaymentDetails = paymentDetails; order.Submitted = true; await db.SaveChangesAsync(); if (User.Identity.IsAuthenticated) { var member = await db.Members.FindAsync(User.Identity.GetUserId()); var freePizzas = order.Pizzas.Where(p => p.Free).ToList(); if (freePizzas.Any()) { member.FreePizzasClaimed(freePizzas.Count()); await db.SaveChangesAsync(); } } return(await Task.Run(() => RedirectToAction("ThankYou", new { orderID = order.ID }))); } else { return(await Task.Run(() => View(paymentDetails))); } }
public async Task PaymentIncorrectMerchantValidationTestAsync() { //Arrange var correctPayment = new PaymentDetails { CardNumber = "6783968309687243", Cvv = "472", ExpiryDate = new DateTime(2022, 10, 12), Currency = "USD", Amount = 54.56m, MerchantId = 101 }; context.Merchants.Add(new Merchant { Id = 100, Name = "Tesco" }); context.SaveChanges(); //Act var validated = await paymentValidationService.ValidatePaymentDetails(correctPayment); //Assert Assert.AreEqual(false, validated, $"Expected not to be validated, but it is."); }
public async Task <IActionResult> Buy(PaymentDetails details) { DbContext _context = HttpContext.RequestServices.GetService(typeof(DbContext)) as DbContext; var currentUser = HttpContext.Session.Get <User>(SessionExtensions.UserKey); var cart = _context.GetUserBasket(currentUser.Username); var orderItems = cart.Select(x => x.Item).ToList(); var totalPrice = orderItems.Sum(x => x.Price); Order order = new Order() { Items = orderItems, Price = totalPrice, Status = OrderStatus.Processing, OrderTime = System.DateTime.Now, User = currentUser, PaymentType = details.Type }; var status = _context.CreateOrder(order); if (status) { cart.ForEach(cItem => { _context.DeleteCartItem(cItem.Id); }); return(Redirect("/User/Orders")); } else { return(Redirect("Checkout")); } }
public PaymentDetails GenerateDetails(string identifier, decimal amount, string returnUrl, string errorUrl, string message) { var referenceNumber = ReferenceCalculator.GenerateReferenceNumber(identifier); var formattedAmount = amount.ToString("F0", CultureInfo.CreateSpecificCulture("sv-se")); var details = new PaymentDetails { Url = Url, Fields = new NameValueCollection(StringComparer.OrdinalIgnoreCase) { { "entryid", "switch"}, { "appaction", "doDirectPay"}, { "switchaction", "3"}, { "handOverDatatype", "1"}, { "appname", "ssse"}, { "language", Language}, { "country", Country}, { "butikid", Account }, { "ordernummer", identifier }, { "orderbelopp", formattedAmount }, { "retururl", returnUrl }, { "senastebokningstid", Clock().AddDays(1).ToLocalTime().ToString("yyyyMMddHHmmss") } } }; details.Fields["kontrollsumma"] = String.Format("{0}{1}{2}{3}", details.Fields["butikid"], details.Fields["ordernummer"], details.Fields["orderbelopp"], Secret ).Hash("MD5").ToLowerInvariant(); return details; }
public int Processpayment(PaymentDetails paydels) { paymentDb.paymentdetails.Add(paydels); return(paymentDb.SaveChanges()); //if(i>0) // return 'Payment is Process' }
public void ProcessPayment(User user, PaymentDetails paymentDetails) { if (_userValidator.IsValid(user)) { _paymentGateway.Pay(paymentDetails); } }
public void ChargeCard(PaymentDetails paymentDetails, Cart cart) { using (var paymentGateway = new PaymentGateway()) { try { paymentGateway.Credentials = "account credentials"; paymentGateway.CardNumber = paymentDetails.CreditCardNumber; paymentGateway.ExpiresMonth = paymentDetails.ExpiresMonth; paymentGateway.ExpiresYear = paymentDetails.ExpiresYear; paymentGateway.NameOnCard = paymentDetails.CardholderName; paymentGateway.AmountToCharge = cart.TotalAmount; paymentGateway.Charge(); } catch (AvsMismatchException ex) { throw new OrderException("The card gateway rejected the card based on the address provided.", ex); } catch (Exception ex) { throw new OrderException("There was a problem with your card.", ex); } } }
public void SubmitPaymentFalseValueTest(PaymentDetails paymentDetails, bool expectedResul) { buisnessRuleEngineDB.Setup(x => x.SubmitPayment(paymentDetails)).Returns(false); var actualResult = buisnessRuleEngineBuisness.SubmitPayment(paymentDetails); Assert.AreEqual(false, actualResult); }
/// <summary> /// Payment /// </summary> /// <param name="totalAmount"></param> /// <param name="Message"></param> /// <returns></returns> public void Payment(decimal totalAmount, ref string Message) { PaymentDetails paymentDetails = new PaymentDetails(); paymentDetails.PaymentMethod = PaymentMethod.Cash; _paymentService.Charge(paymentDetails, totalAmount, ref Message); }
private void nextButton_Click(object sender, EventArgs e) { this.Hide(); PaymentDetails form = new PaymentDetails(); form.ShowDialog(); }
public bool StorePaymentDetails(List <string> PaymentDetailsList) { try { using (var db = new PaymentInfoDataContext()) { PaymentDetails paymentDetail = new PaymentDetails(); paymentDetail.FirstName = PaymentDetailsList[0]; paymentDetail.SecondName = PaymentDetailsList[1]; paymentDetail.CardNumber = PaymentDetailsList[2]; paymentDetail.CardExpire = PaymentDetailsList[3]; paymentDetail.CardType = PaymentDetailsList[4]; paymentDetail.CardCVN = PaymentDetailsList[5]; db.PaymentDetails.InsertOnSubmit(paymentDetail); db.SubmitChanges(); } return(true); } catch { return(false); } }
public Customer(Guid id, AddressBook addresses, Orders orderHistory, PaymentDetails paymentDetails, LoyaltySummary loyalty) { this.Id = id; this.Addresses = addresses; this.OrderHistory = orderHistory; this.PaymentDetails = paymentDetails; this.Loyalty = loyalty; }
public OnlineOrder(Cart cart, PaymentDetails paymentDetails) : base(cart) { _paymentDetails = paymentDetails; _paymentProcessor = new PaymentProcessor(); _reservationService = new ReservationService(); _notificationService = new NotificationService(); }
public void processPayment( User user, PaymentDetails paymentDetails) { if (!_userService.IsValid(user)) { throw new InvalidUserException(); } _gatewayService.sendPayement(paymentDetails); }
public void SendPayementToTheGateway() { var user = GivenUser(true); var payment = new PaymentDetails(); // WHEN _paymentService.processPayment(user, payment); // THEN A.CallTo(() => _gatewayService.sendPayement(payment)).MustHaveHappened(Repeated.Exactly.Once); }
public void Checkout(Cart cart, PaymentDetails paymentDetails, bool notifyCustomer) { if (paymentDetails.PaymentMethod == PaymentMethod.CreditCard) { ChargeCard(paymentDetails, cart); } ReserveInventory(cart); if(notifyCustomer) { NotifyCustomer(cart); } }
public static void AddPaymentDetails(string transactionId,PaymentDetails paymentDetails) { Dictionary<string, PaymentDetails> paymentHash = null; if(HttpContext.Current.Session[WebConstants.Session.PAYMENT_DETAILS] == null) { HttpContext.Current.Session[WebConstants.Session.PAYMENT_DETAILS] = new Dictionary<string, PaymentDetails>(); } paymentHash = (Dictionary<string, PaymentDetails>)HttpContext.Current.Session[WebConstants.Session.PAYMENT_DETAILS]; if (paymentHash.ContainsKey(transactionId)) { paymentHash[transactionId] = paymentDetails; } else { paymentHash.Add(transactionId, paymentDetails); } HttpContext.Current.Session[WebConstants.Session.PAYMENT_DETAILS] = paymentHash; }
public PaymentDetails GenerateDetails(string identifier, decimal amount, string returnUrl, string errorUrl, string message) { var details = new PaymentDetails { Url = Url, Fields = new NameValueCollection(StringComparer.Ordinal) { {"orderId", identifier}, {"merchant", MerchantId}, {"amount", (amount*100).ToString("F0", CultureInfo.InvariantCulture)}, {"currency", Currency}, {"payType", PaymentTypes}, {"acceptReturnUrl", returnUrl}, {"cancelReturnUrl", errorUrl}, {"language", CultureInfo.CurrentCulture.Name} } }; if(TestMode) { details.Fields["test"] = "1"; } details.Fields["MAC"] = ComputeHash(details.Fields); return details; }
public void ProcessCreditCard(PaymentDetails paymentDetails, decimal amount) { throw new NotImplementedException(); }
public PoSCreditOrder(Cart cart, PaymentDetails paymentDetails) : base(cart) { this.paymentDetails = paymentDetails; this.paymentProcessor = new PaymentProcessor(); }
public void checkout(PaymentDetails payment,bool NotifyUser) { }
protected void btnRegUserConfirm_Click(object sender, EventArgs e) { if (PageData == null) Response.Redirect("orderconfirmation.aspx"); if (UserOrderConfirmValidation()) { PaymentDetails paymentDetails = null; if (PageData.SelectedPaymentType == PaymentType.Bill) { paymentDetails = new PaymentDetails { CompanyName = txtCompanyName.Text, INN = txtINN.Text }; } else if (PageData.SelectedPaymentType == PaymentType.SberBank) { paymentDetails = new PaymentDetails { CompanyName = String.Empty, INN = txtINN2.Text, }; } else if (PageData.SelectedPaymentType == PaymentType.QIWI) { paymentDetails = new PaymentDetails { Phone = txtPhone.Text }; } OnNextStep(new FourthStepNextEventArgs { PaymentDetails = paymentDetails, CustomerComment = txtComments.Text }); } }
public PaymentDetails CheckOut([FromUri]string basketName, [FromUri] string cardNo, [FromUri]string amount) { PaymentDetails payment = new PaymentDetails(); long card; if (!string.IsNullOrWhiteSpace(cardNo) && long.TryParse(cardNo, out card)) { var g = dbContext.PaymentMasters.FirstOrDefault(l => l.PaymentCardNumber == card); if (g != null) { var basketId = dbContext.Baskets.FirstOrDefault(k => k.BasketName == basketName); if (basketId != null) { basketId.TotalPrice = string.IsNullOrWhiteSpace(amount) ? 0 : Convert.ToDecimal(amount); basketId.IsCheckedOut = true; dbContext.SaveChanges(); dbContext.AcceptAllChanges(); Payment pay = new Payment(); pay.BasketId = basketId.BasketId; pay.CustomerId = basketId.CustomerId; pay.PaymentCard = Convert.ToInt32(card); pay.PaymentDateTime = DateTime.Now; dbContext.Payments.AddObject(pay); dbContext.SaveChanges(); dbContext.AcceptAllChanges(); payment.BasketId = basketId.BasketId; payment.BasketName = basketId.BasketName; payment.PaymentId = pay.PaymentId; payment.DeliveryAddress = (from c in dbContext.Customers where c.CustomerId == basketId.CustomerId select c.Address).FirstOrDefault(); payment.IsSuccess = true; return payment; } } return payment; } return payment; }
protected void btnContinue_Click(object sender, ImageClickEventArgs e) { string url = ConfigurationSettings.AppSettings[WebConstants.Config.CYBER_SOURCE_URL]; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); string proxy = null; //clear it from session to keep the session as min as possible if (Request[WebConstants.Request.TRANSACTION_ID] != null) { SessionFactory.RemovePaymentDetails(Request[WebConstants.Request.TRANSACTION_ID]); } string transactionId = InsertTransaction(); if (transactionId != null) { PaymentDetails paymentDetails = new PaymentDetails(); paymentDetails.CardNumber = txtCardNumber.Text; paymentDetails.CardType = lstCardType.SelectedValue; paymentDetails.Country = txtBillingCountry.Text; paymentDetails.County = txtBillingCounty.Text; paymentDetails.ExpiryMonth = txtExpiryMonth.SelectedValue; paymentDetails.ExpiryYear = txtExpiryYear.SelectedValue; paymentDetails.FirstName = txtFirstName.Text; paymentDetails.LastName = txtLastName.Text; paymentDetails.PostCode = txtBillingZipCode.Text; paymentDetails.SecurityCode = txtSecurityCode.Text; paymentDetails.StartMonth = txtStartMonth.SelectedValue; paymentDetails.StartYear = txtStartYear.SelectedValue; paymentDetails.Street = txtBillingStreet.Text; paymentDetails.Telephone = txtTelephone.Text; paymentDetails.Town = txtBillingTown.Text; SessionFactory.AddPaymentDetails(transactionId, paymentDetails); string data = "amount=" + Server.UrlEncode(Request["amount"]); data += "&orderNumber=" + Server.UrlEncode(transactionId); data += "¤cy=" + Server.UrlEncode(Request["currency"]); data += "&orderPage_timestamp=" + Server.UrlEncode(Request["orderPage_timestamp"]); data += "&merchantID=" + Server.UrlEncode(Request["merchantID"]); data += "&orderPage_transactionType=" + Server.UrlEncode(Request["orderPage_transactionType"]); data += "&orderPage_version=" + Server.UrlEncode(Request["orderPage_version"]); data += "&orderPage_serialNumber=" + Server.UrlEncode(Request["orderPage_serialNumber"]); data += "&orderPage_signaturePublic=" + Server.UrlEncode(Request["orderPage_signaturePublic"]); data += "&billTo_city=" + Server.UrlEncode(txtBillingCounty.Text); data += "&billTo_country=" + Server.UrlEncode(txtBillingCountry.Text); data += "&billTo_firstName=" + Server.UrlEncode(txtFirstName.Text); data += "&billTo_lastName=" + Server.UrlEncode(txtLastName.Text); data += "&billTo_street1=" + Server.UrlEncode(txtBillingStreet.Text); data += "&billTo_street2=" + Server.UrlEncode(txtBillingTown.Text); data += "&billTo_phoneNumber=" + Server.UrlEncode(txtTelephone.Text); data += "&billTo_postalCode=" + Server.UrlEncode(txtBillingZipCode.Text); data += "&card_accountNumber=" + Server.UrlEncode(txtCardNumber.Text); data += "&card_cardType=" + Server.UrlEncode(lstCardType.Text); data += "&card_cvNumber=" + Server.UrlEncode(txtSecurityCode.Text); data += "&card_expirationMonth=" + Server.UrlEncode(txtExpiryMonth.Text); data += "&card_expirationYear=" + Server.UrlEncode(txtExpiryYear.Text); data += "&card_startMonth=" + Server.UrlEncode(txtStartMonth.Text); data += "&card_startYear=" + Server.UrlEncode(txtStartYear.Text); data += "&orderPage_requestToken=" + Server.UrlEncode(System.Guid.NewGuid().ToString()); data += "&recurringSubscriptionInfo_amount=" + Server.UrlEncode(Request["recurringSubscriptionInfo_amount"]); data += "&recurringSubscriptionInfo_numberOfPayments=" + Server.UrlEncode(Request["recurringSubscriptionInfo_numberOfPayments"]); data += "&recurringSubscriptionInfo_frequency=" + Server.UrlEncode(Request["recurringSubscriptionInfo_frequency"]); data += "&recurringSubscriptionInfo_automaticRenew=" + Server.UrlEncode(Request["recurringSubscriptionInfo_automaticRenew"]); data += "&recurringSubscriptionInfo_startDate=" + Server.UrlEncode(Request["recurringSubscriptionInfo_startDate"]); data += "&recurringSubscriptionInfo_signaturePublic=" + Server.UrlEncode(Request["recurringSubscriptionInfo_signaturePublic"]); byte[] buffer = Encoding.UTF8.GetBytes(data); try { req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = buffer.Length; req.Proxy = new WebProxy(proxy, true); req.CookieContainer = new CookieContainer(); Stream reqst = req.GetRequestStream(); reqst.Write(buffer, 0, buffer.Length); reqst.Flush(); reqst.Close(); } catch (Exception ex) { ex.StackTrace.ToString(); } HttpWebResponse res = (HttpWebResponse)req.GetResponse(); Stream resst = res.GetResponseStream(); StreamReader sr = new StreamReader(resst); string response = sr.ReadToEnd(); Response.Write(response); //ClientScript.RegisterStartupScript(typeof(Page), "Processing", "showDialog();", true); } /*Session["cardType"] = lstCardType.Text; Session["cardNumber"] = txtCardNumber.Text; Session["cardExpiryMonth"] = txtExpiryMonth.Text; Sess`ion["cardExpiryYear"] = txtExpiryYear.Text; Session["cardSecurityCode"] = txtSecurityCode.Text; Session["cardStartMonth"] = txtStartMonth.Text; Session["cardStartYear"] = txtStartYear.Text; Session["cardFirstName"] = txtFirstName.Text; Session["cardLastName"] = txtLastName.Text; Session["cardBillingStreet"] = txtBillingStreet.Text; Session["cardBillingTown"] = txtBillingTown.Text; Session["cardBillingCounty"] = txtBillingCounty.Text; Session["cardBillingCountry"] = txtBillingCountry.Text; Session["cardBillingZipCode"] = txtBillingZipCode.Text; Session["cardBillingTelephone"] = txtTelephone.Text; Response.Redirect("ConfirmCheckout.aspx");*/ }
public PageModel Setup(MediaModel mediaModel) { var pageModel = new PageModel(); var productSearch = new ProductSearch { Name = "Categories", UrlSegment = "categories", RevealInNavigation = true }; var categoryContainer = new ProductContainer { Name = "Products", UrlSegment = "products", RevealInNavigation = false }; _documentService.AddDocument(productSearch); _documentService.PublishNow(productSearch); _documentService.AddDocument(categoryContainer); _documentService.PublishNow(categoryContainer); pageModel.ProductSearch = productSearch; var now = DateTime.UtcNow; var yourBasket = new Cart { Name = "Your Basket", UrlSegment = "basket", RevealInNavigation = false, PublishOn = now }; _documentService.AddDocument(yourBasket); var enterOrderEmail = new EnterOrderEmail { Name = "Enter Order Email", UrlSegment = "enter-order-email", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 0, PublishOn = now, }; _documentService.AddDocument(enterOrderEmail); var setPaymentDetails = new PaymentDetails { Name = "Set Payment Details", UrlSegment = "set-payment-details", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 1, PublishOn = now, }; _documentService.AddDocument(setPaymentDetails); var setDeliveryDetails = new SetShippingDetails { Name = "Set Shipping Details", UrlSegment = "set-shipping-details", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 2, PublishOn = now, }; _documentService.AddDocument(setDeliveryDetails); var orderPlaced = new OrderPlaced { Name = "Order Placed", UrlSegment = "order-placed", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 3, PublishOn = now, }; _documentService.AddDocument(orderPlaced); // User Account var userAccount = new SitemapPlaceholder { Name = "User Account", UrlSegment = "user-account", RevealInNavigation = false, PublishOn = now }; _documentService.AddDocument(userAccount); var userAccountInfo = new UserAccountInfo { Name = "Account Details", UrlSegment = "user-account-details", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _documentService.AddDocument(userAccountInfo); var userAccountPassword = new UserAccountChangePassword { Name = "Change Password", UrlSegment = "user-account-change-password", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _documentService.AddDocument(userAccountPassword); var userAccountAddresses = new UserAccountAddresses { Name = "Account Addresses", UrlSegment = "user-account-addresses", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _documentService.AddDocument(userAccountAddresses); var editAddress = new UserAccountEditAddress { Name = "Edit Address", UrlSegment = userAccountAddresses.UrlSegment + "/edit-address", RevealInNavigation = false, PublishOn = now, Parent = userAccountAddresses }; _documentService.AddDocument(editAddress); var userAccountOrders = new UserAccountOrders { Name = "Orders", UrlSegment = "user-account-orders", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _documentService.AddDocument(userAccountOrders); var userOrder = new UserOrder { Name = "View Order", UrlSegment = "user-account-orders/order", RevealInNavigation = false, PublishOn = now, Parent = userAccountOrders }; _documentService.AddDocument(userOrder); var userAccountReviews = new UserAccountReviews { Name = "Reviews", UrlSegment = "user-account-reviews", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _documentService.AddDocument(userAccountReviews); var userAccountRewards = new UserAccountRewardPoints { Name = "Reward Points", UrlSegment = "user-account-reward-points", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _documentService.AddDocument(userAccountRewards); // End User Account //Added to cart var addedToCart = new ProductAddedToCart { Name = "Added to Basket", UrlSegment = "add-to-basket", RevealInNavigation = false, PublishOn = now }; _documentService.AddDocument(addedToCart); pageModel.ProductAddedToCart = addedToCart; var wishlist = new ShowWishlist { Name = "Wishlist", UrlSegment = "wishlist", RevealInNavigation = true, PublishOn = now }; _documentService.AddDocument(wishlist); var newIn = new NewInProducts { Name = "New In", UrlSegment = "new-in", RevealInNavigation = true, PublishOn = now }; _documentService.AddDocument(newIn); var about = new TextPage() { Name = "About us", UrlSegment = "about-us", RevealInNavigation = true, PublishOn = now, BodyContent = EcommerceInstallInfo.AboutUsText }; _documentService.AddDocument(about); //update core pages var homePage = _documentService.GetDocumentByUrl<TextPage>("home"); if (homePage != null) { homePage.BodyContent = EcommerceInstallInfo.HomeCopy; var templates = _pageTemplateAdminService.Search(new PageTemplateSearchQuery()); var homeTemplate = templates.FirstOrDefault(x => x.Name == "Home Page"); if (homeTemplate != null) { homePage.PageTemplate = homeTemplate; } homePage.SubmitButtonText = "Sign up"; _documentService.SaveDocument(homePage); pageModel.HomePage = homePage; } var page2 = _documentService.GetDocumentByUrl<TextPage>("page-2"); if (page2 != null)//demopage in core not needed _documentService.DeleteDocument(page2); var contactus = _documentService.GetDocumentByUrl<TextPage>("contact-us"); if (contactus != null)//demopage in core not needed _documentService.DeleteDocument(contactus); //Added to cart var contactUs = new ContactUs() { Name = "Contact Us", UrlSegment = "contact-us", RevealInNavigation = true, PublishOn = now, Latitude = 55.01021m, Longitude = -1.44998m, Address = EcommerceInstallInfo.Address, PinImage = mediaModel.Logo.FileUrl, BodyContent = "[form]", FormDesign = EcommerceInstallInfo.ContactFormDesign }; _documentService.AddDocument(contactUs); GetFormProperties(contactUs); var brandListing = new BrandListing { Name = "Brands", UrlSegment = "brands", RevealInNavigation = true, PublishOn = now, BodyContent = "" }; _documentService.AddDocument(brandListing); return pageModel; }