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:
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_licensemodule geïnstalleerd (versie 3.0.2)- Dependencies:
advancedqueue,interval
3.2 License Type Plugin¶
- Custom license type
vgbc_ticketaangemaakt in vg_commerce - Bestand:
/web/modules/custom/vg_commerce/src/Plugin/Commerce/LicenseType/VgbcTicket.php - Implements
grantLicense()enrevokeLicense()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¶
VgbcTicketLicenseSubscriberaangemaakt- Luistert naar
OrderEvents::ORDER_PAID - Filtert op
vgbc_ticketproduct 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