Add a generic conditional-pricing mechanic: a ProductPrice may carry
meta.requires (e.g. {"role":"seat"}) so it only applies to buyers who
already hold a prerequisite (loyalty / bundle pricing). Product::resolvePriceFor
returns the cheapest price the buyer is eligible for, delegating the
'does the buyer satisfy this requirement' test to a host-bound
EntitlementChecker contract. Defaults to DenyAllEntitlementChecker so an
unconfigured host never leaks a discount. Adds requires()/isConditional()/
requiresLabel()/requiresSatisfiedBy() and conditional()/standalone() scopes.
|
||
|---|---|---|
| .. | ||
| Cart | ||
| Enums | ||
| Models | ||
| Order | ||
| Product | ||
| Purchase | ||
| Resources | ||
| Stripe | ||
| HtmlDateTimeCastTest.php | ||
| ShopServiceTest.php | ||
| StockManagementTest.php | ||
| StockTypeSafetyTest.php | ||
| TaxServiceTest.php | ||