Le moduleDocumentation Index
Fetch the complete documentation index at: https://docs.colismove.com/llms.txt
Use this file to discover all available pages before exploring further.
colismove-litiges gère 3 types de litiges avec 3 modes de résolution Stripe : REFUND_FULL, REFUND_PARTIAL, REJECTED.
Machine à états litige
Sc 6 — Colis perdu (REFUND_FULL)
Le sender ou le recipient signale que le colis n’est jamais arrivé. Après investigation, l’admin tranche en faveur du sender.Module
colismove-litiges (hexagonal pur, ADR-005 Lombok ban)
Sc 7 — Contenu contesté (REFUND_PARTIAL / REJECTED)
Le recipient reçoit le colis mais le contenu est endommagé ou ne correspond pas. L’admin décide soit un refund partiel (montantBigDecimal), soit un rejet du litige (carrier reste payé).
Logique BigDecimal
DisputeService.resoudre:155-158 propage le montant BigDecimal jusqu’à Stripe.refunds.create() avec précision HALF_UP 2 décimales.
Endpoints
Sc 16 — Reverse_transfer LIVREE → litige tardif
Cas critique : le booking est passé enLIVREE, le carrier a été payé via Stripe.transfers.create(). Plus tard (jusqu’à J+30), le sender ouvre un litige.
Particularité technique
- Stripe transfer déjà effectué → utilise
transfers.createReversal()pour débiter le carrier - Si le solde Stripe carrier insuffisant → débit différé (Stripe gère la dette)
- Module :
colismove-litiges
Modes de résolution
| Mode | Action Stripe | Carrier | Sender |
|---|---|---|---|
REFUND_FULL | refunds.create(amount=full) | 0% | 100% remboursé |
REFUND_PARTIAL | refunds.create(amount=BigDecimal) | Solde restant | Montant partiel remboursé |
REJECTED | Pas d’action Stripe | 85% normal | Litige rejeté |
Tests
Modulecolismove-litiges couvert par tests d’intégration en CI continue. Pas de commit dédié — feature OK depuis la création du module.