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 }); } }