Atualização do comportamento do evento CanMakePayment da API Payment Handler

API Payment Handler os provedores de pagamento podem oferecer uma experiência de pagamento personalizada para comerciantes, além da API Payment Request. Quando a API Payment Request é inicializada pelo new PaymentRequest(), ele aciona silenciosamente um evento canmakepayment com a origem do comerciante e os dados arbitrários um service worker registrado na API Payment Handler Essa comunicação entre origens não requer um gesto do usuário e não mostrar qualquer interface do usuário.

O Chrome vai remover os campos de identificação do evento canmakepayment e iniciar o teste de origem no Chrome 108.

As informações nesta página se aplicam somente aos provedores de apps de pagamento que usam a API Payment Handler. Se você não usa esse recurso, pule estas instruções.

O que muda?

Quando um comerciante chama new PaymentRequest(), um service worker registrado recebe um evento canmakepayment (CanMakePaymentEvent) que contém as seguintes informações:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Elas serão removidas e o service worker simplesmente receberá as canmakepayment sem informações adicionais.

Detecção de recursos

Detectar se o evento canmakepayment foi alterado no service worker do código, examine as respectivas propriedades, da seguinte maneira:

self.addEventListener(e => {
  if (e.paymentRequestOrigin) {...}
  if (e.topOrigin) {...}
  if (e.methodData && e.methodData.length > 0) {...}
  if (e.modifiers && e.modifiers.length > 0) {...}
  ...
});

Testar a mudança localmente

Para ativar a alteração localmente para fins de desenvolvimento:

  1. Use o Chrome 108, 109 ou 110.
  2. Insira chrome://flags/#clear-identity-in-can-make-payment na barra de URL.
  3. Ativar a sinalização.
  4. Reinicie o Chrome.

Ao ativar a sinalização, os campos de identidade no evento canmakepayment serão esvaziado (e a intent IS_READY_TO_PAY do Android).

Ativar a mudança na produção

Também é possível ativar a mudança na produção para fins de teste antes que ela chega ao Chrome. Esse mecanismo é chamado de teste de origem.

Com os testes de origem, você pode testar novos recursos e dar feedback sobre eles usabilidade, praticidade e eficácia para a comunidade de padrões da Web. Para Para mais informações, consulte o Guia de testes de origem para desenvolvedores Web. Para se inscrever neste ou em outro teste de origem, acesse a página de registro.

Para registrar um teste de origem, siga estas etapas:

  1. Solicitar um token para sua origem.
  2. Adicione o token ao arquivo JavaScript do service worker usando um Origin-Trial cabeçalho HTTP. A definição de cabeçalhos HTTP requer acesso à configuração do seu servidor. O cabeçalho de resposta resultante será semelhante a este:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Para ver o token de teste de origem no arquivo do service worker, usar o DevTools ou o comando curl assim:

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

Reativar os campos de identidade localmente após o Chrome 111

Se você estiver usando o Chrome 111 ou posterior, os campos de identidade na canmakepayment evento foi deixado em branco. Para reativar é possível fazer o seguinte:

  1. Use o Chrome 111 ou mais recente.
  2. Insira chrome://flags/#add-identity-in-can-make-payment na barra de URL.
  3. Ativar a sinalização.
  4. Reinicie o Chrome.

Próximas etapas

Essa mudança será ativada por padrão a partir do Chrome 111. Comece os testes hoje para se preparar. para a mudança no tempo para o lançamento.