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() }); }
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)); }
public static string ToAbsoluteUrl(this string url) { var siteUri = SiteUrlHelper.GetCurrentSiteUrl(); if (siteUri == null || url == null) { return(null); } return(new Uri(siteUri, url).ToString()); }
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()); }
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()); }