Visão Geral
O payin converte BRL (via PIX) em USDC/USDT e envia para uma carteira cripto. Pré-requisito: ter uma carteira criada (/exchange/wallets). Fluxo:
- Criar cotação (
POST /exchange/quote) - Gerar o pagamento PIX (
POST /exchange/payment) - Acompanhar liquidação e webhooks (
crypto.payin.*)
X-API-Key.
1. Criar Cotação
Endpoint:POST /exchange/quoteEntrada (conceito):
network: ethereum, tron, polygon, polygon_amoytoken: USDC ou USDTrequest_amount: valor usado no cálculoaddress: carteira de destinocurrency_type:sender(valor que você envia em BRL) oureceiver(valor alvo em cripto)
quotation/commercial_quotation: taxas aplicadasreceiver_amount/sender_amount: valores finais (BRL/cripto)quote_id/payin_quote_id: identificador da cotaçãoexpires_at: validade (5 minutos). Crie nova cotação após expirar.
2. Criar Pagamento PIX
Endpoint:POST /exchange/paymentEntrada (conceito):
quote_id: cotação válida (não expirada)
pix_code: código copia-e-colatransaction_id: transação internastatus: inicialprocessing
3. Acompanhar Liquidação (Webhooks)
Use os webhookscrypto.payin.new, crypto.payin.updated, crypto.payin.completed para acompanhar:
- Confirmação do PIX
- Progresso on-chain
- Conclusão e envio da cripto
- Implemente idempotência por
transaction_id+external_id(se usado). - Responda 200 OK rapidamente aos webhooks para evitar reentregas.
Boas Práticas
- Reutilize a mesma cotação apenas enquanto estiver válida (
expires_at≈ 5 minutos). - Mantenha
networketokenconsistentes com a carteira informada. - Logue
quote_id,transaction_ide IDs de webhook para auditoria. - Trate
currency_type:sender= valor em BRL enviado;receiver= valor alvo em cripto.
Referências rápidas
- Cotação:
/exchange/quote - Pagamento:
/exchange/payment - Webhooks de payin:
crypto.payin.* - Carteira cripto:
/exchange/wallets
