Aller au contenu principal

Process payment for a delivery

POST 

/company/payment/pay

Génère un Payment Intent Stripe pour payer le montant d'une livraison spécifique en utilisant le mode de paiement par défaut de l'entreprise.

Objectif

Initier le prélèvement auprès de l'entreprise pour une livraison attribuée, incluant la commission de la plateforme, et notifier les deux parties par email.

Cas d'utilisation

  • L'entreprise paie pour une livraison attribuée via une enchère
  • Règlement automatique des livraisons complétées
  • Traitement des paiements entre entreprises et transporteurs

Flux de validation

flowchart TD
A[Reçoit la requête - serviceCode] --> B{Utilisateur authentifié ?}
B -->|Non| C[404 USER_NOT_FOUND]
B -->|Oui| D{Entreprise trouvée ?}
D -->|Non| E[401 CIA_NOT_FOUND]
D -->|Oui| F{withStripe activé ?}
F -->|Non| G[403 STRIPE_PAYMENTS_DISABLED]
F -->|Oui| H{default_payment_method défini ?}
H -->|Non| I[401 PAYMENT_METHOD_NOT_FOUND]
H -->|Oui| J{Livraison trouvée ?}
J -->|Non| K[401 DELIVERY_NOT_FOUND]
J -->|Oui| L[Calculer montant + frais plateforme]
L --> M[Générer Payment Intent dans Stripe]
M --> N[Sauvegarder payment_intent dans la livraison]
N --> O[Envoyer les emails aux deux parties]
O --> P[200 success: true]

Notes

  • Requiert une authentification JWT (bearerAuth)
  • Requiert withStripe=true dans les payment_settings de l'entreprise
  • Requiert un mode de paiement par défaut (default_payment_method) configuré
  • Les frais de plateforme sont obtenus depuis Settings (par défaut 3%)
  • Envoie des emails à l'entreprise et au transporteur (trucker_cia)
  • L'ID du payment_intent est sauve

Request

Responses

Payment Intent créé et paiement initié

Response Headers