Interfejs Payment Handler API pozwala dostawcom usług płatniczych udostępniać sprzedawcom niestandardowe opcje płatności, a także za pomocą interfejsu Payment Request API. Gdy interfejs Payment Request API zostanie zainicjowany za pomocą konstruktora new PaymentRequest()
, wywołuje on po cichu zdarzenie canmakepayment
z pochodzącymi od sprzedawcy danymi źródłowymi i dowolnymi danymi, które są przesyłane 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 płatniczych, którzy korzystają z interfejsu Payment Handler API. Jeśli z niej nie korzystasz, 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 informacje zostaną usunięte, a serwis worker otrzyma tylko zdarzenie canmakepayment
bez żadnych dodatkowych informacji.
Wykrywanie cech
Aby ustalić, czy zdarzenie canmakepayment
zmieniło się w kodzie skryptu service worker, 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 pozwalają wypróbować nowe funkcje i przekazać społeczności zajmującej się standardami sieciowymi opinię o ich przydatności, praktyczności i skuteczności. Więcej informacji znajdziesz w przewodniku po testowaniu origin dla web developerów. 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 w ramach 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. Już dziś możesz rozpocząć testy, aby przygotować się na zmianę przed jej rozpoczęciem.