@model BTCPayServer.Models.InvoicingModels.InvoiceReceiptViewModel @using BTCPayServer.Client @using BTCPayServer.Client.Models @using BTCPayServer.Components.QRCode @using BTCPayServer.Services @using Microsoft.AspNetCore.Mvc.TagHelpers @using BTCPayServer.Abstractions.TagHelpers @using BTCPayServer.Payments @inject BTCPayServerEnvironment Env @inject DisplayFormatter DisplayFormatter @{ Layout = null; ViewData["Title"] = $"Receipt from {Model.StoreName}"; var isProcessing = Model.Status == InvoiceStatus.Processing; var isFreeInvoice = (Model.Status == InvoiceStatus.New && Model.Amount == 0); var isSettled = Model.Status == InvoiceStatus.Settled; } @if (isProcessing) { } else if (isFreeInvoice) { }
@if (isProcessing) {
The invoice has detected a payment but is still waiting to be settled.
} else if (!isSettled) {
The invoice is not settled.
} else { if (Model.ReceiptOptions.ShowQR is true) { }
Print
Amount Paid
@DisplayFormatter.Currency(Model.Amount, Model.Currency, DisplayFormatter.CurrencyFormat.Symbol)
Date
@Model.Timestamp.ToBrowserDate()
@if (!string.IsNullOrEmpty(Model.OrderId)) {
Order ID
@if (!string.IsNullOrEmpty(Model.OrderUrl)) { @if (string.IsNullOrEmpty(Model.OrderId)) { View Order } else { @Model.OrderId } } else { @Model.OrderId }
}
}
@if (isProcessing) { This page will refresh periodically until the invoice is settled. } else if (isSettled) { if (Model.Payments?.Any() is true) {

Payment Details

@foreach (var payment in Model.Payments) { @if (!string.IsNullOrEmpty(payment.Destination)) { } @if (!string.IsNullOrEmpty(payment.PaymentProof)) { } }
Date Payment Paid Rate
@payment.ReceivedDate.ToBrowserDate() @payment.Amount @payment.PaymentMethod @payment.PaidFormatted @payment.RateFormatted
Destination
Payment Proof
@foreach (var payment in Model.Payments) {
@payment.PaidFormatted = @payment.Amount @payment.PaymentMethod, Rate: @payment.RateFormatted @if (!string.IsNullOrEmpty(payment.PaymentProof)) {
Proof: @payment.PaymentProof
}
}
} if (Model.AdditionalData?.Any() is true) {

Additional Data

} }