DataFirefly Loyalty: loyaliteitsprogramma Shopware 6
Loyaliteitsprogramma Shopware 6: installatie, punten, niveaus, waardebonnen en probleemoplossing.
Overzicht
DataFirefly Loyalty voegt een volledig loyaliteitsprogramma toe aan Shopware 6: uw klanten sparen punten bij elke bestelling, klimmen op door niveaus met vermenigvuldigers en zetten hun punten om in waardebonnen die op de native promoties van Shopware zijn gebaseerd. De extensie werkt op Shopware 6.5, 6.6 en 6.7 met één en dezelfde ZIP, zonder enige compilatie.
Installatie
Vanuit de administration
- Ga naar Extensies > Mijn extensies.
- Klik op Extensie uploaden en selecteer het bestand
DfLoyalty-1.0.0.zip. - Klik op Installeren en activeer daarna de extensie.
Via de commandoregel
bin/console plugin:refresh
bin/console plugin:install --activate DfLoyalty
bin/console cache:clear
De installatie maakt twee eigen tabellen aan: df_loyalty_account (één regel per klant) en df_loyalty_transaction (het register van alle puntenbewegingen).
Er is geen JavaScript-build nodig: de extensie bevat geen gecompileerde administratiemodule, wat de compatibiliteit met de drie branches 6.5, 6.6 en 6.7 garandeert.
Configuratie
Open Extensies > Mijn extensies > DataFirefly Loyalty > Configureren. Alle instellingen zijn per verkoopkanaal beschikbaar: u kunt het programma op één shop activeren of per kanaal andere tarieven toepassen.
Toekenning van punten
- Programma activeren: hoofdschakelaar. Uitgeschakeld geeft de pagina in het klantaccount een 404-fout en worden er geen punten toegekend.
- Trigger voor toekenning: Betaling ontvangen (transactiestatus
paid, aanbevolen) of Bestelling afgerond (bestelstatuscompleted). - Punten per munteenheid: aantal punten per bestede euro. Standaard: 1.
- Berekeningsbasis: bedrag inclusief of exclusief btw van de bestelling.
- Verzendkosten meetellen: standaard worden de verzendkosten van de berekening uitgesloten.
Niveaus
Er zijn drie niveaus configureerbaar, elk met een naam, een drempel en een vermenigvuldiger. De drempels gelden voor de levenslang verzamelde punten (nooit verlaagd door een omzetting), de vermenigvuldiger geldt voor alle toekomstige punten.
- Niveau 1, standaard: Bronze, vanaf 0 punten, vermenigvuldiger ×1.0
- Niveau 2, standaard: Silver, vanaf 500 punten, vermenigvuldiger ×1.25
- Niveau 3, standaard: Gold, vanaf 2.000 punten, vermenigvuldiger ×1.5
Voorbeeld: een Silver-klant (×1.25) die een bestelling van 100 € inclusief btw plaatst met een tarief van 1 punt per euro, verdient 125 punten.
Omzetting in waardebonnen
- Omrekenkoers: aantal punten dat nodig is voor 1 € aan bon. Standaard: 100 (100 punten = 1,00 €).
- Minimum voor omzetting: minimaal aantal punten om een omzetting te starten. Standaard: 200.
- Stapgrootte van de omzetting: punten worden omgezet in veelvouden van deze waarde. Standaard: 100.
- Geldigheid van de bonnen: levensduur van de waardebon in dagen. Standaard: 90.
Werking aan klantzijde
In het menu van het klantaccount verschijnt een item Loyaliteitsprogramma. De pagina /account/loyalty toont:
- het beschikbare puntensaldo en het totaal aan levenslang verdiende punten;
- het huidige niveau met een voortgangsbalk naar het volgende niveau;
- het formulier voor de omzetting in een waardebon;
- de geschiedenis van de laatste 50 bewegingen (verdiende punten, omzettingen, annuleringen).
Wanneer een klant zijn punten omzet, maakt de extensie een native Shopware-promotie aan: unieke code van het type LOYAL-XXXXXXXX, voorbehouden aan zijn account, eenmalig te gebruiken, met een vaste korting op de winkelwagen. De code wordt in de winkelwagen toegepast zoals elke andere kortingscode. Alle gegenereerde promoties vindt u terug onder Marketing > Promoties.
Annuleringen en terugbetalingen
Wanneer een bestelling de status Geannuleerd krijgt of de betaling de status Terugbetaald, worden de punten die met die bestelling zijn verdiend automatisch teruggenomen. De handeling wordt in de geschiedenis van de klant vastgelegd onder het label “Geannuleerd”. De terugname is idempotent: ze kan per bestelling slechts één keer plaatsvinden.
In versie 1.0 wordt een gedeeltelijke terugbetaling niet naar rato berekend: het is het overgaan van de volledige betaling naar de status Terugbetaald dat de terugname van alle punten van de bestelling in gang zet.
Veiligheid en integriteit van de gegevens
- Het afboeken van punten is atomair in de database: twee gelijktijdige omzettingen kunnen niet twee keer hetzelfde saldo besteden.
- Elke handeling wordt vastgelegd in een register waarin alleen wordt toegevoegd, met bestelreferentie, type, ondertekende punten en, indien van toepassing, de code van de bon.
- Het aanmaken van de bon en de boekhoudkundige registratie gebeuren binnen dezelfde SQL-transactie: nooit een bon zonder afboeking of een afboeking zonder bon.
Probleemoplossing
De link Loyaliteitsprogramma verschijnt niet in het account
De extensie voegt haar link in via het Twig-blok page_account_sidebar_link_orders. Als uw aangepaste thema dit blok heeft verwijderd of hernoemd, voeg de link dan handmatig toe in het template van de accountsidebar, verwijzend naar de route frontend.account.dfloyalty.page.
De punten worden niet toegekend
- Controleer of het programma geactiveerd is voor het betreffende verkoopkanaal.
- Controleer de ingestelde trigger: bij Betaling ontvangen moet de transactie de status
paidbereiken; bij Bestelling afgerond moet de bestellingcompletedbereiken. - Leeg de cache na een configuratiewijziging:
bin/console cache:clear.
Verwijderen
Bij het verwijderen biedt Shopware aan om de gegevens te behouden. Als u deze optie uitvinkt, worden de tabellen df_loyalty_account en df_loyalty_transaction definitief verwijderd. De al gegenereerde promoties blijven bestaan, want dat zijn standaard Shopware-promoties.