Pular para o conteúdo principal

Process payment for a delivery

POST 

/company/payment/pay

Gera um Payment Intent do Stripe para pagar o valor de uma entrega específica usando o método de pagamento padrão da empresa.

Objetivo

Iniciar a cobrança à empresa por uma entrega adjudicada, incluindo a comissão da plataforma, e notificar ambas as partes por e-mail.

Casos de Uso

  • Empresa paga por uma entrega adjudicada por meio de leilão
  • Liquidação automática de entregas concluídas
  • Processamento de pagamentos entre empresas e transportadoras

Fluxo de Validação

flowchart TD
A[Receber Solicitação - serviceCode] --> B{Usuário autenticado?}
B -->|Não| C[404 USER_NOT_FOUND]
B -->|Sim| D{Empresa encontrada?}
D -->|Não| E[401 CIA_NOT_FOUND]
D -->|Sim| F{withStripe habilitado?}
F -->|Não| G[403 STRIPE_PAYMENTS_DISABLED]
F -->|Sim| H{default_payment_method definido?}
H -->|Não| I[401 PAYMENT_METHOD_NOT_FOUND]
H -->|Sim| J{Entrega encontrada?}
J -->|Não| K[401 DELIVERY_NOT_FOUND]
J -->|Sim| L[Calcular valor + taxa da plataforma]
L --> M[Gerar Payment Intent no Stripe]
M --> N[Salvar payment_intent na entrega]
N --> O[Enviar e-mails para ambas as partes]
O --> P[200 success: true]

Notas

  • Requer autenticação JWT (bearerAuth)
  • Requer withStripe=true nas payment_settings da empresa
  • Requer método de pagamento padrão (default_payment_method) configurado
  • A taxa da plataforma é obtida de Settings (padrão 3%)
  • Envia e-mails para a empresa e para a transportadora (trucker_cia)
  • O ID do payment_intent é salvo no documento delivery

Request

Responses

Payment Intent criado e pagamento iniciado

Response Headers