@using BTCPayServer.Models.AppViewModels @using BTCPayServer.Payments.Lightning @using LNURL @inject BTCPayNetworkProvider BTCPayNetworkProvider @model BTCPayServer.Models.AppViewModels.ViewPointOfSaleViewModel @{ Layout = "_LayoutPos"; Context.Request.Query.TryGetValue("cryptocode", out var cryptoCodeValues); var cryptoCode = cryptoCodeValues.FirstOrDefault() ?? "BTC"; var supported = Model.Store.GetSupportedPaymentMethods(BTCPayNetworkProvider).OfType().OrderBy(method => method.CryptoCode == cryptoCode).FirstOrDefault(); if (supported != null && !Model.Store.GetEnabledPaymentIds(BTCPayNetworkProvider).Contains(supported.PaymentId)) { supported = null; } } @if (supported is null) { } else { }
@for (int x = 0; x < Model.Items.Length; x++) { var item = Model.Items[x];

@item.Title

@switch (item.Price.Type) { case ViewPointOfSaleViewModel.Item.ItemPrice.ItemPriceType.Topup: Any amount break; case ViewPointOfSaleViewModel.Item.ItemPrice.ItemPriceType.Minimum: @item.Price.Formatted minimum break; case ViewPointOfSaleViewModel.Item.ItemPrice.ItemPriceType.Fixed: @item.Price.Formatted break; default: throw new ArgumentOutOfRangeException(); }
@if (!item.Inventory.HasValue || item.Inventory.Value > 0) { if (supported != null) { var lnurlEndpoint = new Uri(Url.Action("GetLNURLForApp", "LNURL", new { cryptoCode = supported.CryptoCode, appid = Model.AppId, ItemCode = item.Id }, Context.Request.Scheme, Context.Request.Host.ToString())); var lnUrl = LNURL.EncodeUri(lnurlEndpoint, "payRequest", supported.UseBech32Scheme); } }
}