Pular para o conteúdo principal
Nesta página

O SDK DEUNA Web atual não expõe initCheckout. Crie a página de finalização sob o controle do comerciante e incorpore initPaymentWidget para pagamento, ou utilize o SDK nativo mantido quando a finalização ocorre em um aplicativo móvel.

Escolha a integração suportada#

Diagrama de fluxo
1Where does checkoutrun?2-- Mobile app3-- DEUNAconfiguration4Merchant page +Payment Widget5Confirm availablehosted experiencewith DEUNA6iOS, Android, orReact Native SDK7Backend creates andverifies order
Comerciante ou clienteDEUNA
NecessárioSuperfície suportada
Adicione métodos de pagamento a uma finalização web existenteWidget de Pagamento para Web
Armazene um cartão ou utilize o Click to PayElementos e armazenamento de cartão
Continue com 3DS ou uma ação APMPróxima Ação
Crie uma finalização móvel nativaiOS, Android, ou Reagir nativo
Incorpore uma finalização web existente do comercianteSDK Web em um WebView móvel, com as limitações documentadas

Arquitetura web recomendada#

01 · merchant UI
Colete dados de finalização
Seus próprios campos de carrinho, contato, envio e consentimento em sua aplicação.
02 · merchant backend
Criar o pedido
Valide os totais e envie o contrato de pedido suportado.
03 · DEUNA widget
Colete o pagamento
Abra o Widget de Pagamento com o token de pedido retornado.
04 · merchant backend
Verifique e realize
Utilize o estado final do DEUNA e webhooks.
JavaScript
const {orderToken, merchantOrderId} = await createOrderFromServer(checkoutState);

await DeunaSDK.initPaymentWidget({
  orderToken,
  mode: 'target',
  target: '#payment-step',
  callbacks: {
    onSuccess: () => renderVerifiedResult(merchantOrderId),
    onError: showPaymentRecovery,
    onClosed: () => returnToPaymentMethods(),
    onResize: ({height}) => resizePaymentStep(height),
  },
});

Migração de initCheckout#

  1. Mantenha o estado do carrinho, envio, faturamento, cliente e consentimento na aplicação do comerciante.
  2. Mova a criação do pedido para o backend do comerciante, se for no lado do cliente.
  3. Substituir initCheckout(...) com initPaymentWidget({orderToken, ...}).
  4. Mapeie o tratamento de finalização de checkout antigo para onSuccess, e recupere o pedido no backend.
  5. Mapeie a análise de ciclo de vida antiga para o Eventos do SDK.
  6. Teste as larguras de tela móveis, edição de endereço, navegação no navegador, 3DS, redirecionamentos APM e recuperação após a atualização.

Propriedade do estado#

EstadoProprietário
Conteúdo do carrinho, preços, estoque, envio, impostosBackend do comerciante
Formulário de finalização e navegação por etapasAplicação do comerciante
Métodos de pagamento e entrada de credenciais suportadosWidget de Pagamento DEUNA e conexões configuradas
Processamento de pagamento e estado de pedido normalizadoDEUNA API
Decisão de entregaBackend do comerciante após a verificação

Layout responsivo#

Coloque o alvo de pagamento em um fluxo de uma coluna na tela pequena. Evite a exibição do resumo do pedido e o conteúdo de pagamento abaixo do seu limite de layout, mantenha o alvo em width: 100%, e responda a onResize. Cabeçalhos e rodapés fixos não devem cobrir desafios do emissor ou a ação do widget.