Example #1
0
        protected virtual CheckoutMerchantUrls GetMerchantUrls(ICart cart)
        {
            if (PaymentMethodDto == null)
            {
                return(null);
            }

            var configuration = GetConfiguration(cart.MarketId);

            Uri ToFullSiteUrl(Func <CheckoutConfiguration, string> fieldSelector)
            {
                var url = fieldSelector(configuration).Replace("{orderGroupId}", cart.OrderLink.OrderGroupId.ToString());

                if (Uri.TryCreate(url, UriKind.Absolute, out var uri))
                {
                    return(uri);
                }

                return(new Uri(SiteUrlHelper.GetCurrentSiteUrl(), url));
            }

            return(new CheckoutMerchantUrls
            {
                Terms = ToFullSiteUrl(c => c.TermsUrl).ToString(),
                CancellationTerms = !string.IsNullOrEmpty(configuration.CancellationTermsUrl) ? ToFullSiteUrl(c => c.CancellationTermsUrl).ToString() : null,
                Checkout = ToFullSiteUrl(c => c.CheckoutUrl).ToString(),
                Confirmation = ToFullSiteUrl(c => c.ConfirmationUrl).ToString(),
                Push = ToFullSiteUrl(c => c.PushUrl).ToString(),
                AddressUpdate = ToFullSiteUrl(c => c.AddressUpdateUrl).ToString(),
                ShippingOptionUpdate = ToFullSiteUrl(c => c.ShippingOptionUpdateUrl).ToString(),
                Notification = ToFullSiteUrl(c => c.NotificationUrl).ToString(),
                Validation = ToFullSiteUrl(c => c.OrderValidationUrl).ToString()
            });
        }
Example #2
0
        public async Task <bool> CreateOrUpdateSession(ICart cart, IDictionary <string, object> dic = null)
        {
            var additional = dic ?? new Dictionary <string, object>();

            return(await CreateOrUpdateSession(
                       cart, new SessionSettings(SiteUrlHelper.GetCurrentSiteUrl()) { AdditionalValues = additional })
                   .ConfigureAwait(false));
        }
Example #3
0
        public static string ToAbsoluteUrl(this string url)
        {
            var siteUri = SiteUrlHelper.GetCurrentSiteUrl();

            if (siteUri == null || url == null)
            {
                return(null);
            }
            return(new Uri(siteUri, url).ToString());
        }
Example #4
0
        private string ToFullSiteUrl(Uri siteUrl, string url)
        {
            if (Uri.TryCreate(url, UriKind.Absolute, out var absolute))
            {
                return(absolute.ToString());
            }

            if (siteUrl == null)
            {
                siteUrl = SiteUrlHelper.GetCurrentSiteUrl();
            }

            return(new Uri(siteUrl, url).ToString());
        }
Example #5
0
        public static Uri GetSiteUrl(this ICart cart)
        {
            var url = cart.Properties[Constants.KlarnaSiteUrlCartField]?.ToString() ?? string.Empty;

            return(Uri.TryCreate(url, UriKind.Absolute, out var uri) ? uri : SiteUrlHelper.GetCurrentSiteUrl());
        }