public ActionResult Charge(string stripeEmail, string stripeToken) { //string secretKey = ConfigurationManager.AppSettings["Stripe:secretKey"]; string secretKey = "sk_test_e3ssfSIQhhvg7DtlMpHLxMKm"; StripeConfiguration.SetApiKey(secretKey); Stripe.CustomerCreateOptions myCustomer = new Stripe.CustomerCreateOptions(); myCustomer.Email = stripeEmail; myCustomer.Source = stripeToken; var customerService = new Stripe.CustomerService(); Stripe.Customer stripeCustomer = customerService.Create(myCustomer); var options = new Stripe.ChargeCreateOptions { Amount = 1000, Currency = "USD", Description = "Buying 10 rubber ducks", Source = stripeToken, ReceiptEmail = stripeEmail }; //and Create Method of this object is doing the payment execution. var service = new Stripe.ChargeService(); //Stripe.Charge charge = service.Create(options); return(RedirectToAction(nameof(Index))); }
public string Post([FromBody] PaymentModel payment) { StripeConfiguration.ApiKey = ("pk_test_DaPhATJ0sS0GJYJnXbgubW6C00oJqhvxio"); var tokenOptions = new Stripe.TokenCreateOptions() { Card = new Stripe.CreditCardOptions() { Number = payment.CreditCard.CreditCardNumber, ExpYear = payment.CreditCard.ExpYear, ExpMonth = payment.CreditCard.ExpMonth, Cvc = payment.CreditCard.CVV } }; var tokenService = new Stripe.TokenService(); Stripe.Token stripeToken; try { stripeToken = tokenService.Create(tokenOptions); } catch (StripeException ex) { StripeError stripeError = ex.StripeError; return(stripeError.Message); } string token = stripeToken.Id; // This is the token // You can optionally create a customer first, and attached this to the CustomerId StripeConfiguration.ApiKey = ("sk_test_02wLfkfPFikWAuf5q8QwhcEb00RHbAsnJc"); var charge = new Stripe.ChargeCreateOptions { Amount = Convert.ToInt32(payment.CreditCard.amount * 100), // Ocekuje request u najmanjoj jedinici pa *100 da se pretvori Currency = "EUR", // or the currency you are dealing with Description = "Informacijski sistem za nogometni stadion", Source = token }; var service = new ChargeService(); try { var response = service.Create(charge); // Record or do something with the charge information } catch (StripeException ex) { StripeError stripeError = ex.StripeError; // Handle error return(stripeError.Message); } // Ideally you would put in additional information, but you can just return true or false for the moment0 StripeError stripeError1 = new StripeError() { Message = "Uspješna uplata" }; return(stripeError1.Message); }
public ActionResult Charge(string stripeToken, string stripeEmail) { try { ApplicationDbContext db = new ApplicationDbContext(); if (Request["OrderId"] != null) { int orderId = int.Parse(Request["orderId"].ToString()); //it requests an order Id from the front CustomerOrder o = db.Orders.Find(orderId); //the order is found in the database by its Id //the orders properties are adjusted appropriately o.Payment = true;// the order is set to 'Paid' o.Pay(o.Id); //the next block finds each product in the order and adjusts their stock levels o.BasketItems = o.GetItems(o.Id); foreach (Basket b in o.BasketItems) { b.GetProduct(); int stock = b.Product.Stock - b.Quantity; o.SetStock(b.Product.Id, stock); } //to follow are all the properties of a strip payment Stripe.StripeConfiguration.SetApiKey("pk_test_veUj82xPax3gnKyiqk9losrd00QfIrd1o2"); Stripe.StripeConfiguration.ApiKey = "sk_test_wHoSwq3TOM5ZJkaKQrG9GWjo00uhPcOhUa"; var myCharge = new Stripe.ChargeCreateOptions(); // always set these properties myCharge.Amount = (long.Parse(Request["Total"].ToString())); //the total is requested from the front myCharge.Currency = "gbp"; //currency myCharge.ReceiptEmail = stripeEmail; myCharge.Description = "Sample Charge"; myCharge.Source = stripeToken; myCharge.Capture = true; var chargeService = new Stripe.ChargeService(); Charge stripeCharge = chargeService.Create(myCharge); return(View()); } //this will redirect to the ViewBasket page if the order id is not found for any reason else { return(RedirectToAction("ViewBasket, User")); } } //this is a failsafe to send users to their order page if the abouv code doesnt execute properly catch { return(RedirectToAction("SeeOrders, Order")); } }
public static stripe.ChargeCreateOptions CreateChargeOptions(this ProcessPaymentRequest processPaymentRequest, Store store, stripe.Token token, TransactionMode transactionMode, StripeCurrency stripeCurrency) { var chargeRequest = new stripe.ChargeCreateOptions() { Amount = (int)(processPaymentRequest.OrderTotal * 100), Capture = transactionMode == TransactionMode.Charge, Source = token.Id, StatementDescriptor = $"{store.Name.ToStripeDescriptor()}", Currency = stripeCurrency.ToString(), }; return(chargeRequest); }
public ActionResult Charge(string stripeToken, string stripeEmail) { Stripe.StripeConfiguration.SetApiKey("pk_test_51IBkDtCJuzxdYhOtyq9CXeZq4YYCXwlntkpwWloLKsmRJ9RiTKMW0UWriwsfbk1mFIK7IklimZQuDDkQTc2fvfdr00jHEdU28M"); Stripe.StripeConfiguration.ApiKey = "sk_test_51IBkDtCJuzxdYhOtnAcKUjVmnkHNrG9BvNTd666CsYqe8wm4H4D9VtttOSPb0sst5X6vJhCz2NWpTWSccloeFlfp00zpv1gwFX"; var myCharge = new Stripe.ChargeCreateOptions(); // always set these properties myCharge.Amount = 500; myCharge.Currency = "USD"; myCharge.ReceiptEmail = stripeEmail; myCharge.Description = "Sample Charge"; myCharge.Source = stripeToken; myCharge.Capture = true; var chargeService = new Stripe.ChargeService(); Charge stripeCharge = chargeService.Create(myCharge); return(View()); }
public async Task <bool> MakePayment(Guid storeId, double total, string customerId, string orderId) { try { var key = await _context.Stores.Where(s => s.StoreId == storeId).FirstOrDefaultAsync(); StripeConfiguration.ApiKey = key.SKKey; string valuetotal = total.ToString("0.00").Replace(".", ""); var chargeoptions = new Stripe.ChargeCreateOptions { Amount = long.Parse(valuetotal), Currency = "USD", ReceiptEmail = "*****@*****.**", StatementDescriptor = "Order Id:" + orderId.Substring(0, 8), Capture = true, Customer = customerId, Description = "Payment of Order" + orderId, ApplicationFeeAmount = 002 }; var service = new ChargeService(); Charge charge = await service.CreateAsync(chargeoptions); if (charge.Status == "succeeded") { return(true); } else { return(false); } } catch (Exception e) { Console.WriteLine(e.Message); return(false); } }
public ActionResult Charge(string stripeToken, string stripeEmail) { Stripe.StripeConfiguration.SetApiKey("pk_test_51ITYUZKuxtPIEeD5qxXEmosvcdrfrhZNcUJzOb6DzZ5WxX6j5a3KaJ1BzTEvyfovHw7La921Z8gAkm1w7haPXIYb00pl5lcmuV"); Stripe.StripeConfiguration.ApiKey = "sk_test_51ITYUZKuxtPIEeD5lsPmKh2sG7jhzhhOpuBjXgXg4PL8cdjL79dL038v5SXcR32Ro9yIRxpfX6KfPQrQSxmR1h1p00xID5MdR4"; var myCharge = new Stripe.ChargeCreateOptions(); // always set these properties myCharge.Amount = 500; myCharge.Currency = "USD"; myCharge.ReceiptEmail = stripeEmail; myCharge.Description = "Sample Charge"; myCharge.Source = stripeToken; myCharge.Capture = true; var chargeService = new Stripe.ChargeService(); Charge stripeCharge = chargeService.Create(myCharge); return(View()); }
private static async Task <string> ProcessPayment(StripeChargeModel model) { return(await Task.Run(() => { StripeConfiguration.ApiKey = "pk_test_qOc7BjT6S3JesC6i5RlNevq700ptlnoJmt"; var myCharge = new Stripe.ChargeCreateOptions() { // convert the amount of £12.50 to pennies i.e. 1250 Amount = (int)(model.Amount * 100), Currency = "gbp", Description = "Description for test charge", Source = model.Token }; var service = new ChargeService(); var stripeCharge = service.Create(myCharge); return stripeCharge.Id; })); }
public ActionResult Charge(string stripeToken, string stripeEmail) { Stripe.StripeConfiguration.SetApiKey("stripePublishableKey"); Stripe.StripeConfiguration.ApiKey = "stripeSecretKey"; AppointmentFormViewModel GetProductPrice = new AppointmentFormViewModel(); var myCharge = new Stripe.ChargeCreateOptions(); // always set these properties myCharge.Amount = 100 * (long)context.Products.SingleOrDefault(p => p.Id == GetProductPrice.Product).Price; myCharge.Currency = "eur"; myCharge.ReceiptEmail = stripeEmail; myCharge.Description = GetProductPrice.Product.ToString(); myCharge.Source = stripeToken; myCharge.Capture = true; var chargeService = new Stripe.ChargeService(); Charge stripeCharge = chargeService.Create(myCharge); return(View()); }
public ActionResult Custom(CustomViewModel customViewModel) { customViewModel.PaymentForHidden = false; var chargeOptions = new Stripe.ChargeCreateOptions() { //required Amount = 3900, Currency = "usd", //Source = new StripeSourceOptions() { TokenId = customViewModel.StripeToken }, //SourceTokenOrExistingSourceId = customViewModel.StripeToken, //optional Description = string.Format("JavaScript Framework Guide Ebook for {0}", customViewModel.StripeEmail), ReceiptEmail = customViewModel.StripeEmail }; var chargeService = new Stripe.ChargeService(); try { var stripeCharge = chargeService.Create(chargeOptions); } catch (StripeException stripeException) { Debug.WriteLine(stripeException.Message); ModelState.AddModelError(string.Empty, stripeException.Message); return(View(customViewModel)); } catch (Exception ex) { Debug.WriteLine(ex.Message); ModelState.AddModelError(string.Empty, ex.Message); return(View(customViewModel)); } //LOG stripeCharge log Id property in to the DB to refrence the transaction later return(RedirectToAction("Confirmation")); }
public async Task <(ResponseModel, Stripe.Charge)> ProcessPayment(PaymentCreateBindingModel model) { var responseModel = new ResponseModel() { ServiceStatus = Enums.ServiceStatus.Error }; try { StripeConfiguration.ApiKey = "sk_test_kRWpvCZmKMlhNd5BOMK10CfV"; var metaData = new Dictionary <string, string> { { nameof(model.CardholderName), model.CardholderName } }; var myCharge = new Stripe.ChargeCreateOptions { Amount = (int)(model.Amount * 100), Currency = "AUD", Metadata = metaData, Source = model.StripeToken, Description = $"$ {model.Amount} paid for customer" }; var stripeCharge = await _stripeChargeService.CreateAsync(myCharge); responseModel.ServiceStatus = Enums.ServiceStatus.Success; return(responseModel, stripeCharge); } catch (Stripe.StripeException e) { responseModel.Errors.Add((e.HttpStatusCode.ToString(), e.Message)); return(responseModel, null); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> SummaryPost(string stripeToken) { var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); OrderDetailsCartVM.ShoppingCartsList = await db.shoppingCarts.Where(m => m.ApplicationUserId == claim.Value).ToListAsync(); OrderDetailsCartVM.OrderHeader.PaymentStatus = SD.PaymentStatusPending; OrderDetailsCartVM.OrderHeader.OrderDate = DateTime.Now; OrderDetailsCartVM.OrderHeader.UserId = claim.Value; OrderDetailsCartVM.OrderHeader.Status = SD.PaymentStatusPending; OrderDetailsCartVM.OrderHeader.PickUpTime = Convert.ToDateTime(OrderDetailsCartVM.OrderHeader.PickUpDate.ToShortDateString() + " " + OrderDetailsCartVM.OrderHeader.PickUpTime.ToShortTimeString()); OrderDetailsCartVM.OrderHeader.OrderTotalOrginal = 0; db.OrderHeaders.Add(OrderDetailsCartVM.OrderHeader); await db.SaveChangesAsync(); foreach (var item in OrderDetailsCartVM.ShoppingCartsList) { item.MenuItem = db.MenuItems.FirstOrDefault(m => m.Id == item.MenuItemId); OrderDetail orderDetail = new OrderDetail() { MenuItemId = item.MenuItemId, OrderId = OrderDetailsCartVM.OrderHeader.Id, Description = item.MenuItem.Discription, Name = item.MenuItem.Name, Price = item.MenuItem.Price, Count = item.Count }; OrderDetailsCartVM.OrderHeader.OrderTotal += item.MenuItem.Price * item.Count; db.OrderDetails.Add(orderDetail); } if (HttpContext.Session.GetString(SD.ssCouponCode) != null) { OrderDetailsCartVM.OrderHeader.CouponCode = HttpContext.Session.GetString(SD.ssCouponCode); var couponFromDb = db.Coupons.Where(m => m.Name.ToLower() == OrderDetailsCartVM.OrderHeader.CouponCode.ToLower()).FirstOrDefault(); OrderDetailsCartVM.OrderHeader.OrderTotal = SD.DiscountPrice(couponFromDb, OrderDetailsCartVM.OrderHeader.OrderTotalOrginal); } else { OrderDetailsCartVM.OrderHeader.OrderTotal = OrderDetailsCartVM.OrderHeader.OrderTotalOrginal; } OrderDetailsCartVM.OrderHeader.CouponCodeDiscount = OrderDetailsCartVM.OrderHeader.OrderTotalOrginal - OrderDetailsCartVM.OrderHeader.OrderTotal; db.shoppingCarts.RemoveRange(OrderDetailsCartVM.ShoppingCartsList); HttpContext.Session.SetInt32(SD.ShoppingCartCount, 0); await db.SaveChangesAsync(); //online odeme icin var options = new Stripe.ChargeCreateOptions { Amount = Convert.ToInt32(OrderDetailsCartVM.OrderHeader.OrderTotal * 100), Currency = "usd", Description = "Order ID : " + OrderDetailsCartVM.OrderHeader.Id, Source = stripeToken }; var service = new ChargeService(); Charge charge = service.Create(options); if (charge.BalanceTransactionId == null) { OrderDetailsCartVM.OrderHeader.PaymentStatus = SD.PaymentStatusRejected; } else { OrderDetailsCartVM.OrderHeader.TrasactionId = charge.BalanceTransactionId; } if (charge.Status.ToLower() == "succeeded") { OrderDetailsCartVM.OrderHeader.PaymentStatus = SD.PaymentStatusApproved; OrderDetailsCartVM.OrderHeader.Status = SD.StatusSubmitted; } else { OrderDetailsCartVM.OrderHeader.PaymentStatus = SD.PaymentStatusRejected; } await db.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); }
public ActionResult Charge(StripeChargeModel model) { // 4242424242424242 string errormessage = ""; bool isvalidemail = false; bool isvalidamount = false; HttpResponseMessage responseMessage = new HttpResponseMessage(); try { var addr = new System.Net.Mail.MailAddress(model.Email); bool emailvalid = (addr.Address == model.Email); isvalidemail = true; } catch { errormessage += "invalid email\r\n"; isvalidemail = false; } if (model.Amount == 0) { isvalidamount = false; errormessage += "invalid amount\r\n"; } else { isvalidamount = true; } if (isvalidamount == true && isvalidemail == true) { try { string Name = model.CardHolderName; string CardNumber = model.CardNum; long ExpirationYear = long.Parse(model.Expyear); long ExpirationMonth = long.Parse(model.ExpMonth); string CVV2 = model.CVV; string Buyer_Email = model.Email; int amount = (int)model.Amount; Stripe.StripeConfiguration.SetApiKey("sk_test_KVelkjylnQQPOkrHSSu8gCft00dODAP1ie"); Stripe.CreditCardOptions card = new Stripe.CreditCardOptions(); card.Name = Name; card.Number = CardNumber; card.ExpYear = ExpirationYear; card.ExpMonth = ExpirationMonth; card.AddressLine1 = model.AddressLine1; card.AddressLine2 = model.AddressLine2; card.AddressState = model.AddressCity; card.AddressCountry = model.AddressCountry; card.AddressZip = model.AddressPostcode; card.Cvc = CVV2; // set card to token object and create token Stripe.TokenCreateOptions tokenCreateOption = new Stripe.TokenCreateOptions(); tokenCreateOption.Card = card; Stripe.TokenService tokenService = new Stripe.TokenService(); Stripe.Token token = tokenService.Create(tokenCreateOption); //create customer object then register customer on Stripe Stripe.CustomerCreateOptions customer = new Stripe.CustomerCreateOptions(); customer.Email = Buyer_Email; var custService = new Stripe.CustomerService(); Stripe.Customer stpCustomer = custService.Create(customer); //create credit card charge object with details of charge var options = new Stripe.ChargeCreateOptions { Amount = (int)(amount * 100), // Amount = (int)(model.Amount * 100), // Currency = "gbp", // Description = "Description for test charge", // Source = model.Token Currency = "gbp", ReceiptEmail = Buyer_Email, Source = model.Token, Description = "Description for test charge" }; //and Create Method of this object is doing the payment execution. var service = new Stripe.ChargeService(); Stripe.Charge charge = service.Create(options); // This will do the Payment } return(new HttpStatusCodeResult(HttpStatusCode.OK, "Success")); } catch { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "error : " + errormessage)); } } else { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "error : " + errormessage)); } }
public ViewResult makePayment(PaymentInformation cardInfo) { try { Stripe.StripeConfiguration.SetApiKey("sk_test_51HqI05B1UsJ4lZg1agboQSE7i0fWn98619xc2FP5NhREH4igqo1AlKTQO8VWMfsQBUs1OlXNBzBkOqORRQP6ZlPf00E2l0QVhL"); Stripe.CreditCardOptions card = new Stripe.CreditCardOptions(); card.Name = cardInfo.CardOwnerFirstName + " " + cardInfo.CardOwnerLastName; card.Number = cardInfo.CardNumber; card.ExpYear = cardInfo.ExpirationYear; card.ExpMonth = cardInfo.ExpirationMonth; card.Cvc = cardInfo.CVV2; Console.WriteLine(TotalPrice.ToString()); Stripe.TokenCreateOptions token = new Stripe.TokenCreateOptions(); token.Card = card; Stripe.TokenService serviceToken = new Stripe.TokenService(); Stripe.Token newToken = serviceToken.Create(token); Stripe.CustomerCreateOptions myCustomer = new Stripe.CustomerCreateOptions(); myCustomer.Email = cardInfo.Buyer_Email; myCustomer.SourceToken = newToken.Id; var customerService = new Stripe.CustomerService(); Stripe.Customer stripeCustomer = customerService.Create(myCustomer); var t = TempData["totalCost"]; int t1 = (int)Math.Round(Convert.ToDouble(t)) - 1; string total; string input_decimal_number = t.ToString(); var regex = new System.Text.RegularExpressions.Regex("(?<=[\\.])[0-9]+"); if (regex.IsMatch(input_decimal_number)) { string decimal_places = regex.Match(input_decimal_number).Value; total = t1.ToString() + decimal_places; } else { total = t1 + "00"; } System.Diagnostics.Trace.WriteLine(t1.ToString()); var options = new Stripe.ChargeCreateOptions { Amount = Convert.ToInt32(total), Currency = "USD", ReceiptEmail = cardInfo.Buyer_Email, CustomerId = stripeCustomer.Id, }; var service = new Stripe.ChargeService(); Stripe.Charge charge = service.Create(options); return(View("Thanks")); } catch (StripeException e) { switch (e.StripeError.ErrorType) { case "card_error": error = (" Error Message: " + e.StripeError.Message); break; case "api_connection_error": break; case "api_error": break; case "authentication_error": break; case "invalid_request_error": break; case "rate_limit_error": break; case "validation_error": break; default: // Unknown Error Type break; } ViewBag.Greeting = error; return(View("Error")); } }
private async void Button_Clicked(object sender, EventArgs e) { try { StripeConfiguration.SetApiKey("sk_test_51H7Lu7KJ3FKVwUnlPU8EUYuDPU0UMWNajFeHpVYzqwLkpKFRk9480iV54ZvAIPy4J0xYlKoN9IQaGMoyhhcaxOgl003Kz8FIdL"); //This are the sample test data use MVVM bindings to send data to the ViewModel Stripe.CreditCardOptions stripcard = new Stripe.CreditCardOptions(); stripcard.Number = cardNumberEntry.Text; stripcard.ExpYear = Convert.ToInt32(expiryDate.Text.Split('/')[1]); stripcard.ExpMonth = Convert.ToInt32(expiryDate.Text.Split('/')[0]); stripcard.Cvc = cvvEntry.Text; //Step 1 : Assign Card to Token Object and create Token Stripe.TokenCreateOptions token = new Stripe.TokenCreateOptions(); token.Card = stripcard; Stripe.TokenService serviceToken = new Stripe.TokenService(); Stripe.Token newToken = serviceToken.Create(token); // Step 2 : Assign Token to the Source var options = new SourceCreateOptions { Type = SourceType.Card, Currency = "usd", Token = newToken.Id }; var service = new SourceService(); Source source = service.Create(options); //Step 3 : Now generate the customer who is doing the payment Stripe.CustomerCreateOptions myCustomer = new Stripe.CustomerCreateOptions() { Name = nameEntry.Text, Email = emailEntry.Text, Description = "Amare Payment", }; var customerService = new Stripe.CustomerService(); Stripe.Customer stripeCustomer = customerService.Create(myCustomer); mycustomer = stripeCustomer.Id; // Not needed //Step 4 : Now Create Charge Options for the customer. var chargeoptions = new Stripe.ChargeCreateOptions { Amount = 100, Currency = "USD", ReceiptEmail = emailEntry.Text, Customer = stripeCustomer.Id, Source = source.Id }; //Step 5 : Perform the payment by Charging the customer with the payment. var service1 = new Stripe.ChargeService(); Stripe.Charge charge = service1.Create(chargeoptions); // This will do the Payment getchargedID = charge.Id; // Not needed await DisplayAlert("Payment", "Payment Success", "Okay"); await Navigation.PopAsync(); } catch (Stripe.StripeException ex) { await DisplayAlert("Payment Error", ex.Message, "Okay"); } }
public ActionResult Charge(FormCollection formCollection) { Stripe.StripeConfiguration.SetApiKey(ConfigurationManager.AppSettings["stripePublishableKey"]); Stripe.StripeConfiguration.ApiKey = ConfigurationManager.AppSettings["stripeSecretKey"]; var myCharge = new Stripe.ChargeCreateOptions(); // always set these properties myCharge.Amount = long.Parse(formCollection[0]); myCharge.Currency = "VND"; var listVe = context.Ves.ToList(); string maVeCuoi = listVe[listVe.Count - 1].MaVe; int identity = int.Parse(maVeCuoi.Substring(2)); var listHoaDon = context.HoaDons.ToList(); string maHoaDonCuoi = listHoaDon[listHoaDon.Count - 1].MaHoaDon; int identityHoaDon = int.Parse(maHoaDonCuoi.Substring(2)); var listKhachHang = context.KhachHangs.ToList(); if (Session["MaTaiKhoan"] == null) { if (Session["MaKhachHangVangLai"] != null) { var hoaDon = new HoaDon() { MaHoaDon = "HD" + (identityHoaDon + 1).ToString("00"), MaKhachHang = Session["MaKhachHangVangLai"].ToString(), MaNhanVien = "ADMIN", ThoiGianXuat = DateTime.Now }; context.HoaDons.Add(hoaDon); string idTour = formCollection[1]; for (int i = 2; i < formCollection.Count - 3; i += 2) { int quantity = 0; if (Int32.TryParse(formCollection[i + 1], out quantity)) { for (int j = 0; j < int.Parse(formCollection[i + 1]); j++) { Ve ve = new Ve() { MaVe = "Ve" + (identity + 1).ToString("00"), MaTour = idTour, MaLoaiVe = formCollection[i], MaHoaDon = hoaDon.MaHoaDon }; context.Ves.Add(ve); identity++; } } } } else { return(Content("Bạn chưa điền thông tin! Hãy đăng nhập hoặc điền thông tin trước khi đặt")); } } else { KhachHang khachHang = context.KhachHangs.Find(Session["MaTaiKhoan"]); var hoaDon = new HoaDon() { MaHoaDon = "HD" + (identityHoaDon + 1).ToString("00"), MaKhachHang = khachHang.MaKhachHang, MaNhanVien = "ADMIN", ThoiGianXuat = DateTime.Now }; context.HoaDons.Add(hoaDon); string idTour = formCollection[1]; for (int i = 2; i < formCollection.Count - 3; i += 2) { int soLuongVe = 0; try { soLuongVe = int.Parse(formCollection[i + 1]); } catch (Exception e) { continue; } for (int j = 0; j < soLuongVe; j++) { Ve ve = new Ve() { MaVe = "Ve" + (identity + 1).ToString("00"), MaTour = idTour, MaLoaiVe = formCollection[i], MaHoaDon = hoaDon.MaHoaDon }; context.Ves.Add(ve); identity++; } } } myCharge.ReceiptEmail = formCollection[formCollection.Count - 1]; myCharge.Source = formCollection[formCollection.Count - 3]; myCharge.Capture = true; var chargeService = new Stripe.ChargeService(); try { Charge stripeCharge = chargeService.Create(myCharge); context.SaveChanges(); SumerizeRevenue(); return(View("ThanhCong")); } catch (Exception e) { return(View("ThatBai")); } }
public virtual Task <Charge> CreateAsync(ChargeCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { return(this.CreateEntityAsync(options, requestOptions, cancellationToken)); }
public PaymentView(DateTime bookingDate, string centerName, string sportName, string courtName, string startingBookingTime, string endingBookingTime, double TotalPaymentAmount) { InitializeComponent(); //startingBookingTime AND endingBookingTime are TimeSpan not DateTime ...... Done var uname = Preferences.Get("UserName", String.Empty); if (String.IsNullOrEmpty(uname)) { username.Text = "Guest"; } else { username.Text = uname; } centername.Text = centerName; courtname.Text = courtName; //bookingdate.Text = bookingDate.Date.ToString(); cvm = new PaymentViewModel(bookingDate); this.BindingContext = cvm; bookingtime.Text = startingBookingTime.ToString() + " - " + endingBookingTime.ToString(); double RoundedTotalPaymentAmount = Math.Round(TotalPaymentAmount, 1, MidpointRounding.ToEven); totalpaymentamount.Text = "RM " + RoundedTotalPaymentAmount.ToString(); string totalp = totalpaymentamount.Text; DateTime s = Convert.ToDateTime(startingBookingTime); DateTime d = Convert.ToDateTime(endingBookingTime); NewEventHandler.Clicked += async(sender, args) => { // if check payment from Moustafa is true, then add booking to firebase try { //StripeConfiguration.SetApiKey("sk_test_51IpayhGP2IgUXM55te5JbGRu14MOp6AU6GORVFhqpOilEOp96ERDzKCi1VN9rDLrOmOEwNPqgOvQuIyaNg8YKfkL00Qoq8a7QX"); StripeConfiguration.SetApiKey("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"); //This are the sample test data use MVVM bindings to send data to the ViewModel Stripe.TokenCardOptions stripcard = new Stripe.TokenCardOptions(); stripcard.Number = cardnumber.Text; stripcard.ExpYear = Int64.Parse(expiryYear.Text); stripcard.ExpMonth = Int64.Parse(expirymonth.Text); stripcard.Cvc = cvv.Text; //stripcard.Cvc = Int64.Parse(cvv.Text); //Step 1 : Assign Card to Token Object and create Token Stripe.TokenCreateOptions token = new Stripe.TokenCreateOptions(); token.Card = stripcard; Stripe.TokenService serviceToken = new Stripe.TokenService(); Stripe.Token newToken = serviceToken.Create(token); // Step 2 : Assign Token to the Source var options = new SourceCreateOptions { Type = SourceType.Card, Currency = "myr", Token = newToken.Id }; var service = new SourceService(); Source source = service.Create(options); //Step 3 : Now generate the customer who is doing the payment Stripe.CustomerCreateOptions myCustomer = new Stripe.CustomerCreateOptions() { Name = "Moustafa", Email = "*****@*****.**", Description = "Customer for [email protected]", }; var customerService = new Stripe.CustomerService(); Stripe.Customer stripeCustomer = customerService.Create(myCustomer); mycustomer = stripeCustomer.Id; // Not needed //Step 4 : Now Create Charge Options for the customer. var chargeoptions = new Stripe.ChargeCreateOptions { //Amount = (Int64.Parse(RoundedTotalPaymentAmount)) * 100, //(int(RoundedTotalPaymentAmount)) //Amount = Convert.ToInt32(RoundedTotalPaymentAmount) * 100, //Amount = (long?)(double.Parse(RoundedTotalPaymentAmount) * 100), Amount = (long?)(double.Parse(totalp) * 100), Currency = "MYR", ReceiptEmail = "*****@*****.**", Customer = stripeCustomer.Id, Source = source.Id }; //Step 5 : Perform the payment by Charging the customer with the payment. var service1 = new Stripe.ChargeService(); Stripe.Charge charge = service1.Create(chargeoptions); // This will do the Payment getchargedID = charge.Id; // Not needed } catch (Exception ex) { UserDialogs.Instance.Alert(ex.Message, null, "ok"); Console.Write("error" + ex.Message); //await Application.Current.MainPage.DisplayAlert("error ", ex.Message, "OK"); } finally { //if (getchargedID != null) if (getchargedID != null) { var acd = new AddBookingData(sportName, courtName, username.Text, centerName, s, d, bookingDate, RoundedTotalPaymentAmount); await acd.AddBookingDataAsync(); UserDialogs.Instance.Alert("Payment Successed", "Success", "Ok"); Xamarin.Forms.Application.Current.MainPage = new MainTabbedView(); //await Application.Current.MainPage.DisplayAlert("Payment Successed ", "Success", "OK"); } else { UserDialogs.Instance.Alert("Something Wrong", "Faild", "OK"); //await Application.Current.MainPage.DisplayAlert("Payment Error ", "faild", "OK"); } } /* * var acd = new AddBookingData(sportName, courtName, username.Text, centerName, s, d, bookingDate, RoundedTotalPaymentAmount); * await acd.AddBookingDataAsync(); * /* * * * //Application.Current.MainPage = new MainTabbedView(); * * //await Navigation.PopModalAsync(); * //await Navigation.PopToRootAsync(); * /* * Navigation.InsertPageBefore(new NewPage(), Navigation.NavigationStack[0]); * await Navigation.PopToRootAsync(); */ }; /* * public void GetCustomerInformationID(object sender, EventArgs e) * { * var service = new CustomerService(); * var customer = service.Get(mycustomer); * var serializedCustomer = JsonConvert.SerializeObject(customer); * // var UserDetails = JsonConvert.DeserializeObject<CustomerRetriveModel>(serializedCustomer); * * } * * * public void GetAllCustomerInformation(object sender, EventArgs e) * { * var service = new CustomerService(); * var options = new CustomerListOptions * { * Limit = 3, * }; * var customers = service.List(options); * var serializedCustomer = JsonConvert.SerializeObject(customers); * } * * * public void GetRefundForSpecificTransaction(object sender, EventArgs e) * { * var refundService = new RefundService(); * var refundOptions = new RefundCreateOptions * { * Charge = getchargedID, * }; * Refund refund = refundService.Create(refundOptions); * refundID = refund.Id; * } * * * public void GetRefundInformation(object sender, EventArgs e) * { * var service = new RefundService(); * var refund = service.Get(refundID); * var serializedCustomer = JsonConvert.SerializeObject(refund); * * } */ /* * * async Task NewEventHandler(object sender, EventArgs e) * { * // if check payment from Moustafa is true, then * * // add booking to firebase * * var acd = new AddBookingData(sportName, courtName, username.Text, centerName, s, d, bookingDate, TotalPaymentAmount); * await acd.AddBookingDataAsync(); * } */ }
public async Task <bool> MakePaymentWithCard(Guid storeId, double total, Guid paymentCardId, string orderId) { try { var paymentCard = _context.PaymentCards.Where(pc => pc.PaymentCardId == paymentCardId).FirstOrDefault(); var key = await _context.Stores.Where(s => s.StoreId == storeId).FirstOrDefaultAsync(); StripeConfiguration.ApiKey = key.SKKey; string valuetotal = total.ToString("0.00").Replace(".", ""); var tokenoptions = new TokenCreateOptions() { Card = new CreditCardOptions() { Number = paymentCard.CardNumber, ExpYear = long.Parse(paymentCard.Year), ExpMonth = long.Parse(paymentCard.Month), Cvc = paymentCard.Cvc, Name = paymentCard.HolderName, }, }; var tokenService = new TokenService(); var stripeToken = await tokenService.CreateAsync(tokenoptions); var chargeoptions = new Stripe.ChargeCreateOptions { Amount = long.Parse(valuetotal), Currency = "USD", ReceiptEmail = "*****@*****.**", StatementDescriptor = "Order Id:" + orderId.Substring(0, 8), Capture = true, Source = stripeToken.Id, Description = "Payment of Order " + orderId, }; var service = new ChargeService(); Charge charge = await service.CreateAsync(chargeoptions); if (charge.Status == "succeeded") { return(true); } else { return(false); } } catch (Exception e) { Console.WriteLine(e.Message); return(false); } }
public ViewResult makePayment(PaymentInformation cardInfo) { try { Stripe.StripeConfiguration.SetApiKey("sk_test_51HqI05B1UsJ4lZg1agboQSE7i0fWn98619xc2FP5NhREH4igqo1AlKTQO8VWMfsQBUs1OlXNBzBkOqORRQP6ZlPf00E2l0QVhL"); //Create Card Object to create Token Stripe.CreditCardOptions card = new Stripe.CreditCardOptions(); card.Name = cardInfo.CardOwnerFirstName + " " + cardInfo.CardOwnerLastName; card.Number = cardInfo.CardNumber; card.ExpYear = cardInfo.ExpirationYear; card.ExpMonth = cardInfo.ExpirationMonth; card.Cvc = cardInfo.CVV2; //Assign Card to Token Object and create Token Stripe.TokenCreateOptions token = new Stripe.TokenCreateOptions(); token.Card = card; Stripe.TokenService serviceToken = new Stripe.TokenService(); Stripe.Token newToken = serviceToken.Create(token); Stripe.CustomerCreateOptions myCustomer = new Stripe.CustomerCreateOptions(); myCustomer.Email = cardInfo.Buyer_Email; myCustomer.SourceToken = newToken.Id; var customerService = new Stripe.CustomerService(); Stripe.Customer stripeCustomer = customerService.Create(myCustomer); //Create Charge Object with details of Charge var options = new Stripe.ChargeCreateOptions { Amount = Convert.ToInt32(cardInfo.Amount), Currency = "USD", ReceiptEmail = cardInfo.Buyer_Email, CustomerId = stripeCustomer.Id, }; //and Create Method of this object is doing the payment execution. var service = new Stripe.ChargeService(); Stripe.Charge charge = service.Create(options); // This will do the Payment return(View("Thanks")); } catch (StripeException e) { switch (e.StripeError.ErrorType) { case "card_error": //error = ("Code: " + e.StripeError.Code + "; "); error = (" Error Message: " + e.StripeError.Message); break; case "api_connection_error": break; case "api_error": break; case "authentication_error": break; case "invalid_request_error": break; case "rate_limit_error": break; case "validation_error": break; default: // Unknown Error Type break; } ViewBag.Greeting = error; return(View("Error")); } }
public virtual Charge Create(ChargeCreateOptions options, RequestOptions requestOptions = null) { return(this.CreateEntity(options, requestOptions)); }