Skip to main content

Troubleshooting & Reference · Article 7.17

"Mijn klant heeft een herinnerings-e-mail gekregen maar ze hebben al betaald"

Zeldzame raceconditie — herinnering verstuurd op het moment dat de betalingsbevestiging zich nog aan het verspreiden was. De herinnerings-beat-taak controleert de betalingsstatus opnieuw op het moment van versturen; als betaald, wordt overgeslagen. Als u dit ziet, was de kloof binnen seconden.

Een herinnerings-e-mail naar een betaalde klant is gênant maar onschadelijk. Clozo bewaakt er twee keer tegen (de tijdlijngebeurtenis-idempotentiecontrole + de per-verstuur betalingsstatus-hercontrole), maar een korte race tussen webhook-verwerking en versturen kan erdoorheen slippen. Als het één keer gebeurt, verontschuldig u en ga verder; als het herhaaldelijk gebeurt, is dat een bug die we willen weten.

Step by step

  1. Verontschuldig u bij de klant.

    Persoonlijk bericht: "Onze excuses — die herinnering is verstuurd op het moment dat ons systeem uw betaling net zag. Alles is in orde."

  2. Controleer de betalingsstatus

    is correct Betaald in Clozo. Als dat niet zo is, is dat een ander probleem (sectie 10.14).

  3. Als reproduceerbaar (meerdere betaalde offertes die herinneringen ontvangen)

    , neem contact op met ondersteuning.

Why this works this way

De beat-taak send_overdue_reminders (tasks.py L2107) draait elk uur en plaatst per-tier versturen in de wachtrij. De dispatcher send_overdue_reminder_email (L2165) controleert opnieuw proposal.status != Proposal.STATUS_OVERDUE op het moment van versturen en slaat over als betaald. Het race-venster is de paar honderd milliseconden tussen de hercontrole en de daadwerkelijke Resend API-aanroep.

Als de herinnerings-e-mail is verstuurd op een betaalde offerte, moet de betaling binnen dat smalle venster zijn aangekomen. Hoogst ongebruikelijk.

Troubleshooting

Keep reading