PrestaShop Checkout & Payment

DataFirefly Subscriptions — Subscriptions and recurring Stripe payment for PrestaShop 8

The PrestaShop 8 subscription module: recurring Stripe, dunning, customer self-service area.

Selling by subscription rather than per unit means moving from a sawtooth revenue line to a predictable MRR — and that's what separates a regular cosmetic from a high-value premium one, a coffee box from an 8-figure DTC brand, a haircare product from retail that resells. But activating subscriptions on native PrestaShop is simply impossible: there's no notion of recurring payment, no link with Stripe Subscriptions, no dunning management. DataFirefly Subscriptions fills the gap with a complete system: 6 billing frequencies, deliveries decoupled from billing, customer management area (pause / skip / cancel), automatic dunning with retry and reminder email, MRR dashboard, multi-gateway architecture. Written for PrestaShop 8 and tested on production stores.

PrestaShop 8.0+ PHP 8.0+ Recurring Stripe Auto dunning Multi-frequency Secure webhook
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
AB
v1.1.0 · updated 2026-05-01
What it does

The short version.

01

Integrated Stripe recurring payment

The customer chooses on the product page "one-time purchase" or "subscription" with their frequency (weekly / monthly / quarterly / annual, etc.). Stripe tokenizes their card on the first order, and each automatic renewal creates a new standard PrestaShop order without re-entry.

02

Anti-churn automatic dunning

If the payment fails (expired card, limit reached), the module automatically retries (3 times at 3-day intervals by default), sends a reminder email to the customer asking to update their card, and only cancels the subscription after the configured consecutive failures. You recover a significant portion of payments that would have been lost in dry failure.

03

6 frequencies x 5 deliveries

Six billing frequencies and five independent delivery frequencies: bill monthly and deliver weekly (weekly box monthly payment), bill annually and deliver monthly (annual commitment), or align both. The entire e-commerce subscription matrix is covered.

04

Customer self-service: pause, skip, cancel

The customer can pause, resume, skip a delivery, update their card or cancel from their "My subscriptions" area — without contacting your support. You configure what's allowed (pause / skip / free cancellation after X minimum cycles).

The long version

Everything you'd want to know before you install.

A detailed look at how DataFirefly Subscriptions — Subscriptions and recurring Stripe payment for PrestaShop 8 works, why we built it the way we did, and the thinking behind the features above.

§ 01

Why subscription transforms an e-commerce store

A one-shot customer brings you a margin at purchase, plus maybe a repurchase on a whim in 6 months. A subscription customer brings you a margin every month with no new commercial action, and statistically consumes 3 to 5 times more over their lifetime than a one-shot customer. This is what explains the explosive valuation of DTC brands that activated subscription (Dollar Shave Club, Birchbox, Hello Fresh, and their European equivalents). On the operational side, your revenue becomes predictable, your supply too, and your marketing can invest in higher CAC knowing they will be amortized over 6 to 18 months rather than a single order.

§ 02

Why native PrestaShop doesn't allow it

PrestaShop was designed for the one-shot model: a cart, a payment, an order. No notion of recurring payment in the core, no link with Stripe Subscriptions, no renewal webhook event management. To activate subscription, you're forced to go to Subscriptio (250 €, complex), code in-house (weeks of development), or migrate to Shopify (loss of back-office and complete re-architecture). DataFirefly Subscriptions is a 4th way: a dedicated module, installed in minutes, exhaustive on critical features.

§ 03

The customer journey

On the product page, a selector adds the option to buy as subscription with frequency choice and display of subscription discount vs one-shot (e.g.: 30 € for one-time purchase, 24 €/month in subscription, 6 €/month savings highlighted). The customer adds to cart, goes to standard PrestaShop checkout, pays via the module — their card is tokenized by Stripe at checkout, and their subscription is created on Stripe with the right price and frequency. On the next cycle, Stripe automatically charges the card, the webhook arrives on PrestaShop, and a new standard order is created in your back-office — visible in your accounting exports, your stock, your sales reports, without doing anything.

§ 04

Dunning, the feature that saves MRR

On card-based subscriptions, about 5 to 12% of cycles fail: expired card, limit reached, blocking bank, etc. Without dunning, these failures are dry cancellations — you lose the customer. With dunning: the module automatically retries the payment (3 attempts at 3-day intervals by default, configurable), sends a reminder email to the customer asking to update their card from their customer area, and only cancels the subscription after X consecutive failures (default 1, configurable). In practice, dunning typically recovers 50 to 70% of payments that would have been lost — several hundred euros per month saved from 50 active subscriptions.

§ 05

The "My subscriptions" customer area

Accessible from the customer account, this area replaces all subscription support. The customer sees the list of their active subscriptions, their next payment date, their next delivery date. They can pause a subscription, resume it, skip the next delivery ("skip this month, I'm on vacation"), update their payment card, or cancel. You configure globally what's allowed: pause yes/no, skip yes/no, free cancellation or after X minimum cycles. Result: your support inbox no longer receives 50 emails per day for subscription modifications — the customer self-serves, and is happier.

§ 06

Technical architecture and extensibility

The module is built on a PaymentGatewayInterface of which StripeGateway is the first implementation. This architecture allows adding other gateways (Adyen, GoCardless, Mollie, Worldline) by writing a dedicated connector without touching the rest of the module. Four dedicated tables: df_subscription_plan (subscription plans per product), df_subscription (active customer subscriptions), df_subscription_order (link with generated PrestaShop orders), df_subscription_log (event history per subscription). The Stripe webhook cryptographically verifies each signature before processing — no risk that an attacker injects fake events. The cron is token-protected, the admin is under control of native PrestaShop permissions.

§ 07

Use cases

Monthly box (cosmetics, food, wine, coffee, cigars, books): monthly billing, monthly delivery, subscription discount, dunning. Recurring service (training, coaching, content subscription): monthly or annual billing, no physical delivery, 3-6 month minimum commitment. Repeat consumables (cartridges, pet food, detergent, supplements): billing aligned on delivery, frequency customizable by customer, delivery skip allowed. Embedded SaaS or license (digital services, premium access): annual billing with significant discount vs one-shot, no delivery.