Pagamentos
Cartão Simples
Pagamento com cartão de crédito sem 3DS em 3 passos.
Cartão Simples
Fluxo de pagamento com cartão sem autenticação 3DS. Use quando o risco de chargeback é baixo ou você quer a implementação mais simples.
Resumo
1. [mount] dftp.init({ attemptReference: fraudSessionId })
2. [submit] await dftp.profileCompleted()
3. [submit] POST /api/checkout/ → resposta finalRequest
POST {BASE_URL}/api/checkout/
Content-Type: application/json
Authorization: Token {API_TOKEN}{
"user": 42,
"paymentMethod": "credit_card",
"amount": "149.90",
"installments": 3,
"antifraud_profiling_attempt_reference": "550e8400-e29b-41d4-a716-446655440000",
"card": {
"number": "4111111111111111",
"holderName": "JOAO DA SILVA",
"expMonth": "12",
"expYear": "2029",
"cvv": "123"
},
"customer": {
"name": "João da Silva",
"email": "joao@example.com",
"phone": "11999999999",
"docType": "cpf",
"docNumber": "12345678900",
"birthDate": "1990-05-15",
"ip": "189.10.20.30"
},
"address": {
"street": "Rua das Flores",
"number": "123",
"complement": "Apto 4B",
"neighborhood": "Centro",
"city": "São Paulo",
"state": "SP",
"zipcode": "01310100",
"country": "BR"
},
"items": [
{
"title": "Curso de Marketing Digital",
"externalRef": "PROD-001",
"unitPrice": "149.90",
"quantity": 1,
"tangible": false
}
],
"postbackUrl": "https://sua-loja.com/webhooks/cakto",
"checkoutUrl": "https://sua-loja.com/checkout"
}Resposta — aprovado
{
"id": "8f14e45f-ceea-467a-a866-051f0a",
"status": "paid",
"amount": 149.9,
"paidAmount": 149.9,
"liquidAmount": 143.52,
"fee": 6.38,
"installments": 3,
"tid": "0505096727000195830101",
"return_code": "4",
"acquirerType": "cielo",
"currency": "BRL",
"card": {
"lastDigits": "1111",
"holderName": "JOAO DA SILVA",
"brand": "visa",
"token": null
},
"customer": {
"name": "João da Silva",
"email": "joao@example.com",
"phone": "11999999999",
"docNumber": "12345678900",
"docType": "cpf"
}
}Resposta — recusado
{
"id": "7c8e1234-abcd-4567-b891-000000",
"status": "declined",
"amount": 149.9,
"paidAmount": 0,
"reason": "Não Autorizada",
"return_code": "51",
"merchant_advice_code": null,
"acquirerType": "cielo"
}Checklist de implementação
- Script Nethone carregado no HTML (não sob demanda)
-
fraudSessionIdgerado no mount comcrypto.randomUUID() -
dftp.init()chamado no mount -
dftp.profileCompleted()chamado no início do submit - Mesmo UUID enviado em
antifraud_profiling_attempt_reference -
docTypeem minúsculas:"cpf"ou"cnpj" -
zipcodesem pontos ou traços (somente 8 dígitos) -
countrycomo"BR"(ISO 3166-1 Alpha-2) - Credenciais no servidor (BFF) — nunca no bundle do cliente
Para a implementação completa em React com o hook useCaktoCheckout, consulte SDK React.