Customized fork of @reorder/reorderjs.
- added day granularity for frequency intervals
- prevents executing
POST /store/carts/{cartId}/completefor carts containing subscription items - behaviour of
POST /store/carts/{cartId}/subscribematches it's non-subscription counterpart more closely (droppedsubscriptionfield, supports query params and uses same defaults) - shipping address is optional when item(s) in subscription cart don't require shipping (i.e.:
item.requires_shipping = false) - exposed
setPaymentSessionDatahook inprocessRenewalCycleWorkflowfor provider-agnostic payment handling during renewals - completing subscription cart no longer requires payment method to be already saved at that point of time, instead it's info is backfilled after payment is captured
- renewal orders recompute the subscription plan discount instead of billing full catalog price (frozen
pricing_snapshotfirst, live plan config on plan change), with a combined-discount clamp applied on both checkout and renewals - exposed
resolveRenewalAdjustmentshook inprocessRenewalCycleWorkflowso the host app can add its own (code-less) discounts to renewal orders, andsubscriptionCreatedhook increateSubscriptionFromCartWorkflowfor reacting to genuine subscription creation source_snapshotnow truthfully captures the initial order's adjustments and tax lines (audit-only — renewals deliberately no longer replay them)- renewal cycles stranded in PROCESSING by an unhandled failure between steps are now marked FAILED via compensation, keeping them retryable
- addition of eslint lint rules
- improved test setup
Content of README.md WIP