{% extends 'email/base.html.twig' %} {% block subject %} {% if isInGrace %} {{ 'email.payment_failed.subject.grace'|trans }} {% elseif attemptNumber == 1 %} {{ 'email.payment_failed.subject.first_attempt'|trans }} {% elseif attemptNumber <= 3 %} {{ 'email.payment_failed.subject.multiple_attempts'|trans }} {% else %} {{ 'email.payment_failed.subject.final_warning'|trans }} {% endif %} {% endblock %} {% block header %}

{% if isInGrace %} {{ 'email.payment_failed.header.grace'|trans }} {% elseif attemptNumber == 1 %} {{ 'email.payment_failed.header.first_attempt'|trans }} {% else %} {{ 'email.payment_failed.header.multiple_attempts'|trans }} {% endif %}

{% endblock %} {% block content %}

{{ 'email.payment_failed.content.greeting'|trans({'%firstName%': member.firstName}) }}

{% if isInGrace %} {{ 'email.payment_failed.content.grace_message'|trans }} {% elseif attemptNumber == 1 %} {{ 'email.payment_failed.content.first_attempt_message'|trans }} {% else %} {{ 'email.payment_failed.content.multiple_attempts_message'|trans({'%attemptNumber%': attemptNumber}) }} {% endif %}

{% if isInGrace %}

{{ 'email.payment_failed.content.grace_remaining'|trans({'%graceRemainingDays%': graceRemainingDays, '%plural%': graceRemainingDays > 1 ? 's' : ''}) }}

{% endif %}

{{ 'email.payment_failed.details.title'|trans }}

{% if paymentFailure.reason %} {% endif %}
{{ 'email.payment_failed.details.date'|trans }} {{ paymentFailure.failureDate|date('d/m/Y à H:i') }}
{{ 'email.payment_failed.details.attempt'|trans }} {{ attemptNumber }} / 5
{{ 'email.payment_failed.details.status'|trans }} {% if isInGrace %} {{ 'email.payment_failed.details.grace_status'|trans }} {% else %} {{ 'email.payment_failed.details.retry_status'|trans }} {% endif %}
{{ 'email.payment_failed.details.reason'|trans }} {% set reasonMap = { 'insufficient_funds': 'email.payment_failed.reasons.insufficient_funds', 'card_declined': 'email.payment_failed.reasons.card_declined', 'card_expired': 'email.payment_failed.reasons.card_expired', 'authentication_required': 'email.payment_failed.reasons.authentication_required', 'processing_error': 'email.payment_failed.reasons.processing_error', 'unknown': 'email.payment_failed.reasons.unknown' } %} {% set reasonKey = reasonMap[paymentFailure.reason] ?? null %} {% if reasonKey %} {{ reasonKey|trans }} {% else %} {{ paymentFailure.reason }} {% endif %}
{% if not isInGrace %}

{{ 'email.payment_failed.next_retry.title'|trans }}

{{ 'email.payment_failed.next_retry.automatic_retry'|trans({'%nextRetryDate%': paymentFailure.nextRetryDate|date('d/m/Y à H:i')}) }}

{{ 'email.payment_failed.next_retry.no_action'|trans }}

{% endif %}

{{ 'email.payment_failed.recommendations.title'|trans }}

{% if isInGrace %}

{{ 'email.payment_failed.grace_warning.title'|trans }}

{{ 'email.payment_failed.grace_warning.suspension_warning'|trans({'%graceRemainingDays%': graceRemainingDays, '%plural%': graceRemainingDays > 1 ? 's' : ''}) }}

{{ 'email.payment_failed.grace_warning.consequences'|trans }}

{% endif %}
{{ 'email.payment_failed.buttons.update_payment'|trans }} {{ 'email.payment_failed.buttons.contact_support'|trans }}

{{ 'email.payment_failed.security.title'|trans }}

{{ 'email.payment_failed.security.description'|trans }}

{{ 'email.payment_failed.support.question'|trans }}
support@antiquites-en-france.com | {{ 'email.payment_failed.support.phone'|trans }}

{% endblock %} {% block footer %}

{{ 'email.payment_failed.footer.info'|trans }}
{{ 'email.payment_failed.footer.reason'|trans({'%failureDate%': paymentFailure.failureDate|date('d/m/Y')}) }}

{% endblock %}