1. Criar sessão
id (cs_...) e url. Redirecione o cliente para url.
2. Confirmar (opcional)
Use se você confirma o pagamento no seu backend após o retorno do pagador (fluxo headless). O SDKupag ainda não expõe confirm — use REST:
await upag.checkoutSessions.retrieve('cs_abc123xyz').
3. Webhook
Configure a URL de webhook no dashboard Billing e tratepayment.approved no servidor — o redirect sozinho não garante que você receberá a confirmação.
Exemplo de handler (Node + Express):