Visão Geral
Como funciona
Toda operação financeira na BSPAY segue o mesmo padrão: autentique, execute, receba a confirmação. Não importa se é PIX, cripto ou SPEI — a interface é a mesma.
Cash-in — Receber
Autentique
POST /v2/oauth/token com suas credenciais. Token válido por 1 hora.
Crie a cobrança
POST /v2/transactions/cashin com currency e amount. BRL retorna QR Code PIX. Cripto retorna endereço de depósito. MXN retorna CLABE.
Receba o webhook
O cliente paga → BSPAY confirma → postback_url recebe o evento cashin.confirmed com saldo atualizado.
Cash-out — Enviar
Valide o destino
PIX: qualquer chave válida (CPF, CNPJ, e-mail, telefone, aleatória). Cripto: endereço on-chain na rede correta.
Execute o saque (com HMAC)
POST /v2/transactions/cashout com currency, amount, key e network (para cripto). Esta rota exige assinatura HMAC nos headers X-Signature + X-Timestamp + X-Nonce — ver Autenticação → HMAC.
Confirme a liquidação
Resposta inicial é 202 Accepted com status: pending. A confirmação chega via webhook cashout.confirmed (sucesso) ou cashout.error (falha — saldo refundado automaticamente).
Cashout, transferência interna e conversão FX exigem HMAC. Cashin, balance e listagens usam apenas Bearer token.
Ciclo de vida da transação
pending
confirmed
failed
Moedas suportadas
| Moeda | Método / Chains | Operações |
|---|---|---|
| BRL | PIX | Cash-in, Cash-out, Wallet fixa, Conversão |
| MXN | SPEI | Cash-in, Cash-out, Wallet fixa |
| USDT | Tron, Ethereum, BSC, Polygon, Arbitrum | Cash-in, Cash-out, Wallet fixa, Conversão |
| USDC | Ethereum, BSC, Polygon, Arbitrum, Base, Optimism | Cash-in, Cash-out, Wallet fixa, Conversão |
| BTC | Bitcoin | Cash-in, Cash-out, Wallet fixa, Conversão |
| ETH | Ethereum, Arbitrum, Base, Optimism | Cash-in, Cash-out, Wallet fixa, Conversão |
| SOL | Solana | Cash-in, Cash-out, Wallet fixa, Conversão |
| BNB | BSC | Cash-in, Cash-out, Wallet fixa, Conversão |
Padrão de resposta
Todos os endpoints retornam o mesmo formato:
Em caso de erro:
Detalhes sobre códigos de erro em Respostas HTTP.
