Protection :
- /echeancier/verify/{id} : verification par code email 6 chiffres
(meme pattern que OrderPayment verify, 15 min expiry)
- process redirige vers verify si non authentifie
Pages client :
- Boutons "Signer l'echeancier" (vert) et "Refuser" (rouge) dans process
- /echeancier/sign/{id} : redirige vers DocuSeal
- /echeancier/refuse/{id} : passe en cancelled, affiche page refused
- echeancier/verify.html.twig : saisie code
- echeancier/refused.html.twig : confirmation refus
Email :
- Lien pointe vers /echeancier/verify/{id} (protege)
- Texte Stripe ajoute dans page process
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
1.3 KiB
Twig
26 lines
1.3 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block title %}Echeancier refuse - Association E-Cosplay{% endblock %}
|
|
|
|
{% block body %}
|
|
<div class="min-h-screen flex items-center justify-center p-4" style="background: linear-gradient(135deg, #f5f5f0 0%, #e8e8e0 100%);">
|
|
<div class="glass-heavy w-full max-w-lg overflow-hidden">
|
|
<div class="glass-dark text-white px-8 py-6 text-center">
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="h-12 w-12 mx-auto mb-3 text-red-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
</svg>
|
|
<h1 class="text-xl font-bold uppercase tracking-widest">Echeancier refuse</h1>
|
|
</div>
|
|
<div class="p-8 text-center">
|
|
<p class="text-sm text-gray-600 mb-4">
|
|
L'echeancier de paiement a ete refuse.
|
|
</p>
|
|
<p class="text-xs text-gray-400">
|
|
Si vous souhaitez discuter d'autres modalites de paiement, contactez-nous a
|
|
<a href="mailto:contact@e-cosplay.fr" class="font-bold" style="color: #fabf04;">contact@e-cosplay.fr</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|