namespace Baya.Domain.Entities.Payments;

/// <summary>
/// The closed <c>payment_webhook_events.processing_status</c> code set. Persisted as these stable snake_case
/// codes.
/// </summary>
public static class WebhookProcessingStatus
{
    /// <summary>Stored, not yet acted on (the transient state a brand-new event is inserted in).</summary>
    public const string Received = "received";

    /// <summary>Verified, deduplicated and applied — money state was mutated by this event.</summary>
    public const string Processed = "processed";

    /// <summary>Verified but the downstream mutation failed; safe to retry.</summary>
    public const string Failed = "failed";

    /// <summary>Rejected before any money moved — an invalid signature or a nothing-to-do event.</summary>
    public const string Ignored = "ignored";
}
