Fluxo
POST /api/pix/cash-incomtransactione, opcionalmente,payer.- Resposta
201comid(UUID), geralmentePENDINGe, segenerateQrCode: true,pixCode(string EMV). - O pagador paga; o parceiro notifica; após processamento, você recebe webhook
pix_cash_in(se registrado) e/ou acompanhaGET /api/pix/cash-in/{id}.
Request (exemplo)
Campos principais de transaction
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
value | number | Sim | Valor em BRL > 0. |
externalId | string | Sim | Seu identificador único. |
description | string | Não | Texto de cobrança. |
expirationTime | int | Sim | Segundos até expirar o QR (ex.: 3600). |
generateQrCode | bool | Não | true para receber pixCode (EMV). |
Response 201 (principais)
| Campo | Descrição |
|---|---|
id | UUID do cash-in — persista |
status | Geralmente PENDING na criação. |
pixCode | String EMV quando generateQrCode: true. |
expirationDate | Validade do QR. |
providerTransactionId | Referência do parceiro. |
Dinheiro: o request é em reais; o webhook ao comerciante traz, em geral, value_cents (centavos). Confira a convenção em Convenções.
PENDING e PAID
PENDING: ainda não liquíduo. Não use como gatilho de liberação de produto, salvo regra de negócio muito explícita (não recomendada).PAID: recebimento confirmado no domínio. Na prática de integração, tratePAIDcomo sucesso financeiro para liberar o pedido; monitorePENDINGantigo e estados não terminais (status).
QR Code EMV
pixCode segue padrão EMV para Pix (payload copia e cola). A expiração segue expirationTime (segundos) e a data retornada em expirationDate.
Quando o pedido “está pago”
- Critério usual: status
PAID(consulta ou cadeia de notificação) + coerência com o ledger se você audita por saldo. PROVIDER_RESULT_UNKNOWNeRECONCILIATION_REQUIREDnão são “pedido pago” até convirjam paraPAIDouFAILEDcom política clara. Veja reconciliação.