btcpayserver/BTCPayServer/Events/InvoiceEvent.cs

54 lines
1.9 KiB
C#
Raw Normal View History

2020-07-24 09:40:37 +02:00
using System.Collections.Generic;
2018-01-18 20:56:55 +09:00
using BTCPayServer.Services.Invoices;
namespace BTCPayServer.Events
{
public class InvoiceEvent
{
2019-01-06 10:12:45 +01:00
public const string Created = "invoice_created";
public const string ReceivedPayment = "invoice_receivedPayment";
public const string MarkedCompleted = "invoice_markedComplete";
2020-06-28 17:55:27 +09:00
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";
2020-07-24 09:40:37 +02:00
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},
};
2020-06-28 17:55:27 +09:00
2020-07-24 09:40:37 +02:00
public InvoiceEvent(InvoiceEntity invoice, string name)
2018-01-18 20:56:55 +09:00
{
Invoice = invoice;
2020-07-24 09:40:37 +02:00
EventCode = EventCodes[name];
2018-01-18 20:56:55 +09:00
Name = name;
}
public InvoiceEntity Invoice { get; set; }
2018-01-18 20:56:55 +09:00
public int EventCode { get; set; }
public string Name { get; set; }
2019-01-06 10:12:45 +01:00
public PaymentEntity Payment { get; set; }
2018-01-18 20:56:55 +09:00
public override string ToString()
{
return $"Invoice {Invoice.Id} new event: {Name} ({EventCode})";
2018-01-18 20:56:55 +09:00
}
}
}