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

L'API Payment Handler consente ai fornitori di servizi di pagamento di mettere a disposizione dei commercianti la loro esperienza di pagamento personalizzata, insieme all'API Payment Request. Quando l'API Payment Request viene inizializzata tramite il costruttore new PaymentRequest(), attiva automaticamente un evento canmakepayment con dati arbitrari e origine del commerciante per un service worker registrato per l'API Payment Handler. Questa comunicazione tra origini 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 in questa pagina si applicano solo ai fornitori di app di pagamento che utilizzano l'API Payment Handler. Se non la usi, puoi saltare queste istruzioni.

Cosa cambierà?

Quando un commerciante chiama new PaymentRequest(), un service worker registrato riceve un evento canmakepayment (CanMakePaymentEvent) contenente le seguenti informazioni:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Verranno rimossi e il service worker riceverà semplicemente l'evento canmakepayment senza alcuna informazione aggiuntiva.

Rilevamento delle funzionalità

Per rilevare se l'evento canmakepayment viene modificato nel codice del service worker, esamina le rispettive proprietà in questo modo:

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 abilitare la modifica localmente a scopo di sviluppo:

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

Se abiliti il flag, i campi di identità nell'evento canmakepayment verranno vuoti (e l'intent IS_READY_TO_PAY di Android).

Abilita la modifica in produzione

Puoi anche abilitare la modifica in produzione a scopo di test prima che venga effettivamente scaricata in Chrome. Questo meccanismo è chiamato prova dell'origine.

Le prove dell'origine ti consentono di provare nuove funzionalità e fornire feedback sulla loro usabilità, praticità ed efficacia alla community degli standard web. Per ulteriori informazioni, consulta la Guida alle prove dell'origine per sviluppatori web. Per registrarti a questa o a un'altra prova dell'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 service worker utilizzando un'intestazione HTTP Origin-Trial. L'impostazione delle intestazioni HTTP richiede l'accesso per la configurazione del server. L'intestazione della risposta risultante dovrebbe avere un aspetto simile a questo:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Per visualizzare il token della prova dell'origine nel file del service worker, utilizza DevTools o il comando curl in questo modo:

$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Riattivare 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 a livello locale, puoi:

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

Passaggi successivi

Questa modifica dovrebbe essere attivata per impostazione predefinita dalla versione 111 di Chrome. Puoi iniziare a eseguire test oggi stesso per prepararti al cambiamento in tempo per il lancio.