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';
?>
= htmlspecialchars($translations['h3_mes_factures']) ?>
= htmlspecialchars($translations['aucune_facture']) ?>
| = htmlspecialchars($translations['th_numero']) ?> |
= htmlspecialchars($translations['th_date']) ?> |
= htmlspecialchars($translations['th_montant']) ?> |
= htmlspecialchars($translations['th_methode']) ?> |
= htmlspecialchars($translations['th_statut']) ?> |
= htmlspecialchars($translations['th_actions']) ?> |
'carte',
default => $methodeRaw,
};
$libMethode = $translations['methode_' . $methodeNorm]?? ucfirst($methodeNorm);
$libStatut = $statutMap[mb_strtolower($p['statut'] ?? '', 'UTF-8')] ?? ($p['statut'] ?? '');
$badgeClass = badgeClassForStatus($p['statut'] ?? '');
?>
| = htmlspecialchars($translations['facture_prefix']) ?>= str_pad((string)$p['id'], 3, '0', STR_PAD_LEFT) ?> |
= date('d/m/Y', strtotime($p['date_paiement'])) ?> |
= number_format((float)$p['montant'], 2, ',', ' ') ?> € |
= htmlspecialchars($libMethode) ?> |
= htmlspecialchars($libStatut) ?>
|
= htmlspecialchars($translations['btn_voir']) ?>
|