Cartão de Crédito
Tokenize os dados do cartão no navegador do cliente e finalize a cobrança no seu backendO fluxo de cobrança em cartão acontece em duas etapas: tokenização do cartão (feita no navegador do comprador, usando apenas sua Public Key) e criação da transação (feita no seu backend, com o token gerado).
🚀 Como Funciona
💳 Cliente digita o cartão
No seu checkout, o comprador informa os dados do cartão
🔒 Cartão é tokenizado
O navegador chama a Velfy diretamente com sua Public Key, e recebe um token
📤 Seu backend cria a cobrança
Envie o token recebido no campo
card.hash⚡ Resposta imediata
A cobrança é processada de forma síncrona: a resposta já traz
paid ou refused🛠️ Implementação
1. Tokenizar o cartão
O token retornado tem validade curta. Gere-o imediatamente antes de criar a transação.
2. Criar a transação com o token
3. Resposta
O campo
refusedReason traz o motivo em português quando a cobrança é recusada — use-o para orientar o comprador. Em transações aprovadas ele vem como mensagem de sucesso.📮 Endereço de cobrança (shipping)
O objeto shipping é opcional no contrato, mas recomendado em toda cobrança de cartão.
O shipping.address é o que preenche o endereço de cobrança enviado à adquirente, e ele entra na análise de antifraude. Quando o endereço confere com o cadastro do portador do cartão, a chance de aprovação aumenta.
Quando você envia shipping, o objeto address passa a ser obrigatório, e todos os campos dele também — exceto complement:
O
shipping.fee não é somado ao amount. O valor cobrado do comprador é sempre o amount — se o frete deve ser cobrado, inclua-o no amount.fee:
📊 Parâmetros Detalhados
Campos específicos do cartão
card.id (cobrança em cartão salvo) ainda não é suportado. Enviar esse campo faz a transação falhar.Consulte os campos comuns a toda transação para os demais parâmetros (
amount, customer, items, etc).📋 Status da Transação
A cobrança em cartão é síncrona: a resposta da criação já traz o resultado final.⚠️ Erros Comuns
🛡️ Boas Práticas
🔒 Segurança
🔒 Segurança
- Sempre tokenize o cartão no navegador do cliente, usando apenas a Public Key
- Nunca envie o número do cartão para o seu próprio backend
- Use HTTPS em todas as chamadas
📈 Taxa de aprovação
📈 Taxa de aprovação
- Envie
shipping.addresscom o endereço real do comprador - Envie o
ipreal do comprador, não o do seu servidor - Preencha
customer.phoneecustomer.documentcorretamente
🔄 Idempotência
🔄 Idempotência
- Use
externalRefpara relacionar a cobrança com seu pedido interno - Trate reenvios de webhook de forma idempotente
🎯 Próximos Passos
🔗 Configurar Webhooks
Receba a confirmação do pagamento automaticamente
🧾 Boleto
Aceite também pagamentos via boleto