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)); }
public static string GetWebPageUrl(bool isSandbox, ZarinPalGatewayOptions gatewayOptions) { var urlPrefix = isSandbox ? "sandbox" : "www"; return(gatewayOptions.PaymentPageUrl.Replace("#", urlPrefix)); }