btcpayserver/BTCPayServer/Events/InvoiceEvent.cs
2020-08-26 21:36:30 +09:00

53 lines
1.9 KiB
C#

using System.Collections.Generic;
using BTCPayServer.Services.Invoices;
namespace BTCPayServer.Events
{
public class InvoiceEvent
{
public const string Created = "invoice_created";
public const string ReceivedPayment = "invoice_receivedPayment";
public const string MarkedCompleted = "invoice_markedComplete";
public const string MarkedInvalid = "invoice_markedInvalid";
public const string Expired = "invoice_expired";
public const string ExpiredPaidPartial = "invoice_expiredPaidPartial";
public const string PaidInFull = "invoice_paidInFull";
public const string PaidAfterExpiration = "invoice_paidAfterExpiration";
public const string FailedToConfirm = "invoice_failedToConfirm";
public const string Confirmed = "invoice_confirmed";
public const string Completed = "invoice_completed";
public static Dictionary<string, int> EventCodes = new Dictionary<string, int>()
{
{Created, 1001},
{ReceivedPayment, 1002},
{PaidInFull, 1003},
{Expired, 1004},
{Confirmed, 1005},
{Completed, 1006},
{MarkedInvalid, 1008},
{FailedToConfirm, 1013},
{PaidAfterExpiration, 1009},
{ExpiredPaidPartial, 2000},
{MarkedCompleted, 2008},
};
public InvoiceEvent(InvoiceEntity invoice, string name)
{
Invoice = invoice;
EventCode = EventCodes[name];
Name = name;
}
public InvoiceEntity Invoice { get; set; }
public int EventCode { get; set; }
public string Name { get; set; }
public PaymentEntity Payment { get; set; }
public override string ToString()
{
return $"Invoice {Invoice.Id} new event: {Name} ({EventCode})";
}
}
}