A Payment Handler API
permite que os provedores de pagamentos disponibilizem a experiência de pagamento personalizada para
os comerciantes, junto com a API Payment Request. Quando a API Payment Request é inicializada pelo
construtor new PaymentRequest()
, ela dispara silenciosamente um evento canmakepayment
com
a origem do comerciante e dados arbitrários para
um worker de serviço registrado para a API Payment Handler.
Essa comunicação entre origens não exige um gesto do usuário e não
mostra nenhuma interface do usuário.
O Chrome vai remover os campos de identificação do evento canmakepayment
e iniciar o teste de origem do Chrome 108.
As informações nesta página se aplicam apenas aos provedores de apps de pagamento que usam a API Payment Handler. Se você não usa, pule estas instruções.
O que muda?
Quando um comerciante chama new PaymentRequest()
, um worker de serviço registrado
recebe um evento canmakepayment
(CanMakePaymentEvent
)
que contém as seguintes informações:
topOrigin
paymentRequestOrigin
methodData
modifiers
Eles serão removidos, e o service worker simplesmente receberá o
evento canmakepayment
sem nenhuma informação adicional.
Detecção de recursos
Para detectar se o evento canmakepayment
foi alterado no código do service worker, 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 mudança localmente para fins de desenvolvimento:
- Use o Chrome 108, 109 ou 110.
- Digite
chrome://flags/#clear-identity-in-can-make-payment
na barra de URL. - Ative a flag.
- Reinicie o Chrome.
Ao ativar a flag, os campos de identidade no evento canmakepayment
serão
esvaziados (e
a intent IS_READY_TO_PAY
do Android).
Ativar a mudança na produção
Você também pode ativar a mudança na produção para fins de teste antes de ela ser lançada no Chrome. Esse mecanismo é chamado de teste de origem.
Com eles, você pode testar novos recursos e fornecer feedback sobre a usabilidade, praticidade e eficácia deles à comunidade de padrões da Web. 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:
- Solicite um token para sua origem.
- Adicione o token ao arquivo JavaScript do service worker usando um cabeçalho HTTP
Origin-Trial
. A configuração de cabeçalhos HTTP requer acesso à configuração do servidor. O cabeçalho de resposta resultante vai ser parecido com este:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Para conferir o token de teste de origem no arquivo do service worker,
use o DevTools
ou o comando curl
, como este:
$ 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 mais recente, os campos de identidade no evento canmakepayment
vão ficar vazios. Para reativar os
campos localmente, faça o seguinte:
- Use o Chrome 111 ou mais recente.
- Digite
chrome://flags/#add-identity-in-can-make-payment
na barra de URL. - Ative a flag.
- Reinicie o Chrome.
Próximas etapas
Essa mudança está planejada para ser ativada por padrão no Chrome 111. Você pode começar a testar hoje mesmo para se preparar para a mudança no horário de lançamento.