using LiteCharms.Features.Abstractions; using LiteCharms.Features.Models; namespace LiteCharms.Features.MidrandBooks.Payments.Events; public sealed class PayfastPaymentConfirmationReceivedEvent : EventBase, IEvent { public string Name { get; set; } = nameof(PayfastPaymentConfirmationReceivedEvent); public PayfastWebhookPayload? Payload { get; set; } public PayfastPaymentConfirmationReceivedEvent() { } private PayfastPaymentConfirmationReceivedEvent(PayfastWebhookPayload? payload, string paymentId) { Payload = payload; CorrelationId = paymentId; } public static PayfastPaymentConfirmationReceivedEvent Create(PayfastWebhookPayload? payload, string paymentId) => new(payload, paymentId); }