Opgelet: Google Chrome 80 kan problemen geven bij online betaling
Heb jij een website waar je online betalingen op ontvangt en liep dit de laatste weken soms mis bij je gebruiker? Dan kan het liggen aan een wijziging in Google Chrome, meer bepaald bij het doorgeven van het SameSite cookie in Google Chrome 80. Die wijziging zorgt in sommige gevallen voor problemen bij online betaling, en dat mochten wij ook ondervinden.
Google zet de wijziging voorlopig on hold, maar best bereid je je nu al voor op deze wijziging. Wij delen hier onze bevindingen zodat jou het uitzoekwerk bespaard blijft.
UPDATE 16/07/2020: Google rolt Chrome 84 uit met SameSite cookie-update
Problemen bij online betalingen
Google past in zijn Chrome-browser steeds meer maatregelen toe om de privacy van de internaut te beschermen. Het wil bijvoorbeeld verhinderen dat je omzwervingen op het web getraceerd worden door middel van cookies. In versie 80 van de Chrome-browser werd daarom een wijziging doorgevoerd bij het doorgeven van de 'SameSite' cookie, die op beperkte schaal uitgerold werd - met de bedoeling dit geleidelijk voor àlle gebruikers toe te passen, en later ook voor de andere op Chrome gebaseerde browsers.
Deze goedbedoelde wijziging heeft echter ook ongewenste gevolgen, zoals wij bij Combell konden vaststellen. Want in bepaalde omstandigheden wordt het cookie niet doorgegeven aan de betaalmodule op een website, zodat de betaling niet geregistreerd wordt. Sommige bestellingen die onze klanten plaatsten via een Chrome 80-browser, werden dan ook niet genoteerd, omdat zij niet bevestigd werden door de betaling. Heb jij van ons geen bevestigingsmail van je bestelling ontvangen, contacteer ons dan meteen.
Zodra wij dit probleem opmerkten, hebben wij een interne fix uitgerold. Google heeft inmiddels ook aangekondigd dat het de uitrol van deze wijziging terugdraait, om deze problemen te voorkomen temidden van de covid-19 crisis. Maar alles wijst erop dat deze SameSite-wijziging later alsnog doorgevoerd zal worden - Google wil de uitrol deze zomer herstarten. En dus is het belangrijk dat je weet wàt het probleem eigenlijk is, en hoe je het oplossen kan. Wij delen onze kennis graag met jou.
Google zet de wijziging voorlopig on hold, maar best bereid je je nu al voor op deze wijziging.
SameSite cookie in Google Chrome 80: de technische uitleg
Een cookie heeft een SameSite-attribuut, waarmee je kan aangeven wanneer bepaalde cookies meegestuurd mogen worden met een request naar een volgende pagina - bijvoorbeeld van jouw website naar de betaalmodule van je betaalprovider. Tot voor kort moest je de waarde niet verplicht invullen, en de browser negeerde dit attribuut.
Vanaf Chrome 80 echter wordt de waarde wél gebruikt. En vermeldt het cookie dit attribuut niet, of is het attribuut leeg, dan wordt "Lax" gebruikt. Hierdoor wordt het cookie enkel nog meegestuurd bij navigatie binnen hetzelfde domein. Komt het request van een ander domen, zoals je betaalprovider, dan wordt het cookie niet ingelezen, en krijg je onverwacht gedrag.
De eenvoudigste oplossing is een SameSite-attribuut op het cookie zetten, met als waarde "None" - maar dit werkt enkel als het request over een beveiligde https-verbinding gaat. Opgelet: oude browsers ondersteunen de nieuwe waarde “None” niet, cookies kunnen in dit geval genegeerd worden. Een helder overzicht: https://caniuse.com/#search=samesite.
Meer informatie vind je hier:
- Informatie over het SameSite-attribuut
- De uitrol van Google Chrome
- SameSite in Firefox
- SameSite in Edge
- Officieuze cookiefix in Magento 2.2/2.3
- Magento Github issue
Heb je vragen, dan kan onze specialisten je extra technische toelichting geven. Zoals altijd staan onze medewerkers klaar met raad!