Esempio n. 1
0
        public async Task <IActionResult> Index(int price)
        {
            var request = new MadPayGatePayRequest
            {
                Api          = "5eac1a0d-47c9-433b-9b5c-847c2ba979bd",
                RedirectUrl  = "https://*****:*****@gmail.com",
                Mobile          = "09361234569",
                Description     = "خرید از سایت کفش چرم",
                ValidCardNumber = ""
            };

            var result = await _madPayGateWay.PayAsync(request);

            if (result.Status)
            {
                return(Redirect(result.Result.RedirectUrl));
            }
            else
            {
                return(View(result));
            }
        }
        /// <summary>
        /// Use this method for requesting a bank gate
        /// </summary>
        /// <param name="madPayGatePayRequest"></param>
        /// <returns></returns>
        public async Task <MadPayGateResult <MadPayGatePayResponse> > PayAsync(MadPayGatePayRequest madPayGatePayRequest)
        {
            _http.DefaultRequestHeaders.Clear();

            _content = new StringContent(
                JsonConvert.SerializeObject(madPayGatePayRequest), UTF8Encoding.UTF8, "application/json");

            _response = await _http.PostAsync(ApiRoutes.Pay.PaySend, _content);

            if ((int)_response.StatusCode == 200)
            {
                return(JsonConvert
                       .DeserializeObject <MadPayGateResult <MadPayGatePayResponse> >(await _response.Content.ReadAsStringAsync()));
            }
            else if ((int)_response.StatusCode == 400)
            {
                var res = JsonConvert
                          .DeserializeObject <MadPayGateResult <string> >(await _response.Content.ReadAsStringAsync());

                return(new MadPayGateResult <MadPayGatePayResponse>
                {
                    Messages = res.Messages,
                    Status = false,
                    Result = null
                });
            }
            else
            {
                return(new MadPayGateResult <MadPayGatePayResponse>
                {
                    Messages = new string[] { "خطای نامشخص" },
                    Status = false,
                    Result = null
                });
            }
        }