Skip to content

Sessie 6 januari 2026: Checkout & QR-codes Preview Environment

Doel

Preview environment volledig werkend krijgen met checkout flow, en QR-code systeem voor VGBC tickets implementeren voor live migration deze week.

Inhoud

1. Checkout Flow Preview (Volledig Werkend)

Probleem: Checkout flow gaf errors bij verzending en factuur PDF attachment ontbrak in emails.

Uitgevoerd: - Mollie payment gateway callback domain aangepast naar https://prev.voedingsgeneeskunde.nl - Shipping method "Verzending drukwerk" aangemaakt met TieredShipping plugin (staffel per land en aantal) - Private directory aangemaakt voor invoice PDFs: /var/www/sites/prev.voedingsgeneeskunde.nl/private/ - Symfony Mailer transport en policy geïmporteerd van dev - Checkout completion template aangepast: "Ga naar mijn account" nu primaire button

Resultaat: - End-to-end checkout werkend: product toevoegen → checkout → Mollie test betaling → order completed - Factuur PDF wordt correct gegenereerd en opgeslagen in private:// - Factuur PDF wordt als bijlage meegestuurd in bevestigingsmail - Verzendkosten worden correct berekend volgens staffel - BTW (9%) correct toegepast op verzending en producten

Test uitgevoerd: - Los nummer + VGBC ticket gekocht - Mollie test payment succesvol - Factuur #VG-2026-003 ontvangen met PDF attachment - Factuur downloadbaar vanaf account pagina

2. Drush Aliases Gedocumenteerd

Probleem: Unix socket authenticatie vereist sudo -u [user] prefix voor Drush sinds 3 januari.

Uitgevoerd: - Aliases toegevoegd aan /home/j00sd/.bashrc: - ddrush voor dev - pdrush voor preview
- ldrush voor live - rdrush voor redactie - Documentatie aangemaakt: /var/www/sites/docs.voedingsgeneeskunde/docs/documentatie/drush-aliases.md

Voorbeeld alias:

pdrush='sudo -u www-preview /var/www/sites/prev.voedingsgeneeskunde.nl/vendor/bin/drush.php'

3. QR-code Systeem Basis (VGBC Tickets)

Doel: QR-codes genereren voor VGBC tickets zodat deze aan de deur gescand kunnen worden.

Uitgevoerd:

3.1 Commerce License Module

  • commerce_license module geïnstalleerd (versie 3.0.2)
  • Dependencies: advancedqueue, interval

3.2 License Type Plugin

  • Custom license type vgbc_ticket aangemaakt in vg_commerce
  • Bestand: /web/modules/custom/vg_commerce/src/Plugin/Commerce/LicenseType/VgbcTicket.php
  • Implements grantLicense() en revokeLicense() methods

3.3 License Velden

Aangemaakt op commerce_license entity, bundle vgbc_ticket: - field_qr_code (string) - QR code text, bijv. "VGBC2026-USER45-LICENSE123" - field_ticket_status (list_string) - Opties: pending, scanned, revoked - field_scan_timestamp (timestamp) - Wanneer ticket gescand is - field_scan_location (string) - Waar ticket gescand is (bijv. "Hoofdingang")

3.4 Event Subscriber

  • VgbcTicketLicenseSubscriber aangemaakt
  • Luistert naar OrderEvents::ORDER_PAID
  • Filtert op vgbc_ticket product variations
  • Creëert license per ticket met QR-code: VGBC2026-USER{uid}-LICENSE{license_id}
  • Bestand: /web/modules/custom/vg_commerce/src/EventSubscriber/VgbcTicketLicenseSubscriber.php
  • Service geregistreerd in vg_commerce.services.yml

Status: - Licenses worden automatisch aangemaakt bij order completion - QR-code text wordt gegenereerd en opgeslagen - QR-code nog NIET visueel in factuur PDF (volgende sessie)

4. Technische Details

Preview Environment Status: - Drupal 11.3.1 - PHP 8.3.6 - Commerce modules werkend - Mollie test mode - Symfony Mailer met sendmail transport - Private directory: /var/www/sites/prev.voedingsgeneeskunde.nl/private/ - Temp directory: /var/www/sites/prev.voedingsgeneeskunde.nl/tmp/

Shipping Configuration: - Method: Verzending drukwerk (ID: 1) - Plugin: tiered_shipping (custom in vg_commerce) - Staffel voor Nederland: - 1 exemplaar: €4,25 - 2-5 exemplaren: €5,95 - 6-10 exemplaren: €7,50 - Meer dan 10: €9,00 - BTW: 9% (volgt product BTW via ShippingTaxSubscriber) - Alleen voor los_nummer variation type

Modules Geïnstalleerd: - commerce_license - advancedqueue
- interval - endroid/qr-code library (6.0.9) - al aanwezig

Resultaat/Oplossing

Afgerond: - ✅ Checkout flow volledig werkend op preview - ✅ Mollie payments werkend (test mode) - ✅ Factuur generatie met PDF attachment in email - ✅ Verzending met staffel werkend - ✅ Drush aliases gedocumenteerd voor team - ✅ License systeem basis geïmplementeerd - ✅ QR-codes worden gegenereerd (als text)

Nog te doen (vanavond/volgende sessie): - Factuur template aanpassen: - Logo toevoegen - QR-codes visueel renderen (met endroid/qr-code) - BIG registratie veld toevoegen en tonen - Beroep-opleiding veld toevoegen en tonen - BTW nummer tonen (van customer profile) - "Gefactureerd aan" verbeteren (naam + adres user) - Meerdere QR-codes op 1 factuur (bij meerdere tickets) - End-to-end test: ticket kopen → factuur met QR ontvangen

Prioriteit deze week: 1. Factuur template compleet maken 2. Live migration voorbereiden 3. Preview → Main (live) mergen 4. Commerce setup op live

Tags

commerce, checkout, mollie, shipping, invoice, pdf, license, qr-code, vgbc, preview, drush