Passa al contenuto principale

Process payment for a delivery

POST 

/company/payment/pay

Genera un Payment Intent di Stripe per pagare l'importo di una consegna specifica utilizzando il metodo di pagamento predefinito dell'azienda.

Obiettivo

Avviare l'addebito all'azienda per una consegna assegnata, includendo la commissione della piattaforma, e notificare entrambe le parti via email.

Casi d'Uso

  • L'azienda paga per una consegna assegnata tramite asta
  • Liquidazione automatica delle consegne completate
  • Elaborazione dei pagamenti tra aziende e trasportatori

Flusso di Validazione

flowchart TD
A[Ricevi Richiesta - serviceCode] --> B{Utente autenticato?}
B -->|No| C[404 USER_NOT_FOUND]
B -->|Sì| D{Azienda trovata?}
D -->|No| E[401 CIA_NOT_FOUND]
D -->|Sì| F{withStripe abilitato?}
F -->|No| G[403 STRIPE_PAYMENTS_DISABLED]
F -->|Sì| H{default_payment_method impostato?}
H -->|No| I[401 PAYMENT_METHOD_NOT_FOUND]
H -->|Sì| J{Consegna trovata?}
J -->|No| K[401 DELIVERY_NOT_FOUND]
J -->|Sì| L[Calcola importo + commissione piattaforma]
L --> M[Genera Payment Intent in Stripe]
M --> N[Salva payment_intent nella consegna]
N --> O[Invia email a entrambe le parti]
O --> P[200 success: true]

Note

  • Richiede autenticazione JWT (bearerAuth)
  • Richiede withStripe=true nelle payment_settings dell'azienda
  • Richiede metodo di pagamento predefinito (default_payment_method) configurato
  • La commissione della piattaforma si ottiene da Settings (default 3%)
  • Invia email all'azienda e al trasportatore (trucker_cia)
  • L'ID del payment_intent

Request

Responses

Payment Intent creato e pagamento avviato

Response Headers