dodil/erp-brick-payments
DODIL ERP brick: payments
src/brick_payments/domain/events.py
"""Domain events: one per thing that happened. An aggregate records them in `.events`; nothing publishes them -
a brick that must react calls its seam."""
from dataclasses import dataclass
from decimal import Decimal
@dataclass(frozen=True)
class ReceiptRecorded:
payment_id: str
amount: Decimal
currency: str
@dataclass(frozen=True)
class ReceiptReversed:
payment_id: str
returned_on: str
@dataclass(frozen=True)
class RefundRequested:
refund_id: str
amount: Decimal
@dataclass(frozen=True)
class RefundApproved:
refund_id: str
by: str
@dataclass(frozen=True)
class RefundRejected:
refund_id: str
by: str
@dataclass(frozen=True)
class RefundPaid:
refund_id: str
paid_on: str