-
Notifications
You must be signed in to change notification settings - Fork 6
feat: add /donate page with Stripe embedded checkout and Cloudflare Worker backend #118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
335ff5d
Add donation campaign page design spec
alexwolson 9493659
Add donation campaign implementation plan
alexwolson 11cf918
feat: scaffold Cloudflare Worker for donation campaign
alexwolson 0776784
feat: implement validateAmount with tests
alexwolson 999e81a
feat: implement incrementTotal and verifyStripeSignature with tests
alexwolson 5fd1db8
feat: implement Worker routing and endpoint handlers
alexwolson b0bd7e0
feat: add donation campaign page with embedded Stripe checkout
alexwolson 934e394
chore: inject Stripe public key and Worker URL at build time
alexwolson 7d55f6c
chore: set real Cloudflare KV namespace ID
alexwolson 541cf5c
Update dependencies
alexwolson 9e9548d
fix: allow 127.0.0.1 CORS origin; derive return_url from request origin
alexwolson 741d17b
fix: copy updates and amount correction for donate page
alexwolson e848ede
chore: gitignore .wrangler/ cache directory
alexwolson a5f7feb
Delete docs/superpowers/specs/2026-05-04-donation-campaign-design.md
alexwolson 3f4f97e
Update maximum donation limit to $3,500.00
alexwolson 9bfd4db
Update test for maximum donation limit
alexwolson b76b99f
chore: remove unused native build dependencies from worker
alexwolson d3a2909
fix: use constant-time HMAC verification for Stripe webhook signatures
alexwolson 4c3131d
fix: update stale $10,000 maximum test to match $3,500 limit
alexwolson 1adbc58
test: add unit tests for verifyStripeSignature
alexwolson b2c6bdb
fix: omit CORS header for disallowed origins instead of reflecting ci…
alexwolson 79e4fc0
fix: handle invalid JSON in webhook body with 400 instead of 500
alexwolson 22dedec
fix: validate /total response and clamp progress bar to goal
alexwolson 95830c1
fix: harden Stripe signature header parsing and enforce timestamp tol…
alexwolson 6b088f7
Potential fix for pull request finding
alexwolson f7e5a0d
fix: fail CI fast when donate page secrets are missing
alexwolson 521f179
fix: guard against malformed hex in Stripe signature v1 values
alexwolson e8ef6d5
fix: treat corrupted KV total as 0 instead of propagating NaN
alexwolson 1765206
fix: deduplicate Stripe webhook events using event.id in KV
alexwolson 0926236
fix: validate amount_total before incrementing KV total
alexwolson 4cecf96
fix: return 200 + log on invalid amount_total instead of 400
alexwolson ba2f6bd
fix: guard against missing Stripe config before initialising SDK
alexwolson e136532
fix: add aria-pressed to amount selection buttons for screen readers
alexwolson File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.