Beispiel #1
0
        public static PaymentRequestResult CreateRequestResult(string response,
                                                               HttpContext httpContext,
                                                               ZarinPalGatewayAccount account,
                                                               ZarinPalGatewayOptions gatewayOptions,
                                                               MessagesOptions messagesOptions)
        {
            var status    = XmlHelper.GetNodeValueFromXml(response, "Status", "http://zarinpal.com/");
            var authority = XmlHelper.GetNodeValueFromXml(response, "Authority", "http://zarinpal.com/");

            var isSucceed = string.Equals(status, NumericOkResult, StringComparison.InvariantCultureIgnoreCase);

            if (!isSucceed)
            {
                var message = ZarinPalStatusTranslator.Translate(status, messagesOptions);

                return(PaymentRequestResult.Failed(message, account.Name));
            }

            var paymentPageUrl = GetWebPageUrl(account.IsSandbox, gatewayOptions) + authority;

            return(PaymentRequestResult.SucceedWithRedirect(account.Name, httpContext, paymentPageUrl));
        }
Beispiel #2
0
        public static string GetWebPageUrl(bool isSandbox, ZarinPalGatewayOptions gatewayOptions)
        {
            var urlPrefix = isSandbox ? "sandbox" : "www";

            return(gatewayOptions.PaymentPageUrl.Replace("#", urlPrefix));
        }