@using BTCPayServer.Payments @using BTCPayServer.Payments.Lightning @using BTCPayServer.Services @using BTCPayServer.Components.TruncateCenter @using BTCPayServer.Lightning @using BTCPayServer.Services.Invoices @inject DisplayFormatter DisplayFormatter @inject PaymentMethodHandlerDictionary handlers @inject PrettyNameProvider prettyName @model IEnumerable @{ var payments = Model .Select(payment => { if (handlers.TryGet(payment.PaymentMethodId) is not ILightningPaymentHandler handler) return null; var offChainPaymentData = handler.ParsePaymentDetails(payment.Details); return new OffChainPaymentViewModel { Type = prettyName.PrettyName(payment.PaymentMethodId), BOLT11 = offChainPaymentData.BOLT11, PaymentProof = offChainPaymentData.Preimage?.ToString(), Amount = DisplayFormatter.Currency(payment.Value, handler.Network.CryptoCode) }; }) .Where(model => model != null) .ToList(); } @if (payments.Any()) {
Off-Chain Payments
@foreach (var payment in payments) { }
Type Destination Payment Proof Paid
@payment.Type @payment.Amount
}