📋 Changelog

Historique des mises à jour

Suivez l'évolution de nos plugins et découvrez les dernières améliorations.

← Tous les plugins
💳

Paiement Différé for Listeo

Dernière version: v2.0.2
v2.0.2 ✨ Dernière 📅 02 mars 2026
[2.0.2] - 2026-03-02

### 🐛 Critical Fix: Stripe InvalidRequest "source amount exceeded"

---

#### 🇫🇷 Français

**Problème corrigé**
- Erreur Stripe : `Transfers using this transaction as a source must not exceed the source amount of €X`
- Survenait lors du transfert différé vers le vendeur sur les commandes avec acompte (LPP)

**Cause racine identifiée**
- Le plugin recalculait la commission AU MOMENT DU TRANSFERT via `apply_filters('listeo_commission_rate')`
- Le plugin SFL (Subscription for Listeo) intercepte ce filtre et retourne le taux du package actuel
- Exemple : package "Basic" = 10% méthode "add" → calcul : `3.30 / 1.10 = 3.00€` à transférer
- Or la commission correcte (calculée à la réservation) était 0.66€ → vendeur = 2.64€
- Résultat : le plugin essayait d'envoyer **3.00€** alors que seuls **2.64€** sont dus au vendeur

**Correction apportée**
- Dans `process_deferred_payout()` : lecture de la commission STOCKÉE en base (`wp_listeo_core_commissions`) au lieu de la recalculer avec les filtres
- La commission DB (calculée à la réservation) est la valeur de référence fiable
- Fallback vers le recalcul uniquement si aucune commission n'est trouvée en base

---

#### 🇬🇧 English

**Bug fixed**
- Stripe error: `Transfers using this transaction as a source must not exceed the source amount of €X`
- Occurred during deferred transfers to vendors on deposit orders (LPP)

**Root cause identified**
- The plugin was recalculating the commission AT TRANSFER TIME via `apply_filters('listeo_commission_rate')`
- The SFL plugin (Subscription for Listeo) hooks into this filter and returns the rate from the vendor's current active package
- Example: "Basic" package = 10% "add" method → calculation: `3.30 / 1.10 = 3.00€` to transfer
- But the correct commission (calculated at booking time) was 0.66€ → vendor earning = 2.64€
- Result: the plugin was attempting to send **3.00€** when only **2.64€** is owed to the vendor

**Fix applied**
- In `process_deferred_payout()`: the commission is now read from the database (`wp_listeo_core_commissions`) instead of being recalculated through WordPress filters
- The DB commission (calculated at booking creation) is the reliable reference value
- Falls back to recalculation only if no commission record is found in the database

---

## [2.0.1] - 2026-01-17

### 🌐 Loco Translate Compatibility & Translations

---

#### 🇫🇷 Français

**🔍 Détection dynamique des langues**
- La liste des langues dans les paramètres scanne automatiquement les fichiers `.mo`
- Détection dans le dossier `languages/` du plugin
- Détection dans le dossier global WordPress (`wp-content/languages/plugins/`)
- Nouvelles langues ajoutées avec Loco Translate apparaissent automatiquement

**📂 Fichier POT régénéré**
- 851 chaînes de traduction extraites
- Compatibilité améliorée avec les éditeurs de traduction

**📝 Documentation**
- Nouvelle section "Traductions & Loco Translate" ajoutée (Section 9)
- Instructions détaillées pour ajouter de nouvelles langues
- Structure des fichiers de traduction expliquée

---

#### 🇬🇧 English

**🔍 Dynamic language detection**
- The language list in settings now automatically scans available `.mo` files
- Detection in the plugin's `languages/` folder
- Detection in the global WordPress folder (`wp-content/languages/plugins/`)
- New languages added via Loco Translate appear automatically

**📂 POT file regenerated**
- 851 translation strings extracted
- Improved compatibility with translation editors

**📝 Documentation**
- New section "Translations & Loco Translate" added (Section 9)
- Detailed instructions for adding new languages
- Translation file structure explained
v2.0.0 📅 04 janvier 2026
[2.0.0] - 2025-01-04

### Améliorations
- Mise à jour de la documentation
- Optimisation des performances du cron

---

## [1.0.0] - 2024-12-01

### 🎉 Version initiale

#### 💳 Système de Paiement Différé
- Blocage automatique du transfert immédiat vers le vendeur
- Interception du webhook Stripe AVANT Listeo Core (priorité 1 vs 9)
- Rétention des fonds sur le compte Stripe admin jusqu'à la fin de réservation
- Protection complète contre les fraudes et litiges
- Possibilité de remboursement à tout moment tant que les fonds ne sont pas transférés

#### ⏰ Configuration du Délai
- Délai configurable de 0 à 90 jours après la fin de réservation
- Calcul automatique de la date de transfert prévue
- Affichage clair du statut dans le tableau de bord

#### 🔄 Cron Automatique
- Traitement automatique des transferts en attente
- Intervalle configurable (minimum 1 heure, recommandé 12 heures)
- Affichage de la prochaine exécution programmée
- Exécution manuelle disponible via le bouton "Exécuter maintenant"
- Possibilité d'exécuter le transfert d'une seule commande individuellement

#### 📊 Tableau de Bord Complet
- Vue d'ensemble des statistiques (commandes en attente, montant total bloqué)
- État du système (licence, activation, dépendances)
- Liste des commandes en attente avec date de transfert prévue
- Indicateurs de statut visuels :
- 🔵 En cours (réservation en cours)
- 🟡 Délai (réservation terminée, délai en attente)
- 🟢 Prêt (prêt pour transfert)
- 🟣 Transféré (transfert effectué)
- Derniers transferts avec historique récent

#### 📜 Historique des Transferts
- Journalisation complète de tous les transferts
- Logs des tentatives échouées avec messages d'erreur détaillés
- Logs système (info, warnings)
- Affichage des IDs de transfert Stripe pour vérification
- Possibilité de supprimer les logs inutiles

#### 📧 Notifications par Email
- Email de succès au vendeur lors du transfert
- Email d'échec au vendeur ET à l'admin en cas de problème
- Template professionnel utilisant les paramètres WooCommerce
- Prévisualisation des emails avant envoi
- Email de test disponible
- Variables dynamiques dans les sujets :
- `{booking_id}` - Numéro de réservation
- `{order_id}` - Numéro de commande
- `{vendor_name}` - Nom du vendeur
- `{listing_name}` - Nom de l'annonce
- `{amount}` - Montant total
- `{date}` - Date du jour
- Intégration complète avec les paramètres WooCommerce (logo, couleurs, pied de page)

#### 🔒 Gestion du Blocage Stripe (Nouveaux Comptes)
- Récupération automatique de la date de disponibilité des fonds via API Stripe
- Affichage du statut "Fonds bloqués par Stripe" au vendeur
- Date de déblocage affichée dans le wallet vendeur
- Report automatique du transfert si les fonds sont encore bloqués
- Aucune configuration requise - tout est automatique

#### 🔗 Intégration avec les Plugins Costa
- **Listeo Politique Annulation** : Ajustement automatique du montant en cas de remboursement partiel
- **Listeo Invoice & TVA** : Support des factures de commission PDF
- **Prepaid Booking for Listeo** : Compatibilité avec la pré-autorisation Stripe

#### ⚙️ Paramètres Configurables
- Activer/désactiver le paiement différé
- Délai de paiement (0-90 jours)
- Intervalle du cron (en heures)
- Langue de l'interface (Français / English / Auto)
- Notifications email activables/désactivables
- Alerte admin en cas d'échec

#### 🌍 Multi-Langue
- Interface entièrement traduite en Français et Anglais
- Fichiers de traduction .po/.mo inclus
- Détection automatique de la langue WordPress
- Option de forcer une langue spécifique

#### ✅ Dépendances
- Compatible avec WordPress 5.0+
- Nécessite PHP 7.4+
- Nécessite WooCommerce actif
- Nécessite Listeo Core avec Stripe Connect configuré

#### 🛡️ Sécurité
- Nonce WordPress pour toutes les actions AJAX
- Vérification des capacités utilisateur
- Sanitization de toutes les entrées
- Escape de toutes les sorties

---

## Légende

- 🎉 **Ajouté** : Nouvelles fonctionnalités
- ✏️ **Modifié** : Changements dans les fonctionnalités existantes
- 🗑️ **Supprimé** : Fonctionnalités supprimées
- 🐛 **Corrigé** : Corrections de bugs
- 🔒 **Sécurité** : Corrections de vulnérabilités
- ⚡ **Performance** : Améliorations de performance

---

## Support

Pour toute question ou assistance :
- 📧 Email : [email protected]
- 🌐 Site : https://costaplugin.com
- 📚 Documentation : https://costaplugin.com/documentation/?plugin=listeo-paiement-differe

📖 Légende des changements

✨ Nouvelles fonctionnalités 🐛 Corrections de bugs 🚀 Améliorations 🔐 Sécurité 🗑️ Suppressions