prepare("SELECT * FROM paiement WHERE praticien_id = ? ORDER BY date_paiement DESC"); $stmt->execute([$praticien_id]); $paiements = $stmt->fetchAll(); // Mappings d'affichage $methodeMap = [ 'cb' => $translations['methode_cb'] ?? 'CB', 'virement' => $translations['methode_virement'] ?? 'Virement', 'paypal' => $translations['methode_paypal'] ?? 'PayPal', 'stripe' => $translations['methode_stripe'] ?? 'Stripe', ]; $statutMap = [ 'paye' => $translations['statut_paye'] ?? 'Payé', 'payé' => $translations['statut_paye'] ?? 'Payé', 'succeeded' => $translations['statut_paye'] ?? 'Payé', 'pending' => $translations['statut_en_attente'] ?? 'En attente', 'en_attente' => $translations['statut_en_attente'] ?? 'En attente', 'failed' => $translations['statut_echoue'] ?? 'Échoué', 'echoue' => $translations['statut_echoue'] ?? 'Échoué', 'échoué' => $translations['statut_echoue'] ?? 'Échoué', 'refunded' => $translations['statut_rembourse'] ?? 'Remboursé', 'rembourse' => $translations['statut_rembourse'] ?? 'Remboursé', 'remboursé' => $translations['statut_rembourse'] ?? 'Remboursé', ]; // helper badge function badgeClassForStatus(string $raw): string { $s = mb_strtolower($raw, 'UTF-8'); if (in_array($s, ['paye','payé','succeeded'], true)) return 'bg-success'; if (in_array($s, ['pending','en_attente'], true)) return 'bg-warning text-dark'; if (in_array($s, ['failed','echoue','échoué'], true)) return 'bg-danger'; if (in_array($s, ['refunded','rembourse','remboursé'], true)) return 'bg-secondary'; return 'bg-secondary'; } require_once '../includes/header.php'; ?>

'carte', default => $methodeRaw, }; $libMethode = $translations['methode_' . $methodeNorm]?? ucfirst($methodeNorm); $libStatut = $statutMap[mb_strtolower($p['statut'] ?? '', 'UTF-8')] ?? ($p['statut'] ?? ''); $badgeClass = badgeClassForStatus($p['statut'] ?? ''); ?>
€