Clustraly
Boutique e-commerce

Remboursements Stripe, complets et partiels : remboursez le bon montant, sans jamais rembourser deux fois

Remboursements Stripe complets et partiels (/admin/shop/orders/{id}/refund) une fonctionnalité du module Boutique e-commerce de Clustraly. Les remboursements Stripe complets et partiels émettent, depuis /admin/shop/orders/{id}/refund, un vrai remboursement contre le payment_intent, avec avoir légal, re-stock et protection anti-double-remboursement.

Émettez un vrai remboursement Stripe tout le solde ou juste une part directement depuis la commande. L'avoir légal, le re-stock et la notification client suivent automatiquement, à l'abri de tout double débit.

Contrôle du remboursement

Remboursez le bon montant, à la commande près

Depuis la fiche commande, vous décidez : rembourser le solde complet ou un montant partiel. Laissez le champ vide pour couvrir tout ce qui reste remboursable, ou saisissez un montant toujours validé sous le remboursable restant.

  • Remboursement complet en un geste
  • Montant partiel plafonné au remboursable restant
  • Action depuis /admin/shop/orders/{id}/refund
  • Réservé à la permission shop.orders
Vrai remboursement Stripe

Un remboursement réel, pas un simple changement de statut

L'action émet un remboursement Stripe authentique contre le payment_intent de la commande. L'argent revient réellement à l'acheteur ; la commande n'est pas seulement estampillée « remboursée » dans le CMS.

  • Remboursement émis contre le payment_intent
  • Complet = solde remboursable restant
  • Partiel validé ≤ montant remboursable
Garde-fous

Jamais deux fois le même remboursement

Une clé d'idempotence liée à la position cumulée déjà remboursée neutralise les doubles soumissions. La commande bascule atomiquement de payée ou expédiée vers remboursée, à l'abri de la course entre votre action et le webhook Stripe.

  • Clé d'idempotence sur la position cumulée remboursée
  • Transition atomique paid/fulfilled → refunded
  • Course admin/webhook sécurisée via applyRefund partagé
Comptabilité et stock

Avoir légal numéroté et stock recalé, automatiquement

Sur un remboursement complet, un numéro d'avoir séquentiel sans trou est alloué. Les articles physiques sont remis en stock une seule fois, et le total remboursé cumulé est suivi commande par commande.

  • Avoir (credit note) gapless sur remboursement complet
  • Re-stock des articles physiques une seule fois
  • Suivi de refunded_total, refunded_at et stripe_refund_id
Transparence client et traçabilité

Le client prévenu, chaque geste tracé

Un email de confirmation de remboursement part vers l'acheteur, avec le lien vers son avoir. Chaque remboursement écrit une entrée d'audit, pour une trace exploitable et réconciliée avec le webhook charge.refunded.

  • Email de confirmation de remboursement (lien avoir)
  • Entrée d'audit écrite à chaque remboursement
  • Réconciliation avec le webhook charge.refunded
Cas d'usage et refus

Des remboursements légitimes, uniquement

Geste commercial, article défectueux, correction partielle : vous couvrez aussi bien le complet que le partiel répété. Le système refuse tout remboursement sur une commande jamais payée, annulée, échouée ou déjà intégralement remboursée.

  • Refus si jamais payée, annulée ou échouée
  • Refus si déjà intégralement remboursée
  • Partiels cumulables jusqu'au solde de la commande
Pourquoi ça compte

Vous décidez le montant, la boutique sécurise le reste

Vous fixez le remboursement, complet ou partiel, et déclenchez ; le CMS exécute le vrai remboursement Stripe, alloue l'avoir gapless, recale le stock physique et prévient le client sans jamais rembourser deux fois.

FAQ

Questions fréquentes

Puis-je faire plusieurs remboursements partiels sur la même commande ?
Oui. Chaque partiel est validé sous le montant encore remboursable et s'additionne au total remboursé cumulé, jusqu'au solde de la commande.
Un avoir est-il généré à chaque remboursement ?
Un numéro d'avoir séquentiel sans trou est alloué sur un remboursement complet. L'avoir est ensuite consultable et imprimable côté client via le lien envoyé par email.
Que se passe-t-il si je valide deux fois par erreur ?
La clé d'idempotence liée à la position déjà remboursée neutralise la double soumission : aucun double remboursement n'est émis vers Stripe.
Le stock physique est-il remis à jour au remboursement ?
Oui. Les articles physiques d'une commande remboursée intégralement sont remis en stock une seule fois, sans double comptage.
Prêt à commencer ?

Remboursez proprement, sans risque de double débit

Complet ou partiel, chaque remboursement est un vrai geste Stripe : avoir légal numéroté sans trou, stock physique recalé, client notifié et entrée d'audit écrite. Vous gardez le contrôle du montant, la boutique garantit la cohérence comptable même face à la course entre votre action et le webhook.