Payment Traits ​
Two complementary traits handle pricing and payment state. HasPriceable provides the base pricing layer (extends oobook/priceable). HasPayment builds on top of it with full payment relationship management and computed status attributes.
| Trait | Description |
|---|---|
| HasPriceable | Base pricing via MorphMany to Price, with currency exchange and ordering scopes |
| HasPayment | Full payment lifecycle: paid/unpaid/refunded status, payment relationships, formatted attributes |