Integrate Subscription Paywall System

via Freelancer ·

Budget / Salary$30–250
TypeFreelance project
LocationRemote
Posted1 hour ago
My language-learning platform is already live, complete with user registration and authentication. What’s missing is a seamless paywall: I need recurring billing added so that only paying students can continue beyond the free tier.

Scope of work
• Choose and connect the best payment gateway for recurring charges (I’m open to Stripe, PayPal, Square or your recommendation).
• Create one active plan—Monthly—configurable from the dashboard so I can add yearly or quarterly options later.
• Tie the subscription status to our existing user table and automatically restrict premium areas (courses, live sessions, file downloads and any other marked feature) until payment is confirmed.
• Build the front-end prompts (upgrade modal / checkout page) and the back-end webhooks so cancellations, renewals and payment failures instantly update access rights.
• Provide clear setup notes or a short Loom walkthrough so I can replicate the process on staging and production.

Acceptance criteria
1. A new account can browse the free sample lessons but is blocked when it reaches any gated resource.
2. Upon successful checkout the same account gains immediate, uninterrupted access to all premium sections.
3. If the monthly renewal fails or is cancelled, access is revoked automatically within the grace period set by the gateway.

Rekhyt currently uses a vanilla JavaScript frontend, a Node.js/Express backend, and PostgreSQL for accounts and saved data, hosted on Heroku. Rekhyt is a multilingual reading and language-learning website with user accounts. Features include a book reader, dictionaries, flashcards/review games, vocabulary graphs called Plexus, news, Wikipedia traversal, text-to-speech, activity tracking, and a Media section for rendering word graphs.

Subscription work needed
Add recurring billing tied to the existing account’s stable database ID. The payment system should maintain a mapping between that account and its payment-provider customer/subscription records.
The implementation should include:
- A signed-in subscription checkout flow.
- A billing-management page for payment details and cancellation.
- Verified payment-provider webhooks to update subscription status.
- Database records for the subscribed plan, access status, renewal/expiration dates, and provider identifiers.
- Server-side authorization for paid features and APIs.
- Defined behavior for failed payments, cancellations, expired subscriptions, and plan changes.
- Duplicate-event handling so webhook retries do not create inconsistent records.
- Test-mode validation before enabling live payments.
Existing issue to investigate first: the reader and Wikipedia pages previously disagreed about whether a user was signed in. Account-check endpoints and possible www versus non-www session differences were involved. Confirm consistent authentication across the site before connecting billing to accounts.
Decisions still needed: pricing, monthly/annual options, free versus paid features, and any allowances for expensive features such as Azure speech and AI generation. Subscription access and usage allowances should be modeled separately.
There is no confirmed working payment or subscription integration in the work shared so far.
Give the programmer the current repository, especially package.json, index.js, lib/db.js,
website design mysql html web development payment gateway integration frontend development api integration
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.