Logs de diagnostic et rapprochement SumUp ↔ bénévole
- Une ligne de log par requête (route modèle, statut, durée, code d'erreur, compte), identifiant X-Request-ID repris dans chaque log et affiché à l'utilisateur sous une erreur, exceptions non gérées tracées (500 JSON) - Journal d'accès d'uvicorn coupé : il exposait le jeton du formulaire public - Logs métier : paiement SumUp, connexion, import, plannings, solveur - Nom du bénévole dans la description du checkout SumUp - Code et identifiant de transaction SumUp enregistrés au paiement (migration 0023), affichés sur la fiche et dans l'export Excel Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d722a81a87
commit
d0fa1e109c
@@ -211,6 +211,13 @@ class Volunteer(TimestampMixin, table=True):
|
||||
sa_column=Column(SAEnum(FeePaymentStatus, native_enum=False), nullable=True),
|
||||
)
|
||||
fee_paid_at: dt.datetime | None = None
|
||||
# Transaction SumUp qui a réglé la cotisation (`app/sumup/client.py:
|
||||
# SumUpCheckout`), posée à la confirmation du paiement : le code court
|
||||
# (`TEENSK4W2K`) est celui du tableau de bord SumUp et de ses reçus —
|
||||
# rapprochement comptable paiement ↔ bénévole. Exposés (fiche, export
|
||||
# Excel), contrairement à `fee_checkout_id`.
|
||||
fee_transaction_code: str | None = Field(default=None, index=True)
|
||||
fee_transaction_id: str | None = None
|
||||
# Coordonnées collectées uniquement pour un type de paiement « mécénat »
|
||||
# (`FormPaymentOption.requires_mecenat_info`), avant le paiement (voir
|
||||
# `PendingFormSubmission` et `app/api/forms.py:submit_mecenat_info`) —
|
||||
|
||||
Reference in New Issue
Block a user