Entity CustomerPaymentMethod:
- customer, stripePaymentMethodId, type (sepa_debit/card)
- last4, brand, country, isDefault
- getDisplayLabel() pour affichage
Sauvegarde automatique du moyen de paiement:
- Contrat SEPA setup: cree CustomerPaymentMethod type SEPA
- Contrat CB premier paiement: webhook sauvegarde la carte
- Retire le default des anciens moyens de paiement
Commande cron app:advert:auto-payment:
- S'execute uniquement le dernier jour du mois
- Trouve les avis envoyes (state=send) avec client ayant un
moyen de paiement par defaut
- Envoie un email d'annonce de prelevement au client
- Cree un PaymentIntent off_session avec le moyen de paiement
- Le webhook payment_intent.succeeded traite le paiement
Admin fiche client tab info:
- Affiche les moyens de paiement enregistres (type, last4, defaut)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>