L'API Payment Handler consente ai fornitori di servizi di pagamento di rendere disponibile la propria esperienza di pagamento personalizzata per i commercianti, insieme all'API Payment Request. Quando l'API Payment Request viene inizializzata tramite il constructor new PaymentRequest()
, attiva in silenzio un evento canmakepayment
con l'origine del commerciante e dati arbitrari per un service worker registrato per l'API Payment Handler.
Questa comunicazione multiorigine non richiede un gesto dell'utente e non mostra alcuna interfaccia utente.
Chrome rimuoverà i campi di identificazione dall'evento canmakepayment
e avvierà la prova dell'origine da Chrome 108.
Le informazioni riportate in questa pagina si applicano solo ai fornitori di app di pagamento che utilizzano l'API Payment Handler. Se non lo utilizzi, puoi saltare queste istruzioni.
Cosa cambierà?
Quando un commerciante chiama new PaymentRequest()
, un worker di servizio registrato
riceve un evento canmakepayment
(CanMakePaymentEvent
)
che contiene le seguenti informazioni:
topOrigin
paymentRequestOrigin
methodData
modifiers
Questi verranno rimossi e il worker del servizio riceverà semplicemente l'evento canmakepayment
senza ulteriori informazioni.
Rilevamento di funzionalità
Per rilevare se l'evento canmakepayment
viene modificato nel codice del servizio worker, esamina le rispettive proprietà come segue:
self.addEventListener(e => {
if (e.paymentRequestOrigin) {...}
if (e.topOrigin) {...}
if (e.methodData && e.methodData.length > 0) {...}
if (e.modifiers && e.modifiers.length > 0) {...}
...
});
Prova la modifica localmente
Per attivare la modifica localmente a scopo di sviluppo:
- Utilizza Chrome 108, 109 o 110.
- Inserisci
chrome://flags/#clear-identity-in-can-make-payment
nella barra dell'URL. - Attiva il flag.
- Riavvia Chrome.
Se attivi il flag, i campi di identità nell'evento canmakepayment
verranno vuoti (e anche
l'intent IS_READY_TO_PAY
di Android).
Attivare la modifica in produzione
Puoi anche attivare la modifica in produzione a scopo di test prima che venga effettivamente visualizzata in Chrome. Questo meccanismo è chiamato prova dell'origine.
Le prove delle origini ti consentono di provare nuove funzionalità e di fornire feedback sulla loro usabilità, praticità ed efficacia alla community degli standard web. Per maggiori informazioni, consulta la Guida alle prove dell'origine per sviluppatori web. Per registrarti a questa o a un'altra prova di origine, visita la pagina di registrazione.
Per registrare una prova dell'origine:
- Richiedi un token per la tua origine.
- Aggiungi il token al file JavaScript del service worker utilizzando un'intestazione HTTP
Origin-Trial
. L'impostazione delle intestazioni HTTP richiede l'accesso per la configurazione del server. L'intestazione di risposta risultante dovrebbe avere il seguente aspetto:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Per visualizzare il token di prova dell'origine nel file del servizio worker,
utilizza DevTools o il comando curl
nel seguente modo:
$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Riabilitare i campi di identità localmente dopo Chrome 111
Se utilizzi Chrome 111 o versioni successive, i campi relativi all'identità nell'evento canmakepayment
vengono lasciati vuoti. Per riattivare i campi localmente, puoi procedere nel seguente modo:
- Utilizza Chrome 111 o versioni successive.
- Inserisci
chrome://flags/#add-identity-in-can-make-payment
nella barra degli URL. - Attiva il flag.
- Riavvia Chrome.
Passaggi successivi
È prevista l'attivazione di questa modifica a partire da Chrome 111 per impostazione predefinita. Puoi iniziare i test oggi stesso per prepararti al cambiamento di orario del lancio.