Interfejs Payment Handler API umożliwia dostawcom usług płatniczych udostępnianie sprzedawcom ich własnych rozwiązań płatności, a także korzystanie z interfejsu Payment Request API. Gdy interfejs Payment Request API zostanie zainicjowany za pomocą konstruktora new PaymentRequest()
, wywołuje on po cichu zdarzenie canmakepayment
z dane o pochodzeniu sprzedawcy i dowolnymi danymi do elementu service worker zarejestrowanego w interfejsie Payment Handler API.
Ta komunikacja między domenami nie wymaga interakcji użytkownika i nie wyświetla żadnego interfejsu.
Chrome usunie pola identyfikujące z zdarzenia canmakepayment
i zacznie testować 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 go nie używasz, możesz pominąć te instrukcje.
Co się zmienia?
Gdy sprzedawca dzwoni do new PaymentRequest()
, zarejestrowany pracownik obsługi otrzymuje zdarzenie canmakepayment
(CanMakePaymentEvent
), które zawiera te informacje:
topOrigin
paymentRequestOrigin
methodData
modifiers
Te zdarzenia zostaną usunięte, a serwis worker otrzyma tylko zdarzenie canmakepayment
bez żadnych dodatkowych informacji.
Wykrywanie cech
Aby wykryć, czy zdarzenie canmakepayment
zostało zmienione w kodzie usługi, sprawdź odpowiednie właściwości:
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 zmiany lokalnie
Aby włączyć zmianę lokalnie na potrzeby programowania:
- Użyj Chrome w wersji 108, 109 lub 110.
- Wpisz
chrome://flags/#clear-identity-in-can-make-payment
na pasku adresu. - Włącz flagę.
- Uruchom ponownie Chrome.
Po włączeniu tej opcji pola tożsamości w zdarzeniu canmakepayment
zostaną puste (tak samo stanie się z intencją IS_READY_TO_PAY
na Androidzie).
Włączanie zmiany w wersji produkcyjnej
Możesz też włączyć zmianę w wersji produkcyjnej na potrzeby testów, zanim zostanie ona faktycznie wprowadzona w Chrome. Ten mechanizm nazywa się próbą pochodzenia.
Wersje próbne origin umożliwiają wypróbowanie nowych funkcji i przesyłanie opinii na temat ich użyteczności, praktyczności i skuteczności do społeczności standardów internetowych. Więcej informacji znajdziesz w przewodniku dla programistów internetowych na temat testowania origin. Aby zarejestrować się w ramach tego lub innego okresu próbnego, wejdź na stronę rejestracji.
Aby zarejestrować okres próbny:
- Poproś o token dla swojego źródła.
- Dodaj token do pliku JavaScript usługi za pomocą nagłówka HTTP
Origin-Trial
. Aby skonfigurować nagłówki HTTP, musisz mieć dostęp do konfiguracji serwera. Powstały nagłówek odpowiedzi powinien wyglądać mniej więcej tak:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Aby wyświetlić token próbny pochodzenia w pliku usługi, użyj DevTools lub polecenia curl
w ten sposób:
$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Włącz ponownie pola 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ć te pola lokalnie:
- Użyj Chrome 111 lub nowszej wersji.
- Wpisz
chrome://flags/#add-identity-in-can-make-payment
na pasku adresu. - Włącz flagę.
- Uruchom ponownie Chrome.
Dalsze kroki
Ta zmiana zostanie włączona domyślnie w Chrome 111. Możesz rozpocząć testy już dziś, aby przygotować się na zmianę czasu rozpoczęcia.