Trial periods allow new customers to experience a subscription product before committing to recurring billing. DMSI Subscriptions Pro supports both free trials (no payment until trial ends) and paid trials (small upfront charge with subsequent full billing).
📌 What This Extension Adds: Core DDLS does not have a trial period system. Subscriptions Pro adds trial period management, trial-to-paid conversion tracking, trial email notifications, and one-trial-per-customer enforcement.
Free Trials vs Paid Trials #
| Type | Description | Payment at Signup | Payment at Conversion |
|---|---|---|---|
| Free Trial | Customer gets full access for the trial duration at no charge | None | Full subscription price |
| Paid Trial | Customer pays a nominal trial fee (set per product) | Trial fee | Full subscription price |
The trial type is configured at the WooCommerce product level when setting up a subscription product.
Trial Flow #
- Customer purchases subscription with trial — The order is created and the subscription enters
trialstatus. - Trial record created — A record is inserted into
wp_dmsilm_sp_trial_logwith trial start, trial end, and customer/subscription IDs. - Trial active period — The customer has full license access. No renewal billing fires during this period.
- Trial ending notification — A
trial-ending.phpemail is sent a configurable number of days before the trial ends (default: 3 days before expiry). - Trial conversion — On the trial end date, the subscription transitions to
activeand the first full renewal payment is collected. - Conversion notification — A
trial-converted.phpconfirmation email is sent.
Trial Expiry Without Conversion #
If payment fails at trial conversion, the subscription enters the standard grace period/dunning flow. See Grace Periods and Suspension and Payment Retries Overview.
If no payment method is on file (free trial with no card required), the subscription transitions to cancelled at trial end unless the customer has added a payment method.
One Trial Per Customer Per Product #
The plugin enforces a one-trial-per-customer-per-product rule. If a customer attempts to purchase a subscription product they have previously trialled, they are directed to the full-price subscription instead. This prevents repeated free trial abuse.
