Pular para o conteúdo principal
Nesta página

Visão geral#

A integração tem quatro partes. Seu servidor possui o pedido e a chave privada; o navegador recebe apenas um token de pedido e sua chave pública.

server
Criar pedido
O back-end cria e tokeniza o pedido.
browser
Abrir widget de pagamento
O cliente seleciona um método de pagamento e efetua o pagamento.
deuna
Rotear e processar
DEUNA aplica regras de roteamento, provedor e fallback.
server
Confirmar
Um webhook verificado confirma o estado final.

Antes de começar#

  • Chaves públicas e privadas do sandbox — consulte Chaves de API.
  • O SDK Web carregado do DEUNA CDN.
  • Um endpoint de back-end que cria um PAYMENT-LINK pedido e retorna seu token de pedido.
  • Um endpoint HTTPS público para webhooks DEUNA.

1. Crie e tokenize o pedido#

Crie o pedido em seu backend com a chave API privada. Retorne apenas seu token ao navegador.

server.jsJavaScript
app.post('/api/deuna/checkout-session', async (request, response) => {
  const cart = await carts.get(request.session.cartId);
  const order = await createDeunaOrder({
    orderType: 'PAYMENT-LINK',
    currency: cart.currency,
    items: cart.items,
    totalAmount: cart.totalAmount,
  });

  response.json({orderToken: order.token});
});

2. Carregue e inicialize o Web SDK#

HTML
<script crossorigin src="https://cdn.deuna.io/web-sdk/v1.7/index.js"></script>
<script type="module">
  await DeunaSDK.initialize({
    publicApiKey: 'YOUR_PUBLIC_API_KEY',
    env: 'sandbox',
  });
</script>

3. Abra o Payment Widget#

checkout.jsJavaScript
const {orderToken} = await fetch('/api/deuna/checkout-session', {
  method: 'POST',
}).then((response) => response.json());

await DeunaSDK.initPaymentWidget({
  orderToken,
  callbacks: {
    onSuccess: async (order) => {
      await DeunaSDK.close();
      showConfirmation(order);
    },
    onError: (error) => showRetry(error),
    onClosed: () => showCart(),
  },
});

O SDK Web atual não expõe initCheckoutO Payment Widget é o fluxo de SDK suportado para aceitar pagamentos dentro de uma plataforma de checkout existente.

4. Confirme com webhooks#

Use retornos de chamada do navegador para atualizar a interface, mas atenda ao pedido somente depois que seu back-end receber e verificar o webhook correspondente. Veja Verifique assinaturas de webhook.

Lista de verificação de ativação#