Boleto
Gera um boleto bancário (ou boleto híbrido com PIX) e retorna a linha digitável, código de barras e URL do PDF. O valor é creditado no seu saldo assim que o boleto é pago. Você recebe o webhook cashin.confirmed na postback_url (ver Webhooks).
Dois modos suportados:
BOLETO— boleto puroPIX_BOLETO— híbrido: o cliente pode pagar via QR Code PIX ou via boleto bancário (mesma transação, qualquer um dos dois meios liquida)
O endpoint legado
/v2/boletocontinua ativo com schema v1 (blocoboletoseparado). Novos clientes devem usar/v2/transactions/boleto.
amountnumberobrigatório1.00. methodstringBOLETO (padrão), PIX_BOLETO. payer.namestringobrigatóriopayer.documentstringobrigatóriopayer.emailstringobrigatóriopayer.phonestringobrigatóriopayer.address.addressstringobrigatóriopayer.address.numberstringpayer.address.complementstringpayer.address.districtstringobrigatóriopayer.address.citystringobrigatóriopayer.address.zipCodestringobrigatóriopayer.address.ufstringobrigatórioSP). due_datestringYYYY-MM-DD. Default: hoje + 3 dias. descriptionstringexternal_idstringexternal_id retorna a mesma transação. postback_urlstringcashin.confirmed. Sobrescreve o webhook default da credencial. splitarrayRate limit
60 reqs/min por credencial.
Erros
| Código | HTTP | Descrição |
|---|---|---|
MISSING_REQUIRED_FIELD | 400 | Campo obrigatório ausente (amount, payer.*) |
INVALID_AMOUNT | 422 | Valor inválido ou abaixo do mínimo |
INVALID_DOCUMENT | 422 | CPF/CNPJ do pagador inválido |
EXCEEDS_MAX_LIMIT | 409 | Valor acima do máximo permitido — details.max_cashin |
LIMIT_EXCEEDED | 409 | Limite diário atingido |
CASHIN_BLOCKED | 403 | Cashin bloqueado pela administração |
ACCOUNT_UNDER_REVIEW | 403 | Conta em revisão de compliance |
PERMISSION_DENIED | 403 | Credencial sem permissão can_cashin |
PROVIDER_ERROR | 502 | Erro no provedor do boleto — retryable |
Boleto puro
Híbrido PIX + Boleto — mesmo payload, mas method: "PIX_BOLETO". O response inclui qrcode dentro de payment_info:
registration: pending_registration: o boleto foi aceito no gateway mas ainda não foi registrado no banco. A linha digitável/barcode chega via webhookcashin.boleto_registeredquando o registro conclui (normalmente em < 60s). Esse status é raro — a maioria dos boletos é retornada járegistered.
Endpoint legado — /v2/boleto (schema v1)
Mesmo payload do endpoint v2. Retorna o schema legado, com bloco boleto separado em vez de payment_info:
Os dois endpoints criam a mesma transação (mesma
transaction_id), mesmo gateway, mesmo webhook. A única diferença é o schema do response. Clientes integrados ao/v2/boletocontinuam funcionando sem alteração.
