Aggiornamento del comportamento dell'evento CanMakePayment dell'API Payment Handler

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 cross-origin 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:

  1. Utilizza Chrome 108, 109 o 110.
  2. Inserisci chrome://flags/#clear-identity-in-can-make-payment nella barra degli URL.
  3. Attiva il flag.
  4. Riavvia Chrome.

Se attivi il flag, i campi di identità nell'evento canmakepayment verranno svuotati (così come 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 implementata 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 gli sviluppatori web. Per registrarti a questa o a un'altra prova di origine, visita la pagina di registrazione.

Per registrare una prova dell'origine:

  1. Richiedi un token per la tua origine.
  2. Aggiungi il token al file JavaScript del tuo worker di servizio utilizzando un'Origin-Trial intestazione HTTP. L'impostazione delle intestazioni HTTP richiede l'accesso alla 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 di identità nell'evento canmakepayment vengono lasciati vuoti. Per riattivare i campi localmente, puoi procedere nel seguente modo:

  1. Utilizza Chrome 111 o versioni successive.
  2. Inserisci chrome://flags/#add-identity-in-can-make-payment nella barra degli URL.
  3. Attiva il flag.
  4. Riavvia Chrome.

Passaggi successivi

È prevista l'attivazione di questa modifica per impostazione predefinita a partire da Chrome 111. Puoi iniziare i test oggi stesso per prepararti al cambiamento di orario del lancio.