- Three cron jobs drive the module:
downgradeandaddon-expiredrun every minute, while notification runs daily. SubscriptionNotifqueries lack a properstore_idscope, leaking notifications across merchants.PaymentTimerblocks the request whenQUEUE_CONNECTION=sync, since the timer job runs inline rather than on a queue.- The
Downgradeflow contains dead code paths that are no longer reachable from current UI or cron triggers. - The
pymenttypo (intended “payment”) appears in variable names and is shipped in production.
Subscription
Overview of the Subscription module handling plan billing, downgrades, and renewal notifications.