fix: May monthly payment email — stale copy, no dedup, prorated amount #520

Open
opened 2026-05-08 06:08:30 +00:00 by forgejo_admin · 0 comments
Contributor

Type

Bug

Lineage

Standalone — discovered during billing session 2026-05-06. Regression from #498 (Payment Link migration left email copy stale).

Repo

ldraney/basketball-api

What Broke

Three issues with POST /admin/email/first-payment:

  1. Email copy references April proration and a bug apology — completely stale for May billing
  2. No dedup — sends to ALL signed players including those with active subscriptions ($1,290/mo already collecting)
  3. Checkout endpoint charges prorated amount instead of full monthly fee

Repro Steps

  1. Call POST /admin/email/first-payment?test_email=draneylucas@gmail.com
  2. Observe: email says "Prorated April fee" and "bug on our end"
  3. Call without test_email filter
  4. Observe: players with active subscriptions receive duplicate payment emails

Expected Behavior

  • Email should say "Monthly fee: $X" with card-save messaging, no April references
  • Players with active or past_due subscriptions should be excluded
  • Payment link should charge full monthly fee

Environment

  • Cluster/namespace: prod
  • Service version/commit: 8747b40 (main)

Acceptance Criteria

  • Email copy shows "monthly club dues" with full fee, no April/proration references
  • Players with active or past_due subscriptions excluded from blast
  • Payment link charges full monthly fee (not prorated)
  • Test email to draneylucas@gmail.com renders correctly
  • westside-basketball — project
  • ldraney/basketball-api #498 — Payment Link migration that left copy stale
### Type Bug ### Lineage Standalone — discovered during billing session 2026-05-06. Regression from #498 (Payment Link migration left email copy stale). ### Repo `ldraney/basketball-api` ### What Broke Three issues with `POST /admin/email/first-payment`: 1. Email copy references April proration and a bug apology — completely stale for May billing 2. No dedup — sends to ALL signed players including those with active subscriptions ($1,290/mo already collecting) 3. Checkout endpoint charges prorated amount instead of full monthly fee ### Repro Steps 1. Call `POST /admin/email/first-payment?test_email=draneylucas@gmail.com` 2. Observe: email says "Prorated April fee" and "bug on our end" 3. Call without test_email filter 4. Observe: players with active subscriptions receive duplicate payment emails ### Expected Behavior - Email should say "Monthly fee: $X" with card-save messaging, no April references - Players with active or past_due subscriptions should be excluded - Payment link should charge full monthly fee ### Environment - Cluster/namespace: prod - Service version/commit: `8747b40` (main) ### Acceptance Criteria - [ ] Email copy shows "monthly club dues" with full fee, no April/proration references - [ ] Players with active or past_due subscriptions excluded from blast - [ ] Payment link charges full monthly fee (not prorated) - [ ] Test email to draneylucas@gmail.com renders correctly ### Related - `westside-basketball` — project - `ldraney/basketball-api #498` — Payment Link migration that left copy stale
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/basketball-api#520
No description provided.