Alles wat u wilt weten voordat u installeert.
Een gedetailleerde blik op hoe DataFirefly Subscriptions: Abonnementen en Terugkerende Betaling via Stripe voor PrestaShop 8 & 9 werkt, waarom we het zo gebouwd hebben en de gedachte achter de bovenstaande functies.
Waarom een abonnement een webwinkel verandert
Een eenmalige klant levert u marge op bij de aankoop, en misschien nog een herhaalaankoop over een half jaar. Een klant met een abonnement levert u elke maand marge op zonder nieuwe verkoopinspanning, en blijft over zijn hele levensduur duidelijk meer besteden. Dat verklaart de opkomst van merken die het abonnement hebben omarmd (Dollar Shave Club, HelloFresh en vergelijkbare spelers). Voor uw bedrijfsvoering wordt uw omzet voorspelbaar, uw inkoop ook, en kan uw marketing hogere acquisitiekosten verantwoorden door die over 6 tot 18 maanden te spreiden in plaats van over één bestelling.
Waarom PrestaShop dit van huis uit niet kan
PrestaShop is gebouwd voor het eenmalige model: een winkelwagen, een betaling, een bestelling. Er is geen begrip van een bewaarde kaart, geen automatische verlenging en geen afhandeling van mislukte terugkerende betalingen. Om abonnementen mogelijk te maken moet u dus zelf laten ontwikkelen (wekenlang werk), dure en ingewikkelde modules op elkaar stapelen, of naar een ander platform verhuizen. DataFirefly Subscriptions is de directe weg: een eigen module, in enkele minuten geïnstalleerd, volledig op de kritieke functies, en geschikt voor PrestaShop 8 en 9.
Het traject van de klant, van productpagina tot verlenging
Op de productpagina toont een uitklapbaar blok de beschikbare abonnementsvormen met hun kortingsprijs (bijvoorbeeld 30 euro bij een eenmalige aankoop en 24 euro per maand met een abonnement). De klant kiest zijn vorm, legt het product in de winkelwagen en bestelt zoals gewoonlijk. Bij het betalen toont een aparte optie het beveiligde kaartformulier van Stripe: de betaling dekt het exacte totaal van de winkelwagen (verzendkosten inbegrepen), 3D Secure wordt automatisch afgehandeld, en de kaart wordt voor de volgende cycli bewaard. Daarna wordt de betaling aan serverzijde opnieuw gecontroleerd (op status en bedrag) voordat de bestelling wordt aangemaakt, want de browser wordt nooit op zijn woord geloofd. Bij de volgende termijnen schrijft de module de bewaarde kaart af en maakt hij een nieuwe, gewone PrestaShop-bestelling aan, die in uw backoffice net zo zichtbaar is als elke andere verkoop.
Eén facturatiemotor, dus geen dubbele afschrijvingen meer
Veel abonnementsmodules hebben een structureel gebrek: er bestaan twee facturatiemotoren naast elkaar (de Subscriptions aan Stripe-zijde en een cron aan winkelzijde), met dubbele afschrijvingen, afwijkende bedragen en verzendkosten die nooit worden gefactureerd tot gevolg. DataFirefly Subscriptions gebruikt een card on file-architectuur: er is geen Subscription-object aan Stripe-zijde, en één facturatiemotor (de cron van de winkel) bouwt bij elke cyclus een echte winkelwagen op, berekent het exacte totaal via de prijsmotor van PrestaShop (kortingen, btw, verzendkosten), schrijft precies dat bedrag af en maakt daarna de bestelling aan. Boekhoudkundige verschillen zijn daarmee structureel onmogelijk.
Dunning, de functie die de MRR redt
Bij abonnementen op kaart mislukt 5 tot 12% van de cycli: een verlopen kaart, een bereikte limiet, een blokkade bij de bank. Zonder dunning zijn dat allemaal harde opzeggingen. Met DataFirefly Subscriptions probeert de module het automatisch opnieuw (standaard 3 pogingen met 3 dagen ertussen, instelbaar), stuurt de klant een herinneringsmail, en zegt pas op na het aantal opeenvolgende mislukkingen dat u hebt bepaald. In de praktijk haalt dunning zo betalingen terug die anders zonder meer verloren waren gegaan.
De klantomgeving Mijn abonnementen
Deze omgeving is bereikbaar vanuit het klantaccount en vervangt vrijwel alle klantenservice rond abonnementen. De klant ziet er zijn abonnementen, hun status, en de eerstvolgende facturatie- en leverdatum. Hij kan pauzeren, hervatten, de eerstvolgende levering overslaan of opzeggen, waarbij elke handeling aan uw regels is onderworpen (pauzeren wel of niet toegestaan, overslaan wel of niet, en een minimale looptijd in cycli voordat opzeggen kan). Alle handelingen volgen het patroon POST, redirect en daarna GET, met een bevestiging, en bij opzegging wordt de bewaarde kaart automatisch bij Stripe losgekoppeld.
Technische architectuur en beveiliging
De module is een echte PaymentModule van PrestaShop, gebouwd op een PaymentGatewayInterface waarvan StripeGateway de eerste uitwerking is. Andere betaaldiensten toevoegen (Mollie, GoCardless, Adyen) komt dus neer op het schrijven van één koppeling, zonder de rest aan te raken. Er zijn vijf eigen tabellen: abonnementsvormen per product, abonnementen, koppelingen met bestellingen, gebeurtenislogboeken, en de gekozen abonnementsvorm per winkelwagen (die in de database staat en dus over meerdere apparaten betrouwbaar is). De Stripe-webhook controleert elke handtekening cryptografisch en weigert in de livemodus niet-ondertekende aanvragen. De cron is met een token beveiligd, met een timing-veilige vergelijking. Er gaat geen enkel kaartnummer door PrestaShop en er wordt er ook geen bewaard: de naleving van PCI-DSS ligt bij Stripe. En er is geen Composer-afhankelijkheid, dus de module installeert met één klik op gewone shared hosting.
Gebruikssituaties
Een maandbox (cosmetica, voeding, wijn, koffie, boeken): maandelijkse facturatie, maandelijkse levering, abonnementskorting en dunning. Terugkerende verbruiksartikelen (dierenvoer, wasmiddel, supplementen, cartridges): de klant kiest zijn frequentie en mag leveringen overslaan. Terugkerende diensten (opleiding, coaching, premiuminhoud): maandelijkse of jaarlijkse facturatie, met een minimale looptijd van 3 tot 6 maanden. Zakelijke of medische verkoop: automatische aanvulling van verbruiksartikelen, met een facturatie die op de levering aansluit en met bestellingen die gewoon in uw boekhoudkundige exports terechtkomen.
Er zijn nog geen beoordelingen.