Update van het CanMakePayment-gebeurtenisgedrag van de Payment Handler API

Met de Payment Handler API kunnen betalingsproviders hun aangepaste betalingservaring beschikbaar maken voor verkopers, samen met de Payment Request API . Wanneer de Payment Request API wordt geïnitialiseerd via de new PaymentRequest() constructor, vuurt deze stilletjes een canmakepayment af met de herkomst van de verkoper en willekeurige gegevens naar een servicemedewerker die is geregistreerd voor de Payment Handler API . Deze cross-origin communicatie vereist geen gebruikersgebaar en toont geen gebruikersinterface.

Chrome gaat de identificerende velden uit canmakepayment verwijderen en de origin-proefperiode starten vanuit Chrome 108.

De informatie op deze pagina is alleen van toepassing op de betaalappaanbieders die gebruik maken van de Payment Handler API. Als u het niet gebruikt, kunt u deze instructies overslaan.

Wat verandert er?

Wanneer een verkoper new PaymentRequest() aanroept, ontvangt een geregistreerde servicemedewerker een canmakepayment ( CanMakePaymentEvent ) die de volgende informatie bevat:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Deze worden verwijderd en de servicemedewerker ontvangt eenvoudigweg de canmakepayment zonder aanvullende informatie.

Functiedetectie

Om te detecteren of de canmakepayment is gewijzigd in de servicemedewerkercode, onderzoekt u de respectieve eigenschappen als volgt:

self.addEventListener(e => {
  if (e.paymentRequestOrigin) {...}
  if (e.topOrigin) {...}
  if (e.methodData && e.methodData.length > 0) {...}
  if (e.modifiers && e.modifiers.length > 0) {...}
  ...
});

Probeer de wijziging lokaal uit

Om de wijziging lokaal in te schakelen voor ontwikkelingsdoeleinden:

  1. Gebruik Chrome 108, 109 of 110.
  2. Voer chrome://flags/#clear-identity-in-can-make-payment in de URL-balk in.
  3. Schakel de vlag in.
  4. Start Chrome opnieuw.

Door de vlag in te schakelen, worden de identiteitsvelden in de canmakepayment geleegd (en de Android IS_READY_TO_PAY Intent ).

Maak de verandering in de productie mogelijk

U kunt de productiewijziging ook inschakelen voor testdoeleinden voordat deze daadwerkelijk in Chrome terechtkomt. Dit mechanisme wordt een oorsprongsonderzoek genoemd.

Met Origin-proefversies kunt u nieuwe functies uitproberen en feedback geven over de bruikbaarheid, bruikbaarheid en effectiviteit ervan aan de gemeenschap van webstandaarden. Zie de Origin Trials Guide for Web Developers voor meer informatie. Om u aan te melden voor deze of een andere origin-proef, gaat u naar de registratiepagina .

Om een ​​origin-proefperiode te registreren:

  1. Vraag een token aan voor uw herkomst.
  2. Voeg het token toe aan het JavaScript-bestand van uw servicewerker met behulp van een Origin-Trial HTTP-header. Voor het instellen van HTTP-headers is toegang tot de configuratie van uw server vereist. De resulterende antwoordheader zou er ongeveer zo uit moeten zien:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Als u het oorspronkelijke proeftoken in het servicewerknemerbestand wilt zien, gebruikt u de opdracht DevTools of de curl -opdracht als volgt:

$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Schakel de identiteitsvelden lokaal opnieuw in na Chrome 111

Als u Chrome 111 of hoger gebruikt, blijven de identiteitsvelden in de canmakepayment leeg. Om de velden lokaal opnieuw in te schakelen, kunt u het volgende doen:

  1. Gebruik Chrome 111 of hoger.
  2. Voer chrome://flags/#add-identity-in-can-make-payment in de URL-balk in.
  3. Schakel de vlag in.
  4. Start Chrome opnieuw.

Volgende stappen

Het is de bedoeling dat deze wijziging standaard wordt ingeschakeld vanaf Chrome 111. Je kunt vandaag nog beginnen met testen, zodat je op tijd voor de lancering voorbereid bent op de wijziging.