{% extends 'base.html.twig' %} {% block title %}Détails Échec de Paiement #{{ payment_failure.id }} - Admin{% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block body %}

Échec de Paiement #{{ payment_failure.id }}

Membre : {{ payment_failure.member.email }}

← Retour à la liste {% if payment_failure.status not in ['resolved', 'cancelled'] %} {% endif %}
{% if payment_failure.status == 'in_grace' and payment_failure.graceRemainingDays <= 2 %}
⚠️ Attention ! La période de grâce expire dans {{ payment_failure.graceRemainingDays }} jour(s). Le compte sera suspendu automatiquement si le problème n'est pas résolu.
{% elseif payment_failure.status == 'suspended' %}
🚫 Compte Suspendu Ce compte a été suspendu suite à l'expiration de la période de grâce.
{% elseif payment_failure.status == 'resolved' %}
✅ Résolu Cet échec de paiement a été résolu le {{ payment_failure.resolvedAt|date('d/m/Y à H:i') }}.
{% endif %}

Informations Générales

Statut {{ payment_failure.status|trans }}
Date de l'échec {{ payment_failure.failureDate|date('d/m/Y à H:i') }}
Raison {{ payment_failure.failureReason|trans }}
Nombre de tentatives {{ payment_failure.attemptCount }} {% if payment_failure.attemptCount >= 5 %} Critique {% elseif payment_failure.attemptCount >= 3 %} Élevé {% endif %}
{% if payment_failure.nextRetryDate %}
Prochaine tentative {{ payment_failure.nextRetryDate|date('d/m/Y à H:i') }}
{% endif %}

Informations Membre

Nom {{ payment_failure.member.firstName ?? 'N/A' }} {{ payment_failure.member.lastName ?? 'N/A' }}
Plan actuel {% if payment_failure.member.subscriptionPlan %} {{ payment_failure.member.subscriptionPlan.name }} {% else %} Non défini {% endif %}
Statut membre {{ payment_failure.member.status|trans }}
{% if payment_failure.status == 'in_grace' or payment_failure.graceEndDate %}

Période de Grâce

Date de début {{ payment_failure.graceStartDate|date('d/m/Y à H:i') }}
Date de fin {{ payment_failure.graceEndDate|date('d/m/Y à H:i') }}
Jours restants {% set remaining = payment_failure.graceRemainingDays %} {{ remaining }} jour{{ remaining > 1 ? 's' : '' }}
Objets masqués {% if payment_failure.itemsMasked %} ✓ Oui {% else %} Non {% endif %}
{% endif %} {% if payment_failure.stripeInvoiceId or payment_failure.stripeCustomerId %}

Informations Stripe

{% if payment_failure.stripeInvoiceId %}
ID Facture Stripe {{ payment_failure.stripeInvoiceId }}
{% endif %} {% if payment_failure.stripeCustomerId %}
ID Client Stripe {{ payment_failure.stripeCustomerId }}
{% endif %} {% if payment_failure.stripeErrorCode %}
Code erreur Stripe {{ payment_failure.stripeErrorCode }}
{% endif %}
{% endif %}

Chronologie

Échec de paiement initial
{{ payment_failure.failureDate|date('d/m/Y à H:i') }}
Raison : {{ payment_failure.failureReason|trans }}
{% if payment_failure.attemptCount > 1 %}
Tentatives de relance
{{ payment_failure.attemptCount - 1 }} tentative(s) effectuée(s)
{% endif %} {% if payment_failure.status == 'in_grace' %}
Période de grâce démarrée
{{ payment_failure.graceStartDate|date('d/m/Y à H:i') }}
Fin prévue : {{ payment_failure.graceEndDate|date('d/m/Y à H:i') }}
{% endif %} {% if payment_failure.itemsMasked %}
Objets masqués
Les objets du membre ont été masqués
{% endif %} {% if payment_failure.status == 'suspended' %}
Compte suspendu
Suite à l'expiration de la période de grâce
{% endif %} {% if payment_failure.status == 'resolved' %}
Problème résolu
{{ payment_failure.resolvedAt|date('d/m/Y à H:i') }}
{% endif %}
{% if payment_failure.status not in ['resolved', 'cancelled'] %}

Actions Administrateur

👤 Voir le profil membre {% if payment_failure.subscription %} �� Voir l'abonnement {% endif %}
{% endif %}
{% endblock %}