Repository navigation
CoinPay hosted checkout sessions (any coin or PayPal); open /crawl through the invite gate - #295
Merged
Merged
Conversation
… the invite gate Premium subscriptions, IPTV subscriptions and IPTV extensions now open a CoinPay hosted checkout session (POST /api/checkout/sessions): the buyer picks any coin the business takes, or PayPal, and the sale is filed under property bittorrented.com with account_id (user id) and customer_email. The order row is keyed by the session id; the first money-moving webhook that carries checkout_session_id re-keys it to the payment id, and the existing payment-id handlers run unchanged, so in-flight one-coin payments keep settling. CoinPay sends every event to the business webhook URL, so IPTV payments are now settled from /api/webhooks/coinpayportal too (they never reached /api/iptv/subscription/webhook). That route now requires the signature, and IPTV fulfilment runs once per payment (confirmed then forwarded no longer extends the line twice). @profullstack/live-translate 0.3.0: translated-audio passes use sessions too (email + account id from the signed-in user). /crawl and /crawl/* (x402 sales page, checkout, return) are open while the site is invite only and in legal mode; it was a 307 to /invite-only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
ThreatCrush Security Scan97 finding(s) HIGH/CRITICAL: 11 | MEDIUM: 30 | LOW: 56
…and 47 more. Full results in the Security tab. Snippets are redacted; ThreatCrush never prints matched credential material. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Checkout
Premium subscription (
/api/payments), IPTV subscription and IPTV extension now open a CoinPay hosted checkout session (POST /api/checkout/sessions, coinpayportal #494): the buyer picks any coin bittorrented's business takes, or PayPal. Body:amount, currency:'USD', description, customer_email (user email), account_id (user id), property: bittorrented.com, metadata, success_url, cancel_url, expires_in_minutes: 60.checkout_session_idre-keys it to the payment id (src/lib/coinpayportal/session-payments.ts); the existing payment-id handlers then run unchanged, so in-flight one-coin payments keep settling. An abandoned attempt inside an open session (expired/failed) is acknowledged without claiming the row./api/webhooks/coinpayportal), so IPTV payments never reached/api/iptv/subscription/webhook. The main route now hands IPTV rows to a shared handler (src/lib/argontv/webhook.ts). The IPTV route now requires the X-CoinPay-Signature (it trusted any POST before), and fulfilment runs once per payment (confirmed then forwarded no longer extends the ArgonTV line twice).@profullstack/live-translate^0.3.0: translated-audio passes use sessions too (email + account id), settled from the webhook event./crawl
/crawland/crawl/*(the x402 sales page, its checkout and return pages) were a 307 to/invite-only. They are now open under both the invite-only gate and legal mode; the crawl gateway answers them itself.Tests
session-payments.test.ts(session body, CoinPay-origin URL check, re-key, abandoned attempt, IPTV once-only fulfilment, unsigned IPTV webhook refused), updated payments/IPTV/webhook route tests,/crawlgate test. Full suite: 3094 passed.🤖 Generated with Claude Code