Integre a conversão de PIX em USDT BEP20 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.
Todas as requisições autenticadas devem incluir o cabeçalho
Authorization
com o esquema Bearer.
Authorization: Bearer SEU_TOKEN_AQUI
https://api.pixcrypto.online/api/payments
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.
| Campo | Tipo | Obrigat. | Descrição |
|---|---|---|---|
| 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 |
| string | Sim | Telefone do pagador (somente dígitos ou com máscara) | |
| address | string | Sim | Endereço da carteira USDT BEP20 (0x...) |
| amountBRL | number | Sim | Valor em reais. Mínimo: R$ 1,00 · Máximo: R$ 500,00 |
| webhook | string (URL) | Não | URL do seu servidor que receberá o callback quando o USDT for enviado |
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", "amountBRL": 100, "webhook": "https://meusite.com/webhook/crypto" }'
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', amountBRL: 100, webhook: 'https://meusite.com/webhook/crypto', }), }); const data = await response.json(); // data.payment.pixCode → código PIX copia-e-cola // data.payment.id → ID para consultar status
{
"success": true,
"payment": {
"id": 42,
"pixCode": "00020126...",
"amountBRL": 100,
"feeAmount": 8.99,
"netAmountBRL": 91.01,
"amountUSDT": 16.234500,
"usdtRate": 5.61,
"expiresAt": "2026-06-03T14:30:00.000Z"
}
}
Retorna o status e os detalhes de um pagamento pelo ID retornado em /generate.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| :id | number (URL) | ID do pagamento retornado em /generate |
{
"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
"createdAt": "2026-06-03T14:00:00.000Z",
"expiresAt": "2026-06-03T15:00:00.000Z",
"confirmedAt": "2026-06-03T14:01:15.000Z"
}
}
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.
paid), não apenas na confirmação do PIX. Timeout: 10 segundos. Falhas são registradas no log mas não bloqueiam o fluxo.
{
"event": "payment.paid",
"id": 42,
"status": "paid",
"amountBRL": 100,
"amountUSDT": 16.234500,
"address": "0xABCDEF...",
"txHash": "0xabc123def456...",
"confirmedAt": "2026-06-03T14:01:15.000Z",
"paidAt": "2026-06-03T14:01:45.000Z"
}
// 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 });
Teste a geração de pagamento diretamente nesta página.