示例#1
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));
        }