Ir al contenido
I InopinoPay API PixVersión 3.40 · actualizada el Páginas

Disputas

El banco del pagador puede disputar un Pix recibido. El valor disputado queda retenido de su saldo mientras la disputa está en curso. Sin saldo suficiente, la retención comienza parcial y crece con los siguientes créditos hasta el valor disputado. Si el Pix no se convirtió en saldo, porque ya está volviendo al pagador, no se retiene nada. Si otra disputa del mismo Pix ya retiene su valor, no se retiene nada más. En estos casos semBloqueio dice el motivo. Usted recibe med.infracao.criada cuando se abre y med.infracao.atualizada cuando cambia.

Listar #

GET /v2/ex/infracoes

Alcance: ex.med.read.

GET /v2/ex/infracoes
→ 200
{
  "infracoes": [
    {
      "idInfracao": "01J1ZK7M9QW3ERT5TY6UI8OPQR",
      "endToEndId": "E12345678202609181200000000000001",
      "tipo": "FRAUDE",
      "valor": "100.00",
      "situacao": "ABERTA",
      "relato": "pagador alega nao reconhecer o pagamento",
      "prazoFinalizacao": "2026-09-25T12:00:00Z",
      "bloqueioId": "med:01J1ZK7M9QW3ERT5TY6UI8OPQR",
      "criadoEm": "2026-09-18T12:00:00Z"
    }
  ]
}
Parámetro Tipo Descripción
situacao string Filtra por ABERTA, EM_DEFESA, ACATADA o REJEITADA. Acepta varias, separadas por comas.
limite, cursor entero, string Con uno de los dos, la lista viene por página, de la más reciente a la más antigua, con cursor. Sin ellos, viene completa, las abiertas primero.
de, ate string Fechas AAAA-MM-DD, inclusivas, por la apertura de la disputa en horario de Brasilia. Una de las dos sola también vale.
origem string PIX o CARTAO.
busca string El endToEndId, la referencia de la venta o el idInfracao, exacto.

Cuando el mismo Pix tiene más de una disputa, la que fue rechazada sin retener nada es un aviso repetido: no aparece en la lista ni en el resumen, y sigue disponible por su idInfracao.

GET /v2/ex/infracoes/{id} devuelve una disputa.

Campo Tipo Descripción
situacao string ABERTA, EM_DEFESA, ACATADA cuando el pagador ganó y el valor vuelve a él, REJEITADA cuando usted ganó y el valor vuelve a su disponible.
valor string El valor disputado.
bloqueioId string La retención correspondiente, en GET /v2/ex/bloqueios. No viene cuando no se retiene nada.
semBloqueio string Por qué no hubo retención o es parcial. Solo viene en esos casos.
valorADescoberto string Solo aparece cuando la retención no cubrió el valor disputado: la diferencia, que usted pasa a debernos y que se suma en aRecuperar del saldo.
prazoFinalizacao string Plazo de la disputa. Cuando capacidades.med es false, el desenlace puede llegar después de él, en med.infracao.atualizada.

La defensa depende de la cuenta. Lea capacidades.med en GET /v2/ex/config: cuando es false, la defensa la hace la institución ante el proveedor de la cuenta, y usted la sigue por aquí. Cuando es true, consulte la referencia interna.

Resumen #

GET /v2/ex/infracoes/resumo

Alcance: ex.med.read. Acepta de, ate, origem y busca, como la lista.

GET /v2/ex/infracoes/resumo?de=2026-10-01&ate=2026-10-15
→ 200
{
  "abertas": { "quantidade": 3, "valor": "45.00" },
  "acatadas": { "quantidade": 1, "valor": "20.00" },
  "rejeitadas": { "quantidade": 2, "valor": "30.00" },
  "total": { "quantidade": 6, "valor": "95.00" },
  "retidoAgora": "45.00"
}
Campo Tipo Descripción
abertas objeto Las disputas en ABERTA o EM_DEFESA: quantidade y el valor disputado.
acatadas objeto Las que volvieron al pagador.
rejeitadas objeto Las que volvieron a su disponible.
total objeto Todas las de la selección.
retidoAgora string Lo que está retenido por disputas ahora, fuera de la selección.

El valor de cada grupo cuenta cada Pix una vez, hasta el valor del Pix. La quantidade cuenta las disputas.

La disputa en su saldo #

El disponible se debita una vez, cuando el valor se retiene. El desenlace solo decide adónde va lo retenido. Para no debitar dos veces, siga el total retenido así:

Evento Qué pasa En su control
saldo.bloqueado con tipo MED valor sale del disponible y queda retenido. Disponible menos valor, retenido más valor.
saldo.bloqueio_ampliado Una parte más, valor, sale del disponible, o de la garantía cuando viene daGarantia. Disponible menos (valor menos daGarantia), retenido más valor.
saldo.desbloqueado con desfecho LIBERADO Usted ganó: lo retenido vuelve al disponible. Retenido menos valor, disponible más valor.
devolucao.concluida con tipo MED y desfecho DEVOLVIDO El pagador ganó: valor salió de lo retenido hacia él, y liberado, cuando viene, volvió al disponible. Retenido menos valor menos liberado, disponible más liberado.
med.infracao.criada, med.infracao.atualizada No se mueve dinero: describen la disputa y su situación. Nada.

El devolucao.concluida de la disputa trae id (el de la retención, el mismo del saldo.bloqueado), tipo, valor, desfecho, endToEndId del Pix disputado e idInfracao. No trae natureza: identifique la disputa por el tipo MED, por el id de la retención o por el idInfracao.

Controle lo retenido por el total, y no retención por retención: cuando el mismo Pix tiene más de una disputa, el valor retenido pasa de una a otra sin tocar su disponible. El extracto muestra cada retención como BLOQUEIO y cada vuelta al disponible como DESBLOQUEIO, y GET /v2/ex/bloqueios muestra lo que cada una retiene ahora.

Si el pagador recibió de vuelta más de lo que estaba retenido, la diferencia se suma en aRecuperar del saldo y no sale del disponible por sí sola.

Disputar uno de sus retiros #

Si uno de sus retiros fue a un estafador, por estafa, toma de cuenta, coacción o acceso fraudulento, pida su disputa. Quien la abre es la institución, en la institución de donde salió el Pix. El pedido no mueve dinero: lo que vuelva entra como la devolución del retiro, en payout.devolucao_recebida.

PUT /v2/ex/pedidos-de-med/{id}

Alcance: ex.med.write. El id es suyo, de 26 a 35 letras o dígitos.

PUT /v2/ex/pedidos-de-med/MED01J1ZK7M9QW3ERT5TY6UI8O
{
  "idEnvio": "SAQ04J1ZK7M9QW3ERT5TY6UI8O",
  "motivo": "GOLPE",
  "descricao": "Ligaram dizendo ser do banco e pediram a transferência."
}
→ 201
{
  "id": "MED01J1ZK7M9QW3ERT5TY6UI8O",
  "idEnvio": "SAQ04J1ZK7M9QW3ERT5TY6UI8O",
  "endToEndId": "E12345678202609181200000000000004",
  "motivo": "GOLPE",
  "descricao": "Ligaram dizendo ser do banco e pediram a transferência.",
  "situacao": "PEDIDO",
  "valor": "30.00",
  "valorRecuperado": "0.00",
  "prazoEm": "2026-12-07T12:00:00Z",
  "criadoEm": "2026-09-18T12:00:00Z"
}
Campo Tipo Obligatorio Descripción
idEnvio string sí El retiro, ya realizado, que salió hace hasta 80 días.
motivo string sí GOLPE, INVASAO_DE_CONTA, COERCAO, ACESSO_FRAUDULENTO o OUTRA_FRAUDE.
descricao string sí Lo que pasó, en hasta 2000 caracteres.

Un desacuerdo comercial, como el producto que no llegó o no gustó, y la clave escrita mal no son caso de disputa, y la institución rechaza el pedido. La repetición con el mismo cuerpo responde 200. Cada retiro tiene un pedido en curso a la vez.

Campo Tipo Descripción
situacao string PEDIDO, ABERTO_NA_NOMINAL cuando la institución la abrió, RECUSADO con el motivo en resposta, DEVOLVIDO o NAO_DEVOLVIDO. Después de RECUSADO puede pedir de nuevo, con otro id.
protocolo string El número de la disputa en la institución de donde salió el Pix. Viene después de abierta.
valorRecuperado string Lo que volvió del retiro después del pedido.
prazoEm string Hasta cuándo la disputa todavía se puede abrir.

GET /v2/ex/pedidos-de-med/{id} devuelve un pedido, y GET /v2/ex/pedidos-de-med lista desde el más nuevo, por página, con idEnvio, situacao, limite y cursor. Alcance: ex.med.read. Usted recibe payout.med_pedido, payout.med_aberto, payout.med_recusado y payout.med_encerrado, con las claves del pedido.

Errores #

Estado title Cuándo
400 situacao_invalida Filtro de situación fuera de la lista.
400 limite_invalido limite fuera de 1 a 200.
400 cursor_invalido Cursor mal formado.
400 periodo_invalido de o ate fuera de AAAA-MM-DD, o de después de ate.
400 filtro_invalido origem distinto de PIX y CARTAO.
400 motivo_do_med_invalido motivo fuera de la lista, en el pedido sobre un retiro.
400 descricao_obrigatoria Pedido sobre un retiro sin descricao.
400 campo_desconhecido Pedido sobre un retiro con un campo fuera de idEnvio, motivo y descricao.
404 nao_encontrado La disputa, el pedido o el retiro no existe en esta cuenta.
409 med_ja_pedido El retiro ya tiene un pedido en curso. Su id viene en pedidoDoSaque.
409 id_duplicado El mismo id con otro cuerpo.
422 saque_nao_liquidado El retiro todavía no fue realizado.
422 prazo_do_med_vencido El retiro salió hace más de 80 días.
422 saque_ja_devolvido El valor del retiro ya volvió entero.