BruxoPay API de Integração — Documentação para Desenvolvedores 1. Visão Geral A API pública do BruxoPay permite integrar pagamentos Pix diretamente no seu sistema. Cada usuário possui suas próprias credenciais (API Key) para criar cobranças e receber pagamentos automaticamente na sua carteira BruxoPay. • Autenticação: Header X-API-Key • Formato: JSON • Notificação: Webhook + Polling 2. Como Obter sua API Key No Telegram, envie os seguintes comandos para o bot @BruxoPay: /apikey Visualiza suas API Keys /apikey nova [label] Gera uma nova API Key /apikey webhook [url] Configura URL de webhook /apikey revogar Revoga todas as keys 3. Base URL https://wlzqnbbyznwdoqkdacxi.supabase.co/functions/v1/public-api 4. Endpoints 4.1 Criar Cobrança Pix — POST /create-charge Headers: X-API-Key: SUA_API_KEY Content-Type: application/json Body: { "amount": 50.00, "description": "Pedido #123", "external_reference": "pedido-123", "webhook_url": "https://meusite.com/webhook" } Resposta (200): { "id": "uuid-da-cobranca", "transaction_id": "uuid-da-transacao", "status": "pending", "amount": 50.00, "pix_copy_paste": "00020126...BR.GOV.BCB.PIX...", "created_at": "2026-04-05T12:00:00Z" } 4.2 Consultar Status — GET /charge-status?id={charge_id} Headers: X-API-Key: SUA_API_KEY Resposta (200): { "id": "uuid-da-cobranca", "status": "paid", "amount": 50.00, "description": "Pedido #123", "external_reference": "pedido-123", "paid_at": "2026-04-05T12:01:30Z", "created_at": "2026-04-05T12:00:00Z" } 5. Webhook de Notificação Quando o pagamento for confirmado, enviamos um POST para a URL configurada. { "event": "charge.paid", "charge_id": "uuid-da-cobranca", "transaction_id": "uuid-da-transacao", "amount": 50.00, "paid_at": "2026-04-05T12:01:30Z" } 6. Status das Cobranças pending Aguardando pagamento do Pix paid Pagamento confirmado — valor creditado failed Pagamento falhou ou expirou cancelled Cobrança cancelada 7. Exemplos de Integração Node.js: const response = await fetch('https://wlzqnbbyznwdoqkdacxi.supabase.co/functions/ v1/public-api/create-charge', { method: 'POST', headers: { 'X-API-Key': 'SUA_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ amount: 29.90, description: 'Assinatura Premium', }), }); const data = await response.json(); console.log('Pix:', data.pix_copy_paste); Python: import requests response = requests.post( 'https://wlzqnbbyznwdoqkdacxi.supabase.co/functions/v1/public-api/create-charge', headers={'X-API-Key': 'SUA_API_KEY', 'Content-Type': 'application/json'}, json={'amount': 29.90, 'description': 'Assinatura Premium'} ) data = response.json() print('Pix:', data['pix_copy_paste']) cURL: curl -X POST 'https://wlzqnbbyznwdoqkdacxi.supabase.co/functions/v1/public-api/create-charge' \ -H 'X-API-Key: SUA_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"amount": 29.90, "description": "Assinatura Premium"}' Suporte: @BruxoPay (Telegram)