Documentação da API

Integre pagamentos em criptomoedas no seu sistema em poucos minutos.

🌐 Base URL

https://api.cryptopay.gateway/v1

🔑 Autenticação

Todas as requisições devem incluir sua API key no header Authorization:

Header
Authorization: Bearer cpay_live_sk_sua_chave_aqui
POST/charges

Cria uma nova cobrança. Retorna um endereço de pagamento único e dados para exibir ao cliente (QR code, valor, prazo).

Parâmetros

CampoTipoDescrição
amount*numberValor em cripto (ex: 25.00 USDT)
crypto*stringMoeda: "USDT" ou "BTC"
callback_urlstringURL para receber webhook de confirmação
metadataobjectDados extras (order_id, customer, etc.)

Exemplo

Request
curl -X POST https://api.cryptopay.gateway/v1/charges \ -H "Authorization: Bearer cpay_live_sk_..." \ -H "Content-Type: application/json" \ -d '{ "amount": 25.00, "crypto": "USDT", "callback_url": "https://meusite.com/webhook", "metadata": { "order_id": "12345" } }'
Response 201
{ "id": "chg_8f2a1b", "status": "pending", "amount": 25.00, "crypto": "USDT", "network": "polygon", "address": "0x742d35Cc6634C0532925a3b844Bc...", "checkout_url": "https://pay.cryptopay.gateway/chg_8f2a1b", "expires_at": "2026-02-24T22:05:00Z", "created_at": "2026-02-24T21:35:00Z" }
GET/charges/:id

Consulta o status de uma cobrança existente pelo ID.

Response 200
{ "id": "chg_8f2a1b", "status": "confirmed", "amount": 25.00, "amount_received": 25.00, "crypto": "USDT", "network": "polygon", "tx_hash": "0x1a2b3c4d...", "confirmed_at": "2026-02-24T21:38:00Z" }
WEBHOOKSua callback_url

Quando o pagamento é confirmado, enviamos um POST para a callback_url com os dados:

Webhook Payload
{ "event": "charge.confirmed", "charge": { "id": "chg_8f2a1b", "status": "confirmed", "amount": 25.00, "amount_received": 25.00, "crypto": "USDT", "network": "polygon", "tx_hash": "0x1a2b3c4d...", "metadata": { "order_id": "12345" }, "confirmed_at": "2026-02-24T21:38:00Z" } }

📊 Status das Cobranças

StatusDescrição
pendingAguardando pagamento do cliente
confirmingPagamento detectado, aguardando confirmações
confirmedPagamento confirmado com sucesso
expiredPrazo expirado sem pagamento
underpaidValor recebido menor que o esperado