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=truenaspayment_settingsda 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 documentodelivery
Request
Responses
- 200
- 401
- 403
- 404
- 500
Payment Intent criado e pagamento iniciado
Response Headers
Empresa, entrega ou método de pagamento não encontrado
Response Headers
Pagamentos com Stripe não habilitados para esta empresa
Response Headers
Usuário não encontrado
Response Headers
Erro ao processar o pagamento no Stripe