Subscription e-commerce groeit 18% per jaar. De technische vereisten zijn fundamenteel anders dan voor reguliere webshops. Recurring payments, churn management, billing logic — het vraagt een andere architectuur.
Subscription e-commerce — technische vereisten en platformkeuze
Subscription e-commerce groeit 18% per jaar. De sector is groter dan de meeste denken: van koffie en scheermesjes tot B2B SaaS-producten en industriële verbruiksartikelen.
De technische vereisten zijn fundamenteel anders dan voor reguliere webshops. Een eenmalige betaling verwerken is simpel. Recurring billing, dunning management, churn-preventie, prorate-berekeningen — dat is een ander vak.
Dit artikel legt uit wat de technische architectuur van subscription e-commerce vereist en welk platform bij welk model past.
Wat je leert in dit artikel
- Welke technische componenten subscription e-commerce vereist
- Het verschil tussen platform-native en custom subscription logica
- Recurring payments: Stripe Billing vs Mollie Subscriptions vs maatwerk
- Churn management vanuit technisch perspectief
- Een beslismatrix voor platformkeuze
De technische componenten van subscription e-commerce
Een subscription-webshop heeft componenten die een reguliere webshop niet heeft.
1. Subscription management
De kern: het bijhouden van welke klant welk abonnement heeft, in welke status, met welke volgende factuurdatum.
Wat je moet bijhouden:- Subscription status (active, paused, cancelled, past_due)
- Billing cycle (weekly, monthly, quarterly, annual)
- Volgende billing datum
- Prijs op het moment van afsluiting (niet huidige prijs)
- Upgrades en downgrades met proratadatum
- Pauze-periodes en hervatdatum
2. Recurring payment processing
Eenmalige betaling: klant betaalt, klaar. Recurring: je hebt toestemming nodig om toekomstige betalingen te incasseren.
In Europa werkt dat via SEPA Direct Debit of card-on-file met SCA-exemptions. Beide vereisen specifieke betaalprovider-configuratie.
Het dunning management probleem:Een betaling mislukt. Kaart verlopen, onvoldoende saldo, bank geblokkeerd. Wat nu?
Dunning management is de automatische logica die dit afhandelt: herpoging na 3 dagen, herpoging na 7 dagen, notificatie naar klant, uiteindelijk subscription pauzeren of cancellen.
Zonder dunning management verlies je 5-15% van je MRR aan failed payments die je niet terug wint.
3. Prorate berekeningen
Een klant upgradet op dag 15 van een 30-daagse cyclus. Hoeveel betaalt hij?
- Resterende waarde huidig plan: 15/30 x €10 = €5 credit
- Nieuwe prijs voor rest van periode: 15/30 x €20 = €10
- Te betalen bij upgrade: €5
Dit klinkt simpel. In de praktijk zijn er uitzonderingen: jaarplannen met maandelijkse billing, kortingen die doorlopen, add-ons die apart worden gefactureerd.
Custom prorata-logica is een veelvoorkomende bron van fouten in subscription-systemen.
4. Churn signalering
Churn begint voor de opzegging. Een klant die minder gebruikt, minder betrokken is of een failed payment heeft, churnt waarschijnlijk.
Technisch vereist dit event-tracking op abonnement-activiteit en triggers die marketing- of salesacties starten.
5. Customer portal
Klanten moeten zelf hun abonnement kunnen beheren. Pauze, upgrade, downgrade, betalingsmethode wijzigen, opzeggen.
Een self-service portal reduceert klantenservicelasten drastisch. Stripe Billing heeft een ingebouwde customer portal. Mollie heeft dat niet.
Platformopties: Shopify, Magento of maatwerk
Shopify + ReCharge of Skio
Shopify heeft geen native subscription-functionaliteit. ReCharge en Skio zijn de dominante subscription-apps. Zie de Shopify Subscriptions API documentatie voor de technische mogelijkheden. ReCharge:- Marktleider voor Shopify subscriptions
- Solide dunning management
- Beperkte flexibiliteit bij complexe subscription-logica
- Prijs: 1% van subscription omzet + vaste maandprijs
- Modernere interface dan ReCharge
- Betere swap-functionaliteit (klant wisselt product)
- Snelgroeiend, minder volwassen dan ReCharge
- Eenvoudig abonnementsmodel (1-3 producten, vaste frequentie)
- Minder dan €500K subscription MRR
- Geen complexe B2B-logica
- Complexe pricing met staffels of volume
- B2B-abonnementen met contractlogica
- Maatwerk facturatie of integratie met ERP-facturering
Magento 2
Magento heeft geen native subscription-module. Er zijn extensies beschikbaar (Amasty Subscriptions, Ebizmarts), maar die zijn beperkt.Voor serieuze subscription e-commerce op Magento bouw je maatwerk. Dat geeft volledige controle maar vraagt significante ontwikkeltijd.
Wanneer Magento + maatwerk werkt:- Bestaande Magento-installatie met hoge investering
- B2B-omgeving met complexe klantspecifieke contracten
- Subscription als aanvulling op reguliere webshop-orders
// Voorbeeld: subscription order aanmaken in Magento
class SubscriptionOrderService
{
public function createRecurringOrder(Subscription $subscription): Order
{
// Haal klantspecifieke prijzen op via B2B price rules
$quote = $this->quoteFactory->create();
$quote->setCustomer($subscription->getCustomer());
foreach ($subscription->getItems() as $item) {
$quoteItem = $this->quoteItemFactory->create();
$quoteItem->setProduct($item->getProduct());
$quoteItem->setQty($item->getQuantity());
// Pas subscription-kortingen toe
$quoteItem->setCustomPrice($item->getSubscriptionPrice());
$quote->addItem($quoteItem);
}
// Gebruik opgeslagen betaalmethode
$payment = $quote->getPayment();
$payment->setMethod('stripe_saved_card');
$payment->setAdditionalInformation('customer_id', $subscription->getStripeCustomerId());
return $this->quoteManagement->submit($quote);
}
}
Laravel maatwerk
Voor complexe subscription-logica is Laravel + Stripe Billing of Mollie de meest flexibele aanpak. Laravel biedt met Cashier een eersteklas integratie met Stripe Billing.
Laravel Cashier is de officiële package voor Stripe-integratie. Het wrapet de Stripe Billing API en geeft je een elegante interface.
// Laravel Cashier: subscription aanmaken
$user->newSubscription('default', 'price_monthly_basic')
->trialDays(14)
->create($paymentMethod);
// Upgraden naar hoger plan met prorata
$user->subscription('default')
->swap('price_monthly_pro');
// Pauze instelling
$user->subscription('default')
->pauseUntil(now()->addMonth());
// Dunning: gefaalde betaling opnieuw proberen
$user->subscription('default')
->retry();
- Ingebouwd dunning management configureerbaar via dashboard
- Smart Retries op basis van ML-voorspellingen van succeskans
- Automatische SCA-handling voor Europese kaarten
- Customer portal out-of-the-box
- Nieuwe subscription-producten zonder bestaand platform
- Complexe pricing-logica (usage-based, metered billing)
- B2B-contracten met afwijkende facturatiecycli
- Subscription als kern van het businessmodel
Beslismatrix platformkeuze
| Scenario | Aanbeveling |
|---|---|
| Eenvoudig D2C subscription, Shopify-klant | Shopify + ReCharge/Skio |
| Bestaande Magento-winkel + abonnementen | Magento + extensie of module maatwerk |
| Complex B2B subscription model | Laravel + Stripe Billing |
| Usage-based of metered billing | Laravel + Stripe Billing (verplicht) |
| Internationaal, meerdere valuta | Laravel + Stripe Billing |
| Hoge MRR (>€1M), maatwerk facturatie | Laravel + eigen billing engine |
Churn management: de technische kant
Churn is het grootste probleem in subscription e-commerce. Gemiddeld churnt 5-7% van B2C subscribers per maand. Voor B2B is dat 2-3%.
Involuntary churn (gefaalde betalingen) is technisch oplosbaar:- Smart Retries: probeer opnieuw op tijdstippen met historisch hogere succeskans
- Card updater: Stripe biedt automatische kaartupdate bij verlopen kaarten (via Visa/Mastercard netwerk)
- Pre-expiry notificaties: waarschuw 30 en 7 dagen voor verlopen kaart
- Fallback betaalmethode: laat klanten een backup-betaalmethode instellen
- Cancel flow met pauseoptie als alternatief
- Exit survey bij opzegging (data voor product-verbetering)
- Win-back campagne 30 dagen na opzegging via e-mail
Veelgemaakte technische fouten
1. Prijs opslaan zonder versioning. Als je prijs wijzigt, moeten bestaande abonnees de prijs houden waarmee ze afsloten. Sla prijsversies op, niet alleen de huidige prijs. 2. Geen idempotency op payment retries. Een betaling die twee keer verwerkt wordt door een retry-bug is een serieus probleem. Gebruik idempotency keys bij alle betaalverzoeken. 3. Subscription status niet synchroniseren bij webhooks. Stripe en Mollie sturen webhooks bij statuswijzigingen. Als die niet verwerkt worden, is je database out-of-sync. Verwerk altijd webhooks idempotent. 4. Geen audit log op abonnementswijzigingen. Bij facturatiegeschillen wil je precies weten wanneer wat is gewijzigd. Log elke statuswijziging met timestamp en actor.Conclusie
Subscription e-commerce is aantrekkelijk: voorspelbare omzet, hoge customer lifetime value, stabiele cashflow.
De technische complexiteit wordt onderschat. Recurring billing, dunning management, prorate-logica en churn-signalering vereisen een platform dat dat aankan.
Voor eenvoudige modellen op Shopify: gebruik ReCharge of Skio. Voor complexere scenario's bouw je op Laravel met Stripe Billing. Magento is een optie als je bestaande installatie dat rechtvaardigt.
Lees ook: Mollie vs MultiSafepay vs Adyen voor de keuze van betaalprovider bij recurring payments. En B2B e-commerce trends 2026 voor subscription-modellen in de B2B-markt.
Wij helpen je de juiste keuze te maken en bouwen subscription-systemen die schaalbaar zijn. Neem contact op voor een technisch gesprek.

Geschreven door Ruthger Idema
15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.
Meer over ons team →