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:
- Używaj Chrome w wersji 108, 109 lub 110.
- Wpisz
chrome://flags/#clear-identity-in-can-make-payment
w pasku adresu. - Włącz flagę.
- 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ą:
- Poproś o token dla Twojego źródła.
- 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:
- Używaj Chrome w wersji 111 lub nowszej.
- Wpisz
chrome://flags/#add-identity-in-can-make-payment
w pasku adresu. - Włącz flagę.
- 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.