API Docs ← Voltar ao site
API PixCrypto

Integre a conversão de PIX em USDT diretamente na sua plataforma. Gere cobranças PIX, receba notificações automáticas via webhook quando o USDT for enviado e consulte o status de qualquer pagamento em tempo real.

Para obter seu token de acesso, entre em contato com nossa equipe. O token é cadastrado manualmente e associado ao seu e-mail.
Autenticação

Todas as requisições autenticadas devem incluir o cabeçalho Authorization com o esquema Bearer.

Cabeçalho obrigatório
HTTP Header
Authorization: Bearer SEU_TOKEN_AQUI
Mantenha seu token em segredo. Não o exponha em código client-side ou repositórios públicos.
Base URL
Endpoint base
URL
https://api.pixcrypto.online/api/payments
Gerar pagamento PIX

Cria uma cobrança PIX e retorna o código para o pagador. Após a confirmação do pagamento e envio do USDT, seu webhook será notificado.

Redes suportadas: USDT_BEP20 (BNB Chain · $0,20), USDT_POLYGON ($0,15), USDT_OPTIMISM ($0,50), USDT_ARBITRUM ($0,50), USDT_BASE ($0,30). Se omitido, padrão é USDT_BEP20.
POST /api/payments/generate
Campo Tipo Obrigat. Descrição
email string Sim E-mail do pagador
cpf_pagador string Sim CPF (11 dígitos) ou CNPJ (14 dígitos), com ou sem máscara
nome string Sim Primeiro nome do pagador
sobrenome string Sim Sobrenome do pagador
whatsapp string Sim Telefone do pagador (somente dígitos ou com máscara)
address string Sim Endereço EVM da carteira (0x...) compatível com a rede escolhida
amountBRL number Sim Valor em reais. Mínimo: R$ 1,00 · Máximo: R$ 500,00
typeCrypto string Não Rede de recebimento. Valores: USDT_BEP20 | USDT_POLYGON | USDT_OPTIMISM | USDT_ARBITRUM | USDT_BASE. Padrão: USDT_BEP20
webhook string (URL) Não URL do seu servidor que receberá o callback quando o USDT for enviado
splitAddress string Não Endereço de uma segunda carteira que recebe parte do valor em cripto (split). Deve ser enviado junto com splitPercent
splitPercent number Não Percentual do valor em cripto enviado para splitAddress. De 1 a 99. O restante vai para address
Split de pagamento (opcional): se você informar splitAddress e splitPercent, o valor em USDT será dividido entre duas carteiras: splitPercent% para splitAddress e o restante para address. Ambos os campos devem ser enviados juntos, e splitPercent deve estar entre 1 e 99.
Exemplo de requisição — cURL
curl -X POST https://api.pixcrypto.online/api/payments/generate \
  -H "Authorization: Bearer SEU_TOKEN_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "email":       "cliente@email.com",
    "cpf_pagador": "12345678901",
    "nome":        "João",
    "sobrenome":   "Silva",
    "whatsapp":    "51999999999",
    "address":     "0xABCDEF1234567890ABCDEF1234567890ABCDEF12",
    "typeCrypto":  "USDT_POLYGON",
    "amountBRL":   100,
    "webhook":     "https://meusite.com/webhook/crypto",
    "splitAddress":"0x789012345678901234567890123456789ABCDE",
    "splitPercent":20
  }'
Exemplo — JavaScript (fetch)
const response = await fetch('https://api.pixcrypto.online/api/payments/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_TOKEN_AQUI',
    'Content-Type':  'application/json',
  },
  body: JSON.stringify({
    email:       'cliente@email.com',
    cpf_pagador: '12345678901',
    nome:        'João',
    sobrenome:   'Silva',
    whatsapp:    '51999999999',
    address:     '0xABCDEF1234567890ABCDEF1234567890ABCDEF12',
    typeCrypto:  'USDT_POLYGON',
    amountBRL:   100,
    webhook:     'https://meusite.com/webhook/crypto',
    splitAddress:'0x789012345678901234567890123456789ABCDE',  // opcional
    splitPercent:20,                                          // opcional, 1-99
  }),
});
const data = await response.json();
// data.payment.pixCode  → código PIX copia-e-cola
// data.payment.id       → ID para consultar status
Resposta de sucesso (200)
{
  "success": true,
  "payment": {
    "id":            42,
    "pixCode":       "00020126...",
    "amountBRL":     100,
    "feeAmount":     8.99,
    "netAmountBRL":  91.01,
    "amountUSDT":    16.234500,
    "usdtRate":      5.61,
    "networkFeeUSD": 0.15,
    "network":       "Polygon",
    "expiresAt":     "2026-06-03T14:30:00.000Z",
    "splitAddress":  null,
    "splitPercent":  null
  }
}
Códigos de status
200PIX gerado com sucesso
400Parâmetros inválidos (campo obrigatório ausente, CPF inválido, valor fora do limite, etc.)
401Token ausente, inválido ou inativo
500Erro interno do servidor
Consultar pagamento

Retorna o status e os detalhes de um pagamento pelo ID retornado em /generate.

GET /api/payments/payment/:id
ParâmetroTipoDescrição
:id number (URL) ID do pagamento retornado em /generate
Resposta de sucesso (200)
{
  "success": true,
  "payment": {
    "id":           42,
    "status":       "paid",      // pending | confirmed | paid
    "typeCrypto":   "USDT_BEP20",
    "amountBRL":    100,
    "feeAmount":    8.99,
    "netAmountBRL": 91.01,
    "amountUSDT":   16.234500,
    "usdtRate":     5.61,
    "txHash":       "0xabc123...",  // null se não pago ainda
    "splitAddress": "0x789...",     // null se não usou split
    "splitPercent": 20,
    "splitTxHash":  "0xdef456...",  // null se não pago ainda ou sem split
    "createdAt":    "2026-06-03T14:00:00.000Z",
    "expiresAt":    "2026-06-03T15:00:00.000Z",
    "confirmedAt":  "2026-06-03T14:01:15.000Z"
  }
}
Status do pagamento
pendingPIX gerado, aguardando pagamento
confirmedPIX pago, aguardando envio do USDT (processamento automático em até 30s)
paidUSDT enviado para a carteira com sucesso
Webhook de callback

Quando o campo webhook é informado ao gerar o pagamento, nossa API enviará um POST para a URL especificada assim que o USDT for enviado para a carteira.

O callback é disparado após o envio do USDT (status paid), não apenas na confirmação do PIX. Timeout: 10 segundos. Falhas são registradas no log mas não bloqueiam o fluxo.
POST SUA_URL_DE_WEBHOOK
Payload enviado ao seu servidor
{
  "event":       "payment.paid",
  "id":          42,
  "status":      "paid",
  "amountBRL":   100,
  "amountUSDT":  16.234500,
  "address":      "0xABCDEF...",
  "txHash":       "0xabc123def456...",
  "splitAddress": "0x789...",     // null se não usou split
  "splitPercent": 20,
  "splitTxHash":  "0xdef456...", // null se não usou split
  "confirmedAt":  "2026-06-03T14:01:15.000Z",
  "paidAt":       "2026-06-03T14:01:45.000Z"
}
Exemplo de handler — Node.js / Express
// Sua rota de webhook
app.post('/webhook/crypto', (req, res) => {
  const { event, id, status, amountUSDT, txHash } = req.body;

  if (event === 'payment.paid') {
    // Libere o pedido, credite a conta, etc.
    console.log(`Pagamento #${id} concluído: ${amountUSDT} USDT | tx: ${txHash}`);
  }

  res.status(200).json({ ok: true }); // Sempre responda 200
});
Playground

Teste a geração de pagamento diretamente nesta página.

Credenciais

Dados do pagamento
Resposta
Aguardando envio...