====== Magento 2 Subscriptions Extension ====== ===== Extension context ===== Provides recurring billing and entitlement management for subscription-driven Magento products, including renewal lifecycle notifications and access enforcement controls. * **Module name**: `ToweringMedia_Subscriptions` * **Composer package**: `toweringmedia/module-subscriptions` ===== Quick links ===== * [[magento2:start|Magento 2 docs home]] * [[magento2:extensions:start|Magento 2 extension index]] ===== Installation ===== cd /path/to/magento composer require toweringmedia/module-subscriptions php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento cache:flush ===== Open settings page ===== Go to **Stores -> Configuration -> Towering Media -> Subscriptions**. ===== Configuration reference ===== ==== Email Notifications ==== * Enable email notifications * Renewal success email toggle * Renewal failure email toggle * Grace warning email toggle * Cancellation confirmation email toggle * Sender identity ==== Entitlements ==== * **Enforcement Enabled**: controls active entitlement checks. * **Shadow Log Enabled**: logs entitlement decisions without hard enforcement. ===== Commerce wiring notes ===== * This module is intended for recurring billing/software entitlement workflows, not physical autoship products. * Subscription products use product metadata such as `tm_is_subscription` and plan reference fields. * Subscriptions are created per qualifying order item with idempotent linkage. * Order item -> subscription links are persisted for admin traceability. * Idempotency uses deterministic order-item keys to prevent duplicate subscription creation on retries. ===== Validation checklist ===== * Place test order for a subscription product. * Confirm subscription record and order-item linkage are created. * Trigger renewal flow and confirm selected notification emails. * Retry a create path (or replay event in non-production) and confirm duplicate subscriptions are not created. ===== Related Magento 2 docs ===== * [[magento2:extensions:toweringmedia-module-call-for-price|Magento 2 Call for Price]] * [[magento2:extensions:toweringmedia-module-call-for-price|Magento 2 Call for Price Extension]] * [[magento2:extensions:toweringmedia-module-authorizenet|Magento 2 Authorize.Net Payment Extension]] * [[magento2:extensions:toweringmedia-module-react-checkout-pro|Magento 2 React Checkout Pro Extension]]