Checkout
Pra não construir seu próprio formulário de pagamento, use o checkout hospedado: você cria uma sessão server-side e manda o pagador pra uma página pronta (nossa, não sua) que já lida com PIX/cartão/boleto, tokenização e 3DS.
Criar uma sessão
const session = await gateway.checkoutSessions.create({
type: 'hosted',
amountInCents: 15000,
description: 'Pedido #1042',
successUrl: 'https://sualoja.com/obrigado',
});
type: "hosted" gera uma página completa (redirecione o pagador pra ela); type: "embedded"
é pensado pra ser aberto num iframe (ver abaixo).
Abrir num modal (@gateway/checkout-js)
Sem redirecionar o pagador pra fora do seu site — o SDK de frontend abre a sessão num modal com iframe:
<script type="module">
import { GatewayCheckout } from '@gateway/checkout-js';
GatewayCheckout.open({
sessionId: session.id, // veio do seu backend
baseUrl: 'https://checkout.suaempresa.com',
onSuccess: () => console.log('pago!'),
});
</script>
GatewayCheckout.open() nunca recebe uma API key — só um sessionId já criado
server-side, então não há como expor um segredo no navegador. Ver o
README do checkout-js pra
a API completa.
Consultar
const session = await gateway.checkoutSessions.get(session.id);
Cobrar direto, sem UI hospedada
Se você já tem seu próprio formulário (com tokenização client-side), não precisa de uma
CheckoutSession explícita — use Payments/PIX/Boleto
direto, que criam a sessão internamente num só passo.