veno.js — Tokenização + 3DS
Para checkout transparente com cartão no navegador. O veno.js tokeniza o cartão, roda o 3DS no browser e devolve { token, three_ds } — padronizado, independente do adquirente. O PAN não passa pelo seu servidor.
1. Obtenha a publishable key
A pk_veno_ identifica a conta no browser.
2. Tokenize no browser
3. Cobre no backend
Envie { token, three_ds } para o seu servidor e crie a cobrança em Criar cobrança usando a secret key. Ambos são necessários para capturar (3DS / liability shift).
pk_veno_ é pública: só inicia a sessão 3DS, nunca cobra nem lê dados. line_1 do billing_address precisa de 3 partes separadas por vírgula (número, rua, bairro) e line_2 é obrigatório.Adquirentes com 3DS por redirect
Nem toda adquirente resolve o 3DS por SDK. O campo flow da resposta de /v1/3ds/config (e de /v1/3ds/session) diz qual caminho seguir: "sdk" resolve o challenge no browser, e "redirect" não abre sessão nenhuma — nesse caso a cobrança volta com requires_action: true e three_ds.redirect_url, e você leva o portador até essa URL. Nesse fluxo o veno.authenticate() devolve three_ds: null e flow: "redirect" — mande só o token pro seu backend. O desfecho chega pelo webhook ou pela consulta da cobrança.