Preset customer

Cartão de Crédito + CPF Correlacionado

Pra testar checkout brasileiro completo, você precisa do cartão + CPF do titular + endereço de cobrança + email - tudo coerente entre si. O preset customer da API do FakeForge devolve tudo em 1 chamada. Cada campo é individualmente válido (Luhn no cartão, mod-11 no CPF, formato BACEN no PIX) e a correlação evita mismatch em validação de antifraude.

Só cartão - pra pegar cartão + CPF + endereço correlacionados, use o preset customer via API abaixo

Clique em Gerar para começar

Por que correlacionar cartão e CPF

Gateways brasileiros (Mercado Pago, Pagar.me, Cielo, Getnet) e sistemas de antifraude (Konduto, ClearSale, Legiti) fazem cross-check entre dados do pagamento. CPF do titular do cartão, CEP de cobrança, telefone e email são combinados pra calcular score de fraude. Se você mockar cada campo separado com dados aleatórios não correlacionados, seu teste dispara falso-positivo de fraude e o fluxo trava.

Com o preset customer, o email é derivado do nome (ex: joao.silva@gmail.com), o DDD do telefone bate com o estado do endereço, e o CEP corresponde a cidade real. Sistema antifraude vê o payload como consistente.

Chamada da API

# Um customer completo (1 payload pra testar checkout)
curl "https://fakeforge.com.br/api/generate?preset=customer&quantity=1"

# Response:
{
  "preset": "customer",
  "quantity": 1,
  "data": [{
    "name": "João Silva Souza",
    "cpf": "123.456.789-09",
    "email": "joao.silva.souza@gmail.com",
    "phone": "(11) 98765-4321",
    "address": {
      "street": "Rua das Flores, 123",
      "city": "São Paulo",
      "state": "SP",
      "zip": "01310-100"
    },
    "creditCard": {
      "number": "4485 1234 5678 9012",
      "brand": "visa",
      "cvv": "123",
      "expiry": "12/28"
    }
  }]
}

Node.js - seed de 100 customers

// Popular checkout_customers no banco de staging
const res = await fetch(
  "https://fakeforge.com.br/api/generate?preset=customer&quantity=100"
);
const { data } = await res.json();

// Cada objeto tem cartão + CPF + endereço COERENTES entre si
for (const customer of data) {
  await db.customer.create({
    data: {
      full_name: customer.name,
      document: customer.cpf,
      email: customer.email,
      phone: customer.phone,
      billing_address: customer.address,
      default_card: customer.creditCard,
    }
  });
}

Formato SQL direto

# Baixar 1000 customers como INSERT INTO já pronto
curl -X POST "https://fakeforge.com.br/api/generate" \
  -H "Content-Type: application/json" \
  -d '{"preset":"customer","quantity":1000,"format":"sql"}' \
  -o seed/customers_1000.sql

# Aplicar no banco
psql -d fakeforge_staging -f seed/customers_1000.sql

Outros presets correlacionados

  • employee - pessoa + conta bancária + chave PIX (folha de pagamento)
  • company - empresa + CNPJ + endereço comercial
  • ecommerce_order - customer + cartão + endereço de entrega
  • contact_list - nome + email + telefone (CRM/marketing)

Perguntas Frequentes

O CPF gerado é da mesma pessoa do cartão?+

O CPF é gerado com mod-11 válido e o nome é gerado independentemente - ambos são fictícios (nenhum pertence a pessoa real). A correlação garantida no preset customer é NOME ↔ EMAIL, DDD ↔ ESTADO, CEP ↔ CIDADE. Um sistema antifraude que compara nome do cartão vs nome do CPF via base externa (SPC/Serasa) vai retornar not-found, o que é esperado em ambiente de teste.

Serve pra teste com antifraude (Konduto/ClearSale)?+

Serve pra teste FUNCIONAL - garante que o payload é aceito no formato certo e passa validações de estrutura. Não serve pra teste de score de risco real, porque antifraude cruza com bases externas onde os dados sintéticos não existem. Use os dados de teste oficiais fornecidos por cada antifraude no sandbox deles pra isso.

Preciso cadastrar conta pra usar preset customer?+

Não. Preset customer é gratuito na API pública, 50 chamadas/dia sem cadastro (rate limit por IP). Cadastro dá 50 chamadas/dia por API key + preset customer via schema builder no dashboard.

Como escolher o estado do endereço?+

O preset customer distribui aleatoriamente entre 10 estados brasileiros cobertos (SP, RJ, MG, RS, PR, BA, SC, GO, PE, CE). Pra forçar um estado específico use schema builder com field 'address.state' fixado - documentação em /docs.

Cada chamada devolve customers diferentes?+

Sim. Cada chamada é aleatória - 2 chamadas seguidas com quantity=100 dão 200 customers únicos. Pra reproduzir a mesma sequência em CI, salve o resultado da 1a chamada como fixture versionada.

Ferramentas relacionadas