Aktualizacja zachowania zdarzenia CanMakePayment w interfejsie Payment Handler API

Interfejs Payment Handler API pozwala dostawcom usług płatniczych na udostępnianie sprzedawców oraz interfejs Payment Request API. Po zainicjowaniu interfejsu Payment Request API za pomocą new PaymentRequest(), wywołuje dyskretnie zdarzenie canmakepayment z pochodzenia sprzedawcy, a także arbitralnych danych Skrypt service worker zarejestrowany w interfejsie Payment Handler API. Ta komunikacja między domenami nie wymaga gestu użytkownika ani dowolny interfejs użytkownika.

Chrome usunie pola identyfikacyjne ze zdarzenia canmakepayment i rozpocznij testowanie origin w Chrome 108.

Informacje na tej stronie dotyczą tylko dostawców aplikacji płatniczych, którzy korzystają Payment Handler API. Jeśli z niej nie korzystasz, możesz pominąć te instrukcje.

Co się zmienia?

Gdy sprzedawca zadzwoni pod numer new PaymentRequest(), zarejestrowany skrypt service worker odbiera zdarzenie canmakepayment (CanMakePaymentEvent) zawierający następujące informacje:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Zostaną one usunięte, a skrypt service worker po prostu otrzyma canmakepayment zdarzenie bez dodatkowych informacji.

Wykrywanie cech

Aby wykrywać, czy zdarzenie canmakepayment zmieniło się w skrypcie service worker sprawdź odpowiednie właściwości w następujący sposób:

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

Wypróbuj zmianę lokalnie

Aby włączyć zmianę lokalnie na potrzeby programowania:

  1. Użyj Chrome 108, 109 lub 110.
  2. Wpisz chrome://flags/#clear-identity-in-can-make-payment na pasku adresu URL.
  3. Włącz flagę.
  4. Uruchom ponownie Chrome.

Gdy włączysz flagę, pola tożsamości w zdarzeniu canmakepayment zostaną opróżnione (oraz intencje IS_READY_TO_PAY na Androida).

Włączenie zmiany w wersji produkcyjnej

Możesz też włączyć zmianę w wersji produkcyjnej na potrzeby testów, zanim zostanie wprowadzona. otwiera się w Chrome. Ten mechanizm nosi nazwę testowania origin.

Wersje próbne origin dają Ci możliwość wypróbowania nowych funkcji i przekazania opinii na temat użyteczność, praktyczność i skuteczność w społeczności standardów internetowych. Dla: więcej informacji znajdziesz w przewodniku dotyczącym testowania origin dla programistów stron internetowych. Aby zarejestrować się w tej lub innej wersji próbnej origin, wejdź na stronę rejestracji.

Aby zarejestrować wersję próbną origin:

  1. Wysyłanie prośby o token dla Twojego pochodzenia.
  2. Dodaj token do pliku JavaScript skryptu service worker za pomocą Origin-Trial Nagłówek HTTP. Ustawienie nagłówków HTTP wymaga dostępu do konfiguracji serwera. Otrzymany nagłówek odpowiedzi powinien wyglądać mniej więcej tak:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Aby zobaczyć token wersji próbnej origin w pliku skryptu service worker: za pomocą Narzędzi deweloperskich lub polecenie curl w ten sposób:

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

Ponowne włączanie pól tożsamości lokalnie po wprowadzeniu Chrome 111

Jeśli używasz Chrome 111 lub nowszego, pola tożsamości w canmakepayment zdarzenie jest puste. Aby ponownie włączyć lokalnie, możesz wykonać te czynności:

  1. Używaj Chrome 111 lub nowszej wersji.
  2. Wpisz chrome://flags/#add-identity-in-can-make-payment na pasku adresu URL.
  3. Włącz flagę.
  4. Uruchom ponownie Chrome.

Dalsze kroki

Zamierzamy domyślnie włączyć tę zmianę od Chrome 111. Aby się przygotować, możesz rozpocząć testy już dziś ze względu na zmianę, która nastąpiła w terminie premiery.