Digitale cadeauverzender - Stuur virtuele producten en downloadlinks als cadeau naar een vriend
Laat een klant een digitaal product kopen voor iemand anders. Zodra een winkelwagen alleen virtuele of downloadbare artikelen bevat, verschijnt op de winkelwagenpagina de optie deze bestelling als cadeau sturen; de klant vult het adres van een vriend in en de downloadlink gaat naar die vriend zodra de bestelling betaald is. Geen factuur, geen prijs, geen bestelgegevens - alleen het bestand. Op de bestelpagina ziet u naar wie het cadeau ging en of het is aangekomen, met een klik om het opnieuw te verzenden als dat niet zo is. Geen core-overrides. Voor PrestaShop 1.7 - 9.
De cadeau-verkoop die uw digitale catalogus nu misloopt
Iemand wil uw e-book, uw samplepack, uw cursus of uw licentiesleutel kopen voor een vriend. Vandaag koopt die persoon het product, downloadt het zelf en stuurt het bestand handmatig door - of hij koopt het gewoon niet. Deze module dicht dat gat met één vinkje op de winkelwagenpagina, zonder extra stap in het afrekenproces.
Eén optie, precies op de juiste plek
Wanneer elk artikel in de winkelwagen virtueel of downloadbaar is, verschijnt de optie Deze bestelling als cadeau naar een vriend sturen in de winkelwagen. Bij het aanvinken komt er een e-mailveld tevoorschijn; de voorkeur wordt direct op de achtergrond opgeslagen, zonder de pagina te herladen. Daarna rekent de klant precies zo af als altijd - er wordt niets aan uw afrekenproces toegevoegd, en een korte alleen-lezen herinnering tijdens het afrekenen bevestigt naar wie het cadeau gaat, met een Bewerken-link terug naar de winkelwagen.
Bij gemengde winkelwagens verschijnt de optie helemaal niet. Dat is bewust: een fysiek artikel kunt u niet per e-mail cadeau doen, en een half cadeau zou alleen maar voor verwarring zorgen.
De vriend krijgt het bestand, niet de bon
Zodra de bestelling voor het eerst een betaald- of verwerkingsstatus bereikt, mailt de module de downloadlink of links naar het adres van de vriend met de eigen gift_download_ready-template. Wat de vriend ontvangt is de download en verder niets - geen factuur, geen prijs, geen bestelnummer, geen adres. De koper houdt gewoon zijn eigen orderbevestiging.
U ziet zwart op wit of het gelukt is
De bestelpagina in de back office krijgt een paneel Cadeauverzoek: wie de ontvanger is, of de e-mail is verzonden, en een knop Cadeau-e-mail opnieuw verzenden voor de keren dat dat niet lukte. Adressen die bouncen en haperende SMTP-servers horen erbij; herstellen zou geen speurtocht door mail-logs mogen zijn. De configuratiepagina toont bovendien de 20 recentste cadeauverzoeken - bestelling, datum, ontvanger, verzonden of in afwachting - zodat u in één oogopslag ziet dat de functie werkt.
Gebouwd op hooks, niet op overrides
Versie 1.x leverde vijf volledige core-overrides mee - Cart, Order, OrderHistory, PaymentModule en CheckoutAddressesStep - alleen om twee kolommen toe te voegen en een paar regels in het bestelproces te schuiven. Elke PrestaShop-update was een kans om het afrekenen stilletjes te breken in elke winkel die de module draaide.
Versie 2.0 haalt alle vijf weg. Cadeauverzoeken staan in een eigen tabel, gekoppeld aan eerst de winkelwagen en daarna de bestelling, en de module haakt in op gedocumenteerde uitbreidingspunten: actionValidateOrder bij het plaatsen van de bestelling, actionOrderStatusUpdate zodra die betaalbaar wordt. Er wordt niets in de core aangeraakt, dus er kan ook niets in de core stukgaan.
Beveiliging en privacy serieus genomen
Het veld dat bepaalt waar een betaald bestand naartoe gaat, is precies het soort veld dat niet te vervalsen mag zijn. In 1.x had het geen CSRF-bescherming - een vervalst cross-site verzoek had de download van een klant naar het adres van een aanvaller kunnen omleiden. Het opslaan vereist nu een ondertekend token per winkelwagen dat alleen de pagina van de module zelf kan aanmaken.
Het adres van de vriend is persoonsgegeven van iemand die geen klant van u is, daarom is AVG-klantverwijdering ingebouwd: verwijdert u een klant via de privacytools van PrestaShop, dan verdwijnen zijn cadeauverzoeken mee.
Een widget die de winkelwagen bijhoudt
De winkelwagenpagina verandert zonder te herladen, en de cadeau-optie moet daarin meebewegen. Deze controleert opnieuw of de winkelwagen in aanmerking komt zodra het thema een cart-update-event afvuurt, luistert naar de verschillende eventnamen die thema's gebruiken, en valt terug op een periodieke hercontrole voor thema's die er geen enkele afvuren - zonder ooit een klant te onderbreken die aan het typen is. Of de winkelwagen in aanmerking komt, wordt bepaald door een directe, ongecachete uitlezing van de inhoud, zodat een leeggemaakte winkelwagen de optie nooit blijft tonen en een winkelwagen die net volledig digitaal is geworden hem meteen laat zien.
De AJAX-antwoorden van de module sturen Cache-Control: no-store mee, en de CSS en JavaScript staan inline in de template in plaats van geregistreerd via de asset-pipeline - want die registratie doet stilzwijgend niets wanneer het blok via AJAX opnieuw wordt opgehaald. Er blijft niets over dat niet kan laden.
Compatibiliteit
PrestaShop 1.7, 8 en 9, in acht talen: Nederlands, Duits, Engels, Frans, Italiaans, Pools, Spaans en Turks. Geen core-overrides, één kleine databasetabel, drie hooks en geen aanpassingen aan uw thema. Multistore-proof - de schakelaar Cadeaus toestaan geldt per winkel. Bij een upgrade vanaf 1.x worden de vijf overrides verwijderd en worden de Configuration-regels opgeruimd die 1.x per winkelwagen aanmaakte en nooit wiste.
Veelgestelde vragen
Wanneer krijgt de vriend de e-mail?
De eerste keer dat de bestelling een betaald- of verwerkingsstatus bereikt. Een bestelling die op "In afwachting van betaling" blijft staan, activeert nooit iets - en dat is precies de bedoeling: niemand krijgt een bestand dat niet betaald is.
Ziet de vriend de prijs of de factuur?
Nee. De cadeau-e-mail bevat de downloadlink of links en verder niets. Geen prijs, geen factuur, geen bestelgegevens.
En een winkelwagen met zowel een fysiek als een digitaal product?
Dan verschijnt de optie niet. Alleen volledig digitale winkelwagens kunnen cadeau worden gedaan, want een fysiek artikel kunt u niet per e-mail bezorgen.
De e-mail is nooit aangekomen - wat controleer ik?
Of cadeaus toestaan aan stond toen de bestelling werd geplaatst, of de winkelwagen volledig digitaal was, of de bestelling een betaalde status bereikte, of aan het product daadwerkelijk een bestand hangt in het tabblad Virtueel product, en of het adres uw winkel niet als spam filtert. Gebruik daarna Cadeau-e-mail opnieuw verzenden op de bestelling.
Kan de klant het adres na het afrekenen nog wijzigen?
Niet vanuit de winkel, en dat is bewust - dat zou betekenen dat er in een betaalde bestelling wordt gegrepen. U kunt het op de bestelpagina aanpassen en opnieuw verzenden.
Overschrijft de module bestanden uit de core?
Nee. Versie 2.0 heeft alle vijf de overrides van 1.x verwijderd en vervangen door hooks en een eigen tabel.
De optie verschijnt niet op de winkelwagenpagina. Controleer de instelling en of de winkelwagen volledig digitaal is. Kloppen die allebei, dan is het bijna altijd caching - leeg de cache van de winkel na een update en zorg dat een CDN of reverse proxy vóór uw winkel de winkelwagen-, afreken- en accountpagina's uitsluit.
-
CompatibiliteitPrestashop 1.7
Prestashop 8
Prestashop 9 -
Beschikbare Module VertalingenDuits
Engels
Frans
Italiaans
Nederlands
Pools
Spaans
Turks
MEG Venture
4 other products in the same category
| Versie | 2.0.7 |
|---|---|
| Laatst bijgewerkt | 2026-07-28 |
| Wijzigingslogboek | - [2026-07-26] Slow the cart widget's fallback poll and pause it on hidden tabs - [2026-07-24] Add translations for gift file to friend module in Italian, Dutch, Polish, and Turkish - [2026-07-23] Translate giftfiletofriend module strings to Dutch, Polish, and Turkish for improved localization. - [2026-07-23] Translate module messages to English in multiple language files for the Digital Gift Sender module, ensuring consistency in terminology and improving user experience. Updated phrases include settings confirmation, order status, and troubleshooting instructions across French, Italian, Dutch, Polish, and Turkish translations. - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Add missing translation files (fr, de, pl, nl, tr, it, es) - [2026-07-12] Update version to 2.0.6, fix cart-page widget bugs, inline CSS/JS for reliability, and enhance AJAX handling - [2026-07-12] Update version to 2.0.5, enhance caching mechanisms for cart state accuracy, and improve AJAX response handling - [2026-07-12] Update version to 2.0.4, enhance cart eligibility check, and improve widget auto-refresh functionality - [2026-07-12] Update widget styles and inline CSS for improved rendering in version 2.0.3 - [2026-07-12] Fix gifting eligibility check for non-empty virtual carts and update version to 2.0.2 - [2026-07-12] Update README and enhance gift widget functionality in version 2.0.1 - [2026-07-12] Add gift file to friend module with email notifications - [2026-06-21] Refactor OrderHistory class and add email templates for gift downloads - [2023-09-24] v1.1.4 - [2023-09-06] v1.1.3 - [2022-05-22] v1.1.2 - [2021-12-15] v1.1.1 - [2021-09-10] hookActionCartSave modification - [2021-08-29] v1.1.0 - [2021-08-24] Initial commit |
Commentaar (1)
Uw beoordelingswaardering kan niet worden verzonden
Rapporteer reactie
Melding verzonden
Uw opmerking kan niet worden verzonden