Cash-in (recebimento)
POST /api/pix/cash-in→ geralmentePENDINGe eventualmentepixCode(EMV).- O pagador liquida no parceiro.
- O parceiro chama a clearpago em
POST /api/webhooks/pix/cash-in(você não expõe este endpoint). Workers aplicam estados, ledger e outbox de notificação. - Seu endpoint recebe
POSTcomevent_type: pix_cash_in(assinado). Consulte o detalhe comGET /api/pix/cash-in/{id}em caso de dúvida. - Trate
PAIDcomo sucesso financeiro usual para “liberar” o pedido; respeitando a política interna (ver status).
Cash-out (por chave ou QR)
POST /api/pix/cash-outouPOST /api/pix/cash-out-qrcode→ reserva e encadeamento (outbox/despacho).- O despacho fala com o BaaS; respostas ambíguas (timeout, 5xx, EOF) podem levar a reconciliação sem liberar reserva indevidamente.
- Webhook do parceiro em
POST /api/webhooks/pix/cash-out(interno) atualiza estados; seu sistema recebepix_cash_outquando aplicável. - Confirmação de transferência: status terminal típico
CONFIRMEDno domínio documentado, após o pipeline (incluindoDISPATCHEDconforme o caso). Veja envio por chave.
Refund-in (devolução do recebimento)
- Sobre cash-in
PAID,POST /api/pix/refund-in/{id}com{id}= UUID do cash-in. - Prazo: até 89 dias após o recebimento. Parciais múltiplos permitidos; somas competem por teto.
- Webhook de parceiro com
CashInReversalamarra o resultado; seu comerciante recebepix_cash_in_reversalcom semântica de IDs específica (ver referência de webhooks).
Reversão de cash-out (devolução pelo destinatário)
- Ocorre após envio
CONFIRMEDquando o parceiro emiteCashOutReversal. - O cash-out vai a
REVERSED; há crédito no ledger. - Seu comerciante recebe
pix_cash_out_reversalcomevent.id= UUID do cash-out; monitorevalue_cents(fallback documentado no código de origem se metadados incompletos). Ver guia.
Como “os eventos chegam”
- BaaS → clearpago: webhooks internos (HMAC/timestamp, etc.); assíncrono.
- clearpago → comerciante:
Digital-Signature(ECDSA) no corpo JSON; responda 2xx rápido. - Reconciliação: preenche lacunas quando webhooks atrasam ou a rede foi ambígua.
O que o sistema integrador deve fazer
- Persistir
ideexternalIdcedo. - Tornar handlers de webhook idempotentes (mesmo evento + mesma transição pode repetir).
- Monitorar estados não terminais antigos e alinhar com reconciliação operacional.