documentostringObrigatóriomaxLength64Parâmetros, estrutura de dados e respostas do contrato versionado.
/carriers/parcelas-repasse/pagarDescriçõ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.
[
{
"oauth2": []
},
{
"chaveApi": []
}
]Nenhum parâmetro declarado nesta operação.
Obrigatório
application/jsondocumentostringObrigatóriomaxLength64posicaointegerObrigatóriominimum1maximum3200 Resposta HTTPParcela na fila de pagamento (ou já estava — a chamada é idempotente)
401 Resposta HTTPNã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.
403 Resposta HTTPCredencial sem o escopo operacao habilitado. Esta porta manda pagar — o escopo existe para que só quem pode mover dinheiro a acione.
404 Resposta HTTPDocumento não encontrado, ou de outra transportadora.
422 Resposta HTTPA ordem foi recusada. O code é estável:
code | O que fazer |
|---|---|
parcela_nao_liberada | Chame liberar antes — a parcela ainda espera o evento. |
parcela_anterior_sem_ordem | Mande pagar a parcela anterior primeiro. |
servico_inexistente | O serviço deste documento ainda não existe; a conclusão precisa vir antes. |
parcela_inexistente | A regra não tem parcela nessa posição. |
parcela_cancelada | O CT-e foi cancelado na SEFAZ. |
sem_regra_parcelada | O documento não está sob regra parcelada. |
documento_cancelado | O documento financeiro foi invalidado; não há repasse a pagar mesmo que a parcela tenha ficado aberta. |
429 Resposta HTTPLimite 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.
{
"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": []
}