Refund¶
aggregate-root payment
Payment reversal or credit associated with a return, exchange, or payment correction.
Business Purpose: Represent the commercial and payment state of returning value to a customer.
Identity¶
| Type | Field | Description |
|---|---|---|
global |
refund-id |
Globally unique refund identifier, stable across its payment reversal lifecycle. |
Attributes¶
| Attribute | Description |
|---|---|
refund-id Refund ID |
Stable refund identifier. |
payment-id Payment ID |
Related payment reference. |
return-id Return ID |
Related return reference when applicable. |
amount Amount |
Refund amount. |
status Status |
Current refund state. |
Lifecycle¶
requested → authorized → processed → settled → failed → cancelled
Invariants¶
stable-refund-id— Refund ID must remain stable for the lifetime of the refund.source-payment-reference— A refund must reference a source payment or payment transaction.
Relationships¶
| Type | Target |
|---|---|
derives-from |
payment payment |
settles |
return return |
Used by Capabilities¶
- payment-processing Payment Processing
Semantic Constraints¶
| Constraint | Type | Rule |
|---|---|---|
refund-belongs-to-payment |
association |
A Refund must be applied against exactly one original Payment. |
Note
Existing models expose refund-payment as a service and payment-refunded as an event on payment; refund is not yet directly referenced as an object.
Referenced by APIs¶
| Endpoint | Method | Role | Capability |
|---|---|---|---|
/payments/{id}/refunds |
POST | response |
payment-processing |