Como registrar um app de pagamento baseado na Web

Saiba como configurar um app de pagamento baseado na Web durante o registro.

Apps de pagamento baseados na Web são Progressive Web Apps (PWA) e são executados sobre service workers. O service worker em um app de pagamento desempenha um papel importante, porque captura solicitações de pagamento de um comerciante, inicia o app de pagamento e media a comunicação com o comerciante.

Para configurar um app de pagamento baseado na Web, você precisa registrar as formas de pagamento disponíveis e um service worker. É possível configurar seu app de pagamento baseado na Web de maneira declarativa com um manifesto de app da Web.

Suporte ao navegador

O Web Payments consiste em algumas tecnologias diferentes, e o status de suporte depende do navegador.

Chromium Safari Firefox
Computador Android Computador Dispositivo móvel Computador/dispositivo móvel
API Payment Request
API Payment Handler
Aplicativo de pagamento iOS/Android ✔* ✔*

Como configurar um app de pagamento com um manifesto de app da Web

Para configurar seu app de pagamento baseado na Web de maneira declarativa, veicule um manifesto de app da Web.

As seguintes propriedades no manifesto do app da Web são relevantes para apps de pagamento baseados na Web:

  • name
  • icons
  • serviceworker
    • src
    • scope
    • use_cache

Confira Como configurar uma forma de pagamento para garantir que o manifesto da forma de pagamento aponta corretamente para o manifesto do seu app da Web.

Como registrar um service worker just-in-time (JIT)

O registro JIT requer apenas a veiculação do manifesto do app da Web, sem codificação adicional. Se você já configurou o manifesto do app da Web e o está exibindo corretamente, não precisa fazer mais nada. O navegador fará o restante.

Como depurar um app de pagamento baseado na Web

Ao desenvolver um front-end de app de pagamento baseado na Web, você provavelmente vai alternar entre o contexto do comerciante e o contexto do app de pagamento. As dicas de depuração a seguir ajudarão sua experiência de desenvolvimento no Chrome.

Como desenvolver em um servidor local

Qual servidor você usa para desenvolvimento? Muitos desenvolvedores tendem a usar o localhost ou um ambiente de servidor interno da empresa, o que pode ser desafiador porque recursos avançados no navegador tendem a exigir um ambiente seguro (HTTPS) e um certificado válido. A API Payment Request e a API Payment Handler não são exceção, e os localhost ou servidores internos da empresa geralmente não vêm com um certificado válido.

A boa notícia é que alguns navegadores, incluindo o Chrome, isentam certificados para http://localhost por padrão. Ainda no Chrome, é possível isentar o requisito de certificado iniciando uma instância do Chrome. Por exemplo, para isentar o requisito de http://*.corp.company.com, use as flags abaixo:

macOS

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=http://*.corp.company.com

Windows

chrome.exe --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=http://*.corp.company.com

Saiba mais sobre como usar o Chrome com uma flag de ambiente de execução em Executar o Chromium com flags.

Encaminhamento de portas de um servidor local

Você pode encaminhar o servidor da Web local para um dispositivo Android usando o DevTools do Chrome e testar como ele funciona em um navegador para dispositivos móveis. Para saber como fazer isso, confira Acessar servidores locais.

Depuração remota de um site no Android Chrome usando o DevTools para computador

Também é possível depurar o Android Chrome no DevTools para computador. Para aprender a fazer isso, consulte Começar a usar a depuração remota de dispositivos Android.

Registro de eventos do Payment Handler

O DevTools pode exibir eventos da API Payment Handler para facilitar o desenvolvimento local. Abra o DevTools no contexto do comerciante e acesse a seção "Gerenciador de pagamentos" no painel Aplicativo. Marque a opção "Mostrar eventos de outros domínios" e clique no botão "Gravar" para começar a capturar eventos enviados ao service worker que processa os pagamentos.

Captura de tela do registro de eventos do Payment Handler.
Registro de eventos do gerenciador de pagamentos.

Próximas etapas

A próxima etapa é aprender como o service worker pode orquestrar uma transação de pagamento no ambiente de execução.