Aller au contenu

Échecs, avenants et remboursements

Quand Stripe prévient que… Effet
Un prélèvement a échoué Le paiement passe en échec et l’équipe, le client et le courtier sont prévenus.
Un remboursement a été fait Rapproche un remboursement fait directement dans le Dashboard Stripe.
Le client conteste un paiement, puis la contestation est tranchée Enregistre le litige. Un litige perdu marque le paiement comme contesté et annule la police.
L’abonnement est supprimé Passe en échec les paiements en attente et en cours, alerte Slack, n’annule jamais la police.

Le déroulé complet, avec les emails et les relances, est dans le flux Échecs de paiement et relances.

  • La demande revient à « chiffrée » seulement si elle est en attente de paiement et qu’aucun autre paiement n’est ouvert. Les renouvellements ne touchent jamais le statut de la demande.
  • Chaque relance part au plus une fois par jour et par étape (l’envoi est mémorisé sur le paiement). Le lien des relances J+3 et J+14 est le lien de paiement signé (30 jours) ; le lien de récupération (14 jours) ouvre une page de changement de carte sur l’abonnement existant, jamais un second abonnement.
  • La récupération cible les paiements de renouvellement en échec depuis 7 jours, dont l’abonnement est actif ou en retard de paiement et la police active ou en attente.
  • Avenant. Le service d’avenant recalcule la prime sur le nouveau chiffre d’affaires et facture la différence au prorata. Un écart positif est prélevé directement sur le moyen de paiement du client, hors page de paiement, avec une clé unique par période (un nouvel essai ne prélève jamais deux fois) ; seul un prélèvement confirmé « réussi » compte. Un prélèvement SEPA ou une authentification forte (3D Secure) encore en attente lève une erreur critique et laisse la période en attente de rapprochement, sans référence enregistrée. Un écart négatif rembourse les paiements encaissés, du plus récent au plus ancien. La confirmation (période, paiement, ligne d’avenant du bordereau) forme une seule opération : tout passe ou rien. Le paiement d’avenant enregistre la méthode réellement utilisée par Stripe (SEPA, carte, sinon autre), lue sur le prélèvement. Pourquoi : un prélèvement encore en cours a été traité comme un succès et a créé une période, une commission et une ligne de bordereau pour de l’argent jamais reçu.
  • Remboursement. Le service de remboursement réserve d’abord la ligne de remboursement sous verrou, appelle Stripe avec une clé unique par remboursement, puis la complète. Un nouvel essai retrouve d’abord le remboursement chez Stripe grâce aux informations jointes à la demande. Le montant est plafonné à ce qui reste remboursable ; seuls les paiements payés ou partiellement remboursés sont éligibles.
  • Un remboursement ou un litige perdu déclenche la reprise de commission, voir Commissions et bordereau.
  • app/Services/PaymentService.php, PaymentRefundService.php, EndorsementService.php
  • app/Http/Controllers/StripeWebhookController.php, routes/console.php (relances)
Terme de la page Identifiant technique
Prélèvement échoué invoice.payment_failed
Remboursement fait dans Stripe charge.refunded
Litige ouvert, tranché charge.dispute.created, charge.dispute.closed
Abonnement supprimé customer.subscription.deleted
Paiement en échec, contesté failed, disputed
Demande chiffrée, en attente de paiement priced, payment_pending
Annonce d’échec PaymentFailed
Récupération des échecs (J+7, 09:45) payments:recover-failed
Relance des paiements en attente (J+3, J+14, 09:30) payments:remind-pending
Relances mémorisées sur le paiement psp_data.reminders
Service d’avenant, de remboursement EndorsementService::endorse, PaymentRefundService::refund
Clés uniques endorsement-charge-{période}, payment-refund-{id}
Ligne de remboursement PaymentRefund
  • Aucune question ouverte propre à cette page : les réglages Stripe et le SEPA en production sont dans Paiements.