WKQ-branded payment receipt email replacing Pal-E-branded Stripe default #506
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/basketball-api#506
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Standalone — discovered 2026-04-18 during the #497 recovery blast testing. Lucas flagged the receipt email from Stripe as Pal-E-branded, not Westside Kings & Queens.
Repo
forgejo_admin/basketball-apiUser Story
As a parent who just paid my player's first monthly fee, the receipt email in my inbox is clearly from Westside Kings & Queens — the organization I signed my player up under, the emails I already receive from, and the team my player plays for. Not from "Pal-E," a platform name the parent has no relationship with.
Context
Stripe sends an automatic receipt email after every successful payment. Because the Stripe account is registered under Pal-E (as merchant of record), Stripe's default receipt carries Pal-E branding: Pal-E business name, Pal-E contact info, Pal-E visual styling. Parents have no mental model for Pal-E — they signed contracts with Westside Kings & Queens, received all prior emails from
westsidebasktball@gmail.com, and understand themselves to be paying dues to Westside. The Pal-E receipt feels off-brand and raises questions ("is this the right charge?").Two broad paths forward exist:
westsidebasktball@gmail.comusing the existing gmail-sdk path (same as contract / first-payment / apology emails).This ticket covers path 1 — the near-term fix that doesn't require legal entity / EIN / bank onboarding work. The spike ticket decides the long-term architecture.
File Targets
Dev agent's decision. Relevant surfaces include the webhook handler that flips Order → paid (where a WKQ receipt email could be dispatched), the existing email helpers in
services/email.py, and the Stripe account-level receipt configuration.Acceptance Criteria
westsidebasktball@gmail.comwith Westside Kings & Queens visual branding (Kings red / Queens pink by division, same convention as first-payment email).Test Expectations
Constraints
Checklist
Related
forgejo_admin/basketball-api #498— monthly Payment Link migration (receipts fire on completion of links minted there)