1.11.0 • Published 1 month ago
peertube-plugin-premium-users
Licence
—
Version
1.11.0
Deps
6
Size
544 kB
Vulns
0
Weekly
0
PeerTube plugin premium users
About
This plugin will add a video field where uploaders can choose whether the video is a premium video or not. Premium videos will only be shown for paid users, other users will see a preselected default video. To become a premium user a user has to go to My account > Premium and click "Subscribe to become a premium user". He will then be redirected to Stripe and when the checkout is complete he's a premium user.
How to manually add premium users
- Login to Stripe dashboard.
- Go to Customers.
- Open the customer you want to add as premium.
- Click on add subscription.
- Select the product.
- At "Bill yearly/monthly starting", select the date where the billing should start.

Prerequisites
- Stripe API key.
- Stripe webhook listening for
checkout.session.completed,customer.subscription.created,invoice.paidandinvoice.payment_failedpointed to{PEERTUBE_URL}/plugins/premium-users/router/stripe-webhook. - Stripe product whom premium users will subscribe to.
- Replacement video to be shown for non-premium users.
TODO:
Support for cancel subscriptions.Remove payments from DB and get from API instead.Create checkout from API instead of static URL.Support change payment method.Listen to webhook to know when subscription has ended.- Verify paymentStatus is accurate upon GET /subscriptions
Change storage to PostgresAdd Google Analytics support.- Notify user about a failed payment.
Demo / testing
Prerequisites:
Copy
demo/.env.stripe_exampletodemo/.env.stripeand fill in your Stripe API token for test environment.cd demoSTRIPE_API_KEY=sk_test... npm startopen http://localhost:9000
Run e2e tests
npx playwright install --with-depsnpx playwright test
Development
Run GH actions locally
act -s STRIPE_API_KEY=sk_test_... --artifact-server-path /tmp/artifacts