← InicioFleetPay / API

Pagar una cuota

Parámetros, estructura de datos y respuestas del contrato versionado.

POST/carriers/parcelas-repasse/pagar
pagarParcelaRepasseBase de Pruebas: https://api.fleetpay.site/v1

Las descripciones técnicas se traducen del contrato versionado. Se conservan los identificadores y el JSON originales; se omiten los ejemplos de datos.

La orden de pago: el segundo acto del modo manual. Solo se aplica a una cuota en espera de una orden de pago (status: 5), el estado que produce liberar.

No mueve dinero de inmediato. Esta llamada pone la cuota en cola: el vencimiento pasa a ser hoy, se crea el pago y la transferencia se envía al banco en el siguiente procesamiento, normalmente en minutos. Esperar que el dinero aparezca en la cuenta del conductor en el instante de la respuesta podría llevarle a interpretar un fallo y repetir la llamada.

No acepta una fecha; omitirla es lo previsto: en modo manual, el vencimiento es el momento de esta llamada. Si incluye ocorrido_em, el campo se ignora sin aviso y el vencimiento sigue siendo hoy. No es un error: el campo pertenece a liberar y no forma parte de esta operación.

Repetir la orden es una operación sin efecto adicional: el doble clic y los reintentos no generan otro pago ni sobrescriben la fecha de la primera orden.

Autenticación

[
  {
    "oauth2": []
  },
  {
    "chaveApi": []
  }
]
La disponibilidad depende del entorno, los permisos habilitados y el proveedor. Esta referencia no ejecuta solicitudes ni recibe credenciales.

Parámetros

No hay parámetros declarados para esta operación.

Cuerpo de la Solicitud

Obligatorio

application/json

documentostringObligatorio
maxLength64
posicaointegerObligatorio
minimum1
maximum3

Respuestas

200 Respuesta HTTP

Cuota en la cola de pago (o ya estaba en ella; la llamada es idempotente)

application/json

401 Respuesta HTTP

Sin autenticación (autenticacao): credencial ausente, inválida o vencida, incluida una clave API utilizada en el entorno incorrecto. La clave de homologación no es válida en producción, ni la de producción en homologación; el mensaje de error indica el entorno esperado.

application/json

errorobjectOpcional
403 Respuesta HTTP

La credencial no tiene habilitado el ámbito operacao. Este endpoint ordena el pago; el ámbito garantiza que solo quienes pueden mover fondos lo utilicen.

application/json

errorobjectOpcional
404 Respuesta HTTP

Documento no encontrado o perteneciente a otro transportista.

application/json

errorobjectOpcional
422 Respuesta HTTP

Se rechazó la orden. El code es estable:

codeQué hacer
parcela_nao_liberadaLlame primero a liberar: la cuota todavía espera el evento.
parcela_anterior_sem_ordemOrdene primero el pago de la cuota anterior.
servico_inexistenteEl servicio de este documento todavía no existe; primero debe registrarse la finalización.
parcela_inexistenteLa regla no tiene una cuota en esta posición.
parcela_canceladaEl CT-e fue cancelado ante SEFAZ.
sem_regra_parceladaEl documento no está sujeto a una regla de cuotas.
documento_canceladoEl documento financiero fue invalidado; no hay una transferencia que pagar, aunque la cuota haya quedado abierta.

application/json

errorobjectOpcional
429 Respuesta HTTP

Límite de solicitudes excedido (limite_requisicoes). Espera el intervalo indicado en el encabezado Retry-After antes de reintentar. Puede provenir del proveedor o del límite antiabuso de FleetPay, calculado por empresa autenticada y grupo de rutas, con una ventana corta para ráfagas y otra larga para tráfico automatizado lento. Los límites son amplios deliberadamente: las integraciones reales, incluidos lotes grandes procesados de una vez, deberían quedar muy por debajo. Si tu integración alcanza un límite, contacta con FleetPay.

application/json

errorobjectOpcional
500 Respuesta HTTP

Error interno (erro_interno)

application/json

errorobjectOpcional
Definición Completa de la Operación
{
  "tags": [
    "Parcelas"
  ],
  "summary": "Pagar uma parcela",
  "operationId": "pagarParcelaRepasse",
  "description": "A ordem de pagamento — o segundo ato do modo manual. Só se aplica a parcela que está\n**aguardando ordem de pagamento** (`status: 5`), o estado em que `liberar` a deixa.\n\n**Não move dinheiro na hora.** Esta chamada coloca a parcela na fila: o vencimento passa a\nser hoje, o pagamento é criado e o repasse é enviado ao banco no processamento seguinte —\nnormalmente em minutos. Se você espera ver o valor na conta do motorista no instante da\nresposta, vai concluir que falhou e chamar de novo.\n\n**Não aceita data**, e a ausência é a regra: no modo manual o vencimento é o instante desta\nchamada. Se você mandar `ocorrido_em` junto, o campo é **ignorado em silêncio** e o\nvencimento sai hoje do mesmo jeito — não é erro, é o campo do `liberar`, que aqui não\nexiste.\n\nRepetir a ordem é **no-op**: duplo clique e retry não viram segundo pagamento, e a data da\nprimeira ordem não é reescrita.\n",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PagarParcelaRepasse"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Parcela na fila de pagamento (ou já estava — a chamada é idempotente)",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RespostaParcelaRepasse"
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Erro401"
    },
    "403": {
      "description": "Credencial sem o escopo `operacao` habilitado. Esta porta manda pagar — o escopo existe para que só quem pode mover dinheiro a acione.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Erro"
          }
        }
      }
    },
    "404": {
      "description": "Documento não encontrado, ou de outra transportadora.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Erro"
          }
        }
      }
    },
    "422": {
      "description": "A ordem foi recusada. O `code` é estável:\n\n| `code` | O que fazer |\n|---|---|\n| `parcela_nao_liberada` | Chame `liberar` antes — a parcela ainda espera o evento. |\n| `parcela_anterior_sem_ordem` | Mande pagar a parcela anterior primeiro. |\n| `servico_inexistente` | O serviço deste documento ainda não existe; a conclusão precisa vir antes. |\n| `parcela_inexistente` | A regra não tem parcela nessa posição. |\n| `parcela_cancelada` | O CT-e foi cancelado na SEFAZ. |\n| `sem_regra_parcelada` | O documento não está sob regra parcelada. |\n| `documento_cancelado` | O documento financeiro foi invalidado; não há repasse a pagar mesmo que a parcela tenha ficado aberta. |\n",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Erro"
          }
        }
      }
    },
    "429": {
      "$ref": "#/components/responses/Erro429"
    },
    "500": {
      "$ref": "#/components/responses/Erro500"
    }
  },
  "method": "POST",
  "path": "/carriers/parcelas-repasse/pagar",
  "parameters": []
}