Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        /// <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));
        }