public IActionResult FinalyOrder(int orderId, int addressId) //---id = orderId { _orderService.AddAddressToOrder(orderId, addressId); Order order = _orderService.GetOrderByOrderId(orderId); string roleId = User.FindFirst(ClaimTypes.Role)?.Value; if (order.OrderDetails == null) { return(Redirect("/")); } #region admin pyment if (roleId == "1") { return(RedirectToAction("OnlinePayment", "Home", new { area = "", id = orderId })); } #endregion #region onlin payment var payment = new Zarinpal.Payment("054939ee-3bc1-11ea-9822-000c295eb8fc", order.OrderSum + 15000); //----15.000---هزینه پست var res = payment.PaymentRequest("فروشگاه اینترنتی لیندا", "http://lindaunderwear.ir/OnlinePayment/" + orderId, "", ""); if (res.Result.Status == 100) { return(Redirect("https://zarinpal.com/pg/StartPay/" + res.Result.Authority)); } return(NotFound()); #endregion }
public async Task <IActionResult> PaymentInitialize() { var currentUser = await userManager.FindByNameAsync(User.Identity.Name); var invoiceUser = dbInvoice.GetAll().Where(e => e.CustomerId == currentUser.Id && e.IsPaid == false).FirstOrDefault(); var totalPrice = TotalInvoicePrice(invoiceUser.Id); string YourMerchantId = "6e4d95e0-f254-11e9-897b-000c295eb8fc"; var payment = new Zarinpal.Payment(YourMerchantId, totalPrice); //SandBox==Test ZarinPal // var payment = new ZarinpalSandbox.Payment(totalPrice); string description = "پرداخت سبد خرید"; var url = HttpContext.Request.Host.Host; // string backUrl = "https://*****:*****@pdoorsco.ir"; string CustomerPhoneNumber = currentUser.PhoneNumber ?? "09171112233"; var result = await payment.PaymentRequest(description, backUrl, CustomerEmail, CustomerPhoneNumber); if (result.Status == 100) { invoiceUser.TrackingCode = result.Authority; dbInvoice.Update(invoiceUser); return(Redirect("https://zarinpal.com/pg/StartPay/" + result.Authority)); // return Redirect("https://sandbox.zarinpal.com/pg/StartPay/" + result.Authority); } return(Json("No")); }
public async Task <IActionResult> Pay([FromRoute] PayModel model, [FromForm] PersonalPortalModel bodyModel) { string mechantId = "dd5c225c-bbf5-11e9-9621-000c295eb8fc"; var personalPortal = await _personalPortalService.GetPersonalPortal(model); bodyModel.Price = !string.IsNullOrEmpty(personalPortal.Price) ? personalPortal.Price : bodyModel.Price; bodyModel.Description = !string.IsNullOrEmpty(personalPortal.Description) ? personalPortal.Description : bodyModel.Description; var payment = new Zarinpal.Payment(mechantId, int.Parse(bodyModel.Price)); var retUrl = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, $"PersonalPortal/PayReturn"); var requestResult = await payment.PaymentRequest(bodyModel.Description, retUrl); if (requestResult.Status == 100) { await _paymentService.CreateRequest(new CreateRequest { Status = requestResult.Status, Authority = requestResult.Authority, Link = requestResult.Link, PersonalPortalId = personalPortal.ID, Description = bodyModel.Description, Price = bodyModel.Price }); return(Redirect(requestResult.Link)); } return(View(bodyModel)); }
public async Task <IActionResult> PayGroupSubmit(GroupPayModel model) { model.ID = User.Claims.GetUserId(); model.Hash = User.Claims.GetUserHash(); string mechantId = "dd5c225c-bbf5-11e9-9621-000c295eb8fc"; var portals = await _destinationPortalService.GetUserGroupPortals(model); var price = model.Price.HasValue ? model.Price.Value : portals.Sum(x => x.Price); var title = portals.FirstOrDefault().Group; var payment = new Zarinpal.Payment(mechantId, (int)price); var retUrl = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, $"DestinationPortals/PayReturn"); var requestResult = await payment.PaymentRequest(title, retUrl); if (requestResult.Status == 100) { await _paymentService.CreateRequest(new CreateRequest { Status = requestResult.Status, Authority = requestResult.Authority, Link = requestResult.Link, GroupId = model.GroupId, Description = title, Price = price.ToString() }); return(Redirect(requestResult.Link)); } return(View("PayGroup", model)); }
public async Task <IActionResult> Pay([FromRoute] GetDestinationPortalModel model, [FromForm] DetinationPortalPayModel bodyModel) { model.ID = User.Claims.GetUserId(); model.Hash = User.Claims.GetUserHash(); string mechantId = "dd5c225c-bbf5-11e9-9621-000c295eb8fc"; var personalPortal = await _destinationPortalService.GetUserRegistredPortal(model); bodyModel.Price = personalPortal.Price > 0 ? personalPortal.Price.ToString() : bodyModel.Price; var payment = new Zarinpal.Payment(mechantId, int.Parse(bodyModel.Price)); var retUrl = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, $"DestinationPortals/PayReturn"); var requestResult = await payment.PaymentRequest(personalPortal.Title, retUrl); if (requestResult.Status == 100) { await _paymentService.CreateRequest(new CreateRequest { Status = requestResult.Status, Authority = requestResult.Authority, Link = requestResult.Link, DestinationPortalId = personalPortal.Id, Description = personalPortal.Title, Price = bodyModel.Price }); return(Redirect(requestResult.Link)); } return(View(bodyModel)); }
public async Task <IActionResult> PaymentInitializeTest() { string description = "پرداخت سبد خرید"; var currentUser = await userManager.FindByNameAsync(User.Identity.Name); var invoiceUser = dbInvoice.GetAll().Where(e => e.CustomerId == currentUser.Id && e.IsPaid == false).FirstOrDefault(); var totalPrice = TotalInvoicePrice(invoiceUser.Id); string CustomerEmail = currentUser.Email ?? "*****@*****.**"; string CustomerPhoneNumber = currentUser.PhoneNumber ?? "09171112233"; string backUrl = $"http://persiandoorsco.ir/Invoice/PaymentVerify?Price={totalPrice}"; string YourMerchantId = "6e4d95e0-f254-11e9-897b-000c295eb8fc"; var payment = new Zarinpal.Payment(YourMerchantId, totalPrice); var result = await payment.PaymentRequest(description, backUrl, CustomerEmail, CustomerPhoneNumber); return(Json(description + "+++" + backUrl + "+++" + CustomerEmail + "+++" + CustomerPhoneNumber + "+++" + result.Status + "++" + result.Authority)); }