PrestaShop Checkout & Payment

DataFirefly Subscriptions — Subscriptions and Stripe Recurring Payments for PrestaShop 8 & 9

The subscription module for PrestaShop 8 and 9: Stripe card-on-file, dunning, self-service customer area.

Selling by subscription instead of one-off purchases means turning a jagged revenue line into predictable MRR — it is what separates a coffee box from an 8-figure DTC brand. But native PrestaShop knows nothing about recurring payments: no saved card, no renewals, no dunning. DataFirefly Subscriptions fills the gap with a proven card-on-file architecture: the customer pays once at checkout through a native payment option (3DS/SCA handled), their card is securely saved at Stripe, and every renewal creates a real PrestaShop order for the exact amount, shipping included. 6 billing frequencies, decoupled deliveries, automatic dunning with retries, customer pause/skip/cancel area, MRR dashboard. Compatible with PrestaShop 8.0 to 9.x.

At a glance
  • Payment at checkout through a native option: card on file, automatic 3DS/SCA
  • Renewals are real PrestaShop orders, accurate to the cent, shipping included (configurable)
  • 6 billing frequencies, decoupled deliveries, subscriber discounts, minimum commitment
  • Automatic dunning: configurable retries, emails, cancellation after X failures
  • Compatible with PrestaShop 8.0 to 9.x and PHP 8.0 to 8.4
PrestaShop 8 & 9 PHP 8.0 – 8.4 Stripe card-on-file 3DS / SCA Auto dunning Multi-frequency
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
Subscriptions and Stripe recurring payments on PrestaShop 8
v2.1.0 · updated 2026-07-04
What it does

The short version.

01

Card-on-file architecture with no double billing

The customer picks a plan on the product page, then pays once at checkout through the dedicated payment option. The payment covers the exact cart total (shipping included), handles 3D Secure automatically, and saves the card at Stripe for future cycles. A single billing engine: zero risk of double charges.

02

Renewals as real PrestaShop orders

At each due date, the module rebuilds a real cart (product, address, carrier), computes the exact total through the PrestaShop engine (shipping and taxes included, configurable), charges the saved card off-session, then creates a standard order. Your accounting exports, stock and reports keep working unchanged — Stripe and PrestaShop amounts match to the cent.

03

Automatic anti-churn dunning

If a payment fails (expired card, limit reached), the module retries automatically (3 times every 3 days by default), sends the customer a reminder email, and only cancels after the configured number of consecutive failures. Dunning typically recovers 50 to 70% of payments that would have been lost.

04

Customer self-service: pause, skip, cancel

From the My Subscriptions area, the customer can pause, resume, skip a delivery or cancel — without contacting your support. You configure what is allowed: pause yes/no, skip yes/no, free cancellation or after X minimum commitment cycles. On cancellation, the saved card is detached automatically.

The long version

Everything you'd want to know before you install.

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

§ 01

Why subscriptions transform an e-commerce store

A one-off customer brings you one margin at purchase, plus maybe a repeat order in 6 months. A subscriber brings you margin every month with no new sales effort, and statistically spends 3 to 5 times more over their lifetime. That is what explains the valuations of DTC brands that switched on subscriptions (Dollar Shave Club, HelloFresh and their local equivalents). Operationally, your revenue becomes predictable, your supply chain too, and your marketing can invest in higher CAC knowing it will be amortized over 6 to 18 months instead of a single order.

§ 02

Why native PrestaShop cannot do it

PrestaShop was designed for the one-off model: one cart, one payment, one order. No concept of a saved card, no automatic renewals, no handling of recurring payment failures. To enable subscriptions you must build in-house (weeks of development), stack costly and complex modules, or migrate platforms. DataFirefly Subscriptions is the direct path: a dedicated module installed in minutes, exhaustive on the critical features, compatible with PrestaShop 8 and 9.

§ 03

The customer journey, from product page to renewal

On the product page, a collapsible Subscribe and save block presents available plans with their discounted price (for example: 30 EUR one-time, 24 EUR/month as a subscription). The customer picks a plan, adds to cart and checks out normally. At the payment step, a dedicated option Pay by card and activate my subscription displays the secure Stripe card form: the payment covers the exact cart total (shipping included), 3D Secure is handled automatically, and the card is saved for future cycles. The payment is then re-verified server-side (status and amount) before the order is created — the browser is never trusted. On following due dates, the module charges the saved card and creates a new standard PrestaShop order, visible in your back office like any sale.

§ 04

A single billing engine: no more double charges

Many subscription modules suffer from a structural flaw: two billing engines coexisting (Stripe Subscriptions on one side, a store cron on the other), leading to double charges, inconsistent amounts and shipping that never gets billed. DataFirefly Subscriptions uses a card-on-file architecture: no Subscription object at Stripe, one single billing engine (the store cron) that rebuilds a real cart every cycle, computes the exact total through the PrestaShop pricing engine (discounts, taxes, shipping), charges precisely that amount, then creates the order. Accounting discrepancies are structurally impossible.

§ 05

Dunning, the feature that saves your MRR

On card subscriptions, 5 to 12% of cycles fail: expired card, limit reached, bank block. Without dunning, those failures are hard cancellations. With DataFirefly Subscriptions: the module retries automatically (3 attempts every 3 days by default, configurable), sends the customer a reminder email, and only cancels after the number of consecutive failures you define. In practice dunning recovers 50 to 70% of payments that would have been lost — several hundred euros per month from 50 active subscribers.

§ 06

The My Subscriptions customer area

Accessible from the customer account, this area replaces all subscription support. Customers see their subscriptions, status, next billing and delivery dates. They can pause, resume, skip the next delivery or cancel — each action subject to your rules (pause allowed or not, skip allowed or not, minimum commitment of X cycles before cancellation). All actions follow the POST-redirect-GET pattern with confirmation, and cancellation automatically detaches the saved card at Stripe.

§ 07

Technical architecture and security

The module is a true PrestaShop PaymentModule built on a PaymentGatewayInterface with StripeGateway as its first implementation — adding other gateways (Mollie, GoCardless, Adyen) means writing a connector without touching the rest. Five dedicated tables: plans per product, subscriptions, order links, event logs, and per-cart plan selections (stored in database, reliable across devices). The Stripe webhook cryptographically verifies every signature and rejects unsigned requests in live mode. The cron is token-protected with timing-safe comparison. No card number ever transits or is stored on PrestaShop: PCI-DSS compliance is carried by Stripe. No Composer dependency: one-click install on standard shared hosting.

§ 08

Use cases

Monthly box (cosmetics, food, wine, coffee, books): monthly billing, monthly delivery, subscriber discount, dunning. Repeat consumables (pet food, detergent, supplements, cartridges): customer-chosen frequency, skip allowed. Recurring services (training, coaching, premium content): monthly or annual billing, 3 to 6 cycles minimum commitment. B2B medical or professional: automatic restocking of consumables with billing aligned to delivery and native orders in your accounting exports.