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=truenellepayment_settingsdell'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
- 200
- 401
- 403
- 404
- 500
Payment Intent creato e pagamento avviato
Response Headers
Azienda, consegna o metodo di pagamento non trovato
Response Headers
Pagamenti con Stripe non abilitati per questa azienda
Response Headers
Utente non trovato
Response Headers
Errore durante l'elaborazione del pagamento su Stripe