public IActionResult OnPostPay(int paymentMethod)
        {
            var cart = _cartService.Get();

            cart.SetPaymentMethod(paymentMethod);

            var result = _productQuery.CheckInventoryStatus(cart.Items);

            if (result.Any(x => !x.IsInStock))
            {
                return(RedirectToPage("/Cart"));
            }

            var paymentResult = new PaymentResult();
            var orderId       = _orderApplication.PlaceOrder(cart);

            if (paymentMethod == 1)
            {
                _orderApplication.PaymentSucceeded(orderId, 23231);
                return(RedirectToPage("/PaymentResult",
                                      paymentResult.Succeeded(
                                          "سفارش شما با موفقیت ثبت شد. در اسرا وقت برای شما ارسال میشود.", null)));
            }
            else
            {
                _orderApplication.PaymentSucceeded(orderId, 23231);
                return(RedirectToPage("/PaymentResult",
                                      paymentResult.Succeeded(
                                          "سفارش شما با موفقیت ثبت شد. پس از تماس کارشناسان ما و پرداخت وجه، سفارش ارسال خواهد شد.", null)));
            }



            /*   var orderId = _orderApplication.PlaceOrder(cart);
             * if (paymentMethod == 1)
             * {
             *     var paymentResponse = _zarinPalFactory.CreatePaymentRequest(
             *         cart.PayAmount.ToString(CultureInfo.InvariantCulture), "", "",
             *         "خرید از درگاه ", orderId);
             *
             *     return Redirect(
             *         $"https://{_zarinPalFactory.Prefix}.zarinpal.com/pg/StartPay/{paymentResponse.Authority}");
             * }
             *
             * var paymentResult = new PaymentResult();
             * return RedirectToPage("/PaymentResult",
             *     paymentResult.Succeeded(
             *         "سفارش شما با موفقیت ثبت شد. پس از تماس کارشناسان ما و پرداخت وجه، سفارش ارسال خواهد شد.", null));*/
        }
Exemplo n.º 2
0
        public IActionResult OnGetCallBack([FromQuery] string authority, [FromQuery] string status,
                                           [FromQuery] long oId)
        {
            var orderAmount          = _orderApplication.GetAmountBy(oId);
            var verificationResponse =
                _zarinPalFactory.CreateVerificationRequest(authority,
                                                           orderAmount.ToString(CultureInfo.InvariantCulture));

            var result = new PaymentResult();

            if (status == "OK" && verificationResponse.Status >= 100)
            {
                var issueTrackingNo = _orderApplication.PaymentSucceeded(oId, verificationResponse.RefID);
                Response.Cookies.Delete("cart-items");
                result = result.Succeeded("پرداخت با موفقیت انجام شد.", issueTrackingNo);
                return(RedirectToPage("/PaymentResult", result));
            }

            result = result.Failed(
                "پرداخت با موفقیت انجام نشد. درصورت کسر وجه از حساب، مبلغ تا 24 ساعت دیگر به حساب شما بازگردانده خواهد شد.");
            return(RedirectToPage("/PaymentResult", result));
        }
Exemplo n.º 3
0
 public IActionResult OnGetConfirm(long id)
 {
     _orderApplication.PaymentSucceeded(id, 0);
     return(RedirectToPage("./Index"));
 }