@using BTCPayServer.Services @using BTCPayServer.Abstractions.Contracts @using Microsoft.AspNetCore.Mvc.TagHelpers @inject LanguageService LangService @inject BTCPayServerEnvironment Env @inject IEnumerable UiExtensions @inject PaymentMethodHandlerDictionary PaymentMethodHandlerDictionary @inject BTCPayServer.Security.ContentSecurityPolicies Csp @model PaymentModel @{ Layout = null; ViewData["Title"] = Model.HtmlTitle; Csp.UnsafeEval(); var hasPaymentPlugins = UiExtensions.Any(extension => extension.Location == "checkout-payment-method"); var displayedPaymentMethods = Model.AvailableCryptos.Where(c => c.Displayed).ToList(); } @functions { private string ToJsValue(object value) { return Safe.Json(value).ToString()?.Replace("\"", "'"); } }
@if (Model.ShowStoreHeader) { }
@if (Model.IsUnsetTopUp) {

} else {

@Model.BtcDue @Model.CryptoCode

}
{{timeText}}
@if (displayedPaymentMethods.Count > 1 || hasPaymentPlugins) {
@foreach (var crypto in displayedPaymentMethods) { @crypto.PaymentMethodName } @await Component.InvokeAsync("UiExtensionPoint", new { location = "checkout-payment-method", model = Model })
}

@if (Env.CheatMode) { }
@if (Model.CelebratePayment) { } @if (Env.CheatMode) { } @foreach (var paymentMethodHandler in PaymentMethodHandlerDictionary .Select(handler => handler.GetCheckoutUISettings()) .Where(settings => settings != null) .DistinctBy(pm => pm.ExtensionPartial)) { } @await Component.InvokeAsync("UiExtensionPoint", new { location = "checkout-payment", model = Model }) @await Component.InvokeAsync("UiExtensionPoint", new { location = "checkout-v2-end", model = Model })