Aktualizacja zachowania zdarzenia CanMakePayment w interfejsie Payment Handler API

Payment Handler API umożliwia dostawcom usług płatniczych udostępnianie sprzedawcom własnych rozwiązań płatniczych wraz z Payment Request API. Gdy Payment Request API jest inicjowany za pomocą konstruktora new PaymentRequest(), bezgłośnie wywołuje zdarzenie canmakepayment z pochodzeniem sprzedawcy i dowolnymi danymi do procesu roboczego usługi zarejestrowanego w Payment Handler API. Ta komunikacja między domenami nie wymaga gestu użytkownika ani nie wyświetla żadnego interfejsu.

Chrome usunie pola identyfikacyjne z wydarzenia canmakepayment i rozpocznie testowanie origin w Chrome 108.

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

Co się zmienia?

Gdy sprzedawca dzwoni do new PaymentRequest(), zarejestrowany service worker otrzymuje zdarzenie canmakepayment (CanMakePaymentEvent), które zawiera te informacje:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

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

Wykrywanie cech

Aby sprawdzić, czy zdarzenie canmakepayment zostało zmienione w kodzie service workera, sprawdź odpowiednie właściwości w ten 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ę lokalną na potrzeby programowania:

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

Po włączeniu tego ustawienia pola tożsamości w zdarzeniu canmakepayment zostaną wyczyszczone (podobnie jak IS_READY_TO_PAY w przypadku Androida).

Włączanie zmiany w wersji produkcyjnej

Możesz też włączyć zmianę w wersji produkcyjnej w celu przeprowadzenia testów, zanim zostanie ona wprowadzona w Chrome. Ten mechanizm nazywa się testem pochodzenia.

Wersje próbne origin umożliwiają wypróbowanie nowych funkcji i przekazanie społeczności zajmującej się standardami internetowymi opinii na temat ich użyteczności, praktyczności i skuteczności. Więcej informacji znajdziesz w przewodniku po testach origin dla programistów. Aby zarejestrować się w tym lub innym eksperymencie, odwiedź stronę rejestracji.

Aby zarejestrować wersję próbną:

  1. Poproś o token dla Twojego źródła.
  2. Dodaj token do pliku JavaScript usługi za pomocą nagłówka HTTP Origin-Trial. Ustawianie nagłówków HTTP wymaga dostępu do konfiguracji serwera. Wynikowy nagłówek odpowiedzi powinien wyglądać mniej więcej tak:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Aby zobaczyć token wersji próbnej w pliku service worker, użyj Narzędzi deweloperskich lub polecenia curl w ten sposób:

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

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

Jeśli używasz Chrome w wersji 111 lub nowszej, pola tożsamości w zdarzeniu canmakepayment pozostają puste. Aby ponownie włączyć pola lokalnie, wykonaj te czynności:

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

Dalsze kroki

Ta zmiana ma być domyślnie włączona w Chrome 111. Możesz rozpocząć testy już dziś, aby przygotować się na zmianę czasu wprowadzenia aplikacji.