internal static async Task <PaymentRequestResult> CreateRequestResult( HttpResponseMessage responseMessage, HttpContext httpContext, FanAvaGatewayAccount account, FanAvaGatewayOptions gatewayOptions) { var response = await responseMessage.Content.ReadAsStringAsync().ConfigureAwaitFalse(); if (!responseMessage.IsSuccessStatusCode) { return(PaymentRequestResult.Failed(response.ToString(), account.Name)); } var result = JsonConvert.DeserializeObject <FanAvaRequestResultModel>(response); var paymentPageUrl = QueryHelper.AddQueryString(gatewayOptions.PaymentPageUrl, new Dictionary <string, string> { { "token", result.Token }, { "lang", "fa" } }); return(PaymentRequestResult.SucceedWithRedirect(account.Name, httpContext, paymentPageUrl)); }
/// <summary> /// Adds a query string to the current URL. /// </summary> /// <param name="name"></param> /// <param name="value"></param> public CallbackUrl AddQueryString(string name, string value) { var url = QueryHelper.AddQueryString(Url, name, value); return(new CallbackUrl(url)); }