← InícioFleetPay / API

Pagar uma parcela

Parâmetros, estrutura de dados e respostas do contrato versionado.

POST/carriers/parcelas-repasse/pagar
pagarParcelaRepasseBase de Homologação: https://api.fleetpay.site/v1

Descrições técnicas preservadas do contrato versionado. Exemplos de dados foram omitidos da cópia pública.

A ordem de pagamento — o segundo ato do modo manual. Só se aplica a parcela que está aguardando ordem de pagamento (status: 5), o estado em que liberar a deixa.

Não move dinheiro na hora. Esta chamada coloca a parcela na fila: o vencimento passa a ser hoje, o pagamento é criado e o repasse é enviado ao banco no processamento seguinte — normalmente em minutos. Se você espera ver o valor na conta do motorista no instante da resposta, vai concluir que falhou e chamar de novo.

Não aceita data, e a ausência é a regra: no modo manual o vencimento é o instante desta chamada. Se você mandar ocorrido_em junto, o campo é ignorado em silêncio e o vencimento sai hoje do mesmo jeito — não é erro, é o campo do liberar, que aqui não existe.

Repetir a ordem é no-op: duplo clique e retry não viram segundo pagamento, e a data da primeira ordem não é reescrita.

Autenticação

[
  {
    "oauth2": []
  },
  {
    "chaveApi": []
  }
]
A disponibilidade depende do ambiente, dos escopos habilitados e do provedor. Esta referência não executa chamadas nem recebe credenciais.

Parâmetros

Nenhum parâmetro declarado nesta operação.

Corpo da Requisição

Obrigatório

application/json

documentostringObrigatório
maxLength64
posicaointegerObrigatório
minimum1
maximum3

Respostas

200 Resposta HTTP

Parcela na fila de pagamento (ou já estava — a chamada é idempotente)

application/json

401 Resposta HTTP

Não autenticado (autenticacao): credencial ausente, inválida ou expirada — inclusive chave de API usada no ambiente errado. A chave de homologação não vale em produção, nem a de produção em homologação; a mensagem do erro indica o ambiente esperado.

application/json

errorobjectOpcional
403 Resposta HTTP

Credencial sem o escopo operacao habilitado. Esta porta manda pagar — o escopo existe para que só quem pode mover dinheiro a acione.

application/json

errorobjectOpcional
404 Resposta HTTP

Documento não encontrado, ou de outra transportadora.

application/json

errorobjectOpcional
422 Resposta HTTP

A ordem foi recusada. O code é estável:

codeO que fazer
parcela_nao_liberadaChame liberar antes — a parcela ainda espera o evento.
parcela_anterior_sem_ordemMande pagar a parcela anterior primeiro.
servico_inexistenteO serviço deste documento ainda não existe; a conclusão precisa vir antes.
parcela_inexistenteA regra não tem parcela nessa posição.
parcela_canceladaO CT-e foi cancelado na SEFAZ.
sem_regra_parceladaO documento não está sob regra parcelada.
documento_canceladoO documento financeiro foi invalidado; não há repasse a pagar mesmo que a parcela tenha ficado aberta.

application/json

errorobjectOpcional
429 Resposta HTTP

Limite de requisições excedido (limite_requisicoes). Aguarde o intervalo indicado no header Retry-After antes de repetir. Pode vir do provedor, repassado, ou do teto anti-abuso da própria FleetPay — contado por empresa autenticada e por grupo de rotas, com uma janela curta que pega a rajada e uma longa que pega o robô lento. Os tetos são folgados de propósito: integração real, inclusive lote grande processado de uma vez, não chega perto deles. Se a sua chegar, fale com a FleetPay.

application/json

errorobjectOpcional
500 Resposta HTTP

Erro interno (erro_interno)

application/json

errorobjectOpcional
Definição Completa da Operação
{
  "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": []
}