Files
tenderpilot/QUICK_START.md
Peter Foster f969ecae04 feat: visual polish, nav login link, pricing badge fix, cursor fix, button contrast
- Hero mockup: enhanced 3D perspective and shadow
- Testimonials: illustrated SVG avatars
- Growth pricing card: visual prominence (scale, gradient, badge)
- Most Popular badge: repositioned to avoid overlapping heading
- Nav: added Log In link next to Start Free Trial
- Fixed btn-primary text colour on anchor tags (white on blue)
- Fixed cursor: default on all non-interactive elements
- Disabled user-select on non-form content to prevent text caret
2026-02-14 14:17:15 +00:00

3.6 KiB

TenderRadar Stripe - Quick Start Guide

What's Already Done

The entire Stripe integration is complete and running:

  • Code implemented (stripe-billing.js, middleware, server routes)
  • Database schema created (subscriptions table)
  • Server running on port 3456
  • All endpoints registered and tested

🎯 What You Need to Do (5 Steps)

1. Create Stripe Account

Go to: https://dashboard.stripe.com and sign up

2. Get API Keys

In Stripe Dashboard:

  • Click DevelopersAPI Keys
  • Copy Secret Key (starts with sk_test_)
  • Copy Publishable Key (starts with pk_test_)

3. Create 3 Price Objects

In Stripe Dashboard:

  • Click Products+ Add product

Create these 3 products:

Product 1:

  • Name: TenderRadar Starter
  • Price: 39.00 GBP
  • Billing: Monthly
  • → Copy the Price ID (starts with price_)

Product 2:

  • Name: TenderRadar Growth
  • Price: 99.00 GBP
  • Billing: Monthly
  • → Copy the Price ID

Product 3:

  • Name: TenderRadar Pro
  • Price: 249.00 GBP
  • Billing: Monthly
  • → Copy the Price ID

4. Set Up Webhook

In Stripe Dashboard:

  • Click DevelopersWebhooks+ Add endpoint
  • URL: https://your-domain.com/api/billing/webhook
  • Events: Select all 4:
    • checkout.session.completed
    • customer.subscription.updated
    • customer.subscription.deleted
    • invoice.payment_failed
  • → Copy the Signing Secret (starts with whsec_)

5. Update .env File

SSH into your server:

ssh -p 22022 peter@75.127.4.250
cd /home/peter/tenderpilot
nano .env

Replace these lines with your real keys:

STRIPE_SECRET_KEY=sk_test_YOUR_ACTUAL_KEY
STRIPE_PUBLISHABLE_KEY=pk_test_YOUR_ACTUAL_KEY
STRIPE_WEBHOOK_SECRET=whsec_YOUR_ACTUAL_SECRET

STRIPE_PRICE_STARTER=price_YOUR_STARTER_PRICE_ID
STRIPE_PRICE_GROWTH=price_YOUR_GROWTH_PRICE_ID
STRIPE_PRICE_PRO=price_YOUR_PRO_PRICE_ID

Save and restart server:

pkill -f 'node.*server.js'
npm start &

🧪 Test It

Register a test user:

curl -X POST http://localhost:3456/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "test@example.com",
    "password": "testpass123",
    "company_name": "Test Co"
  }'

Save the returned token.

Create a checkout session:

curl -X POST http://localhost:3456/api/billing/checkout \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "plan": "starter",
    "successUrl": "http://localhost:3000/success",
    "cancelUrl": "http://localhost:3000/cancel"
  }'

Open the returned url in your browser and use test card:

  • Card: 4242 4242 4242 4242
  • Expiry: Any future date
  • CVC: Any 3 digits

📚 Full Documentation

For detailed setup instructions, see:

  • STRIPE_PRICE_SETUP_GUIDE.md — Step-by-step Stripe dashboard guide
  • IMPLEMENTATION_COMPLETE.md — Full implementation summary
  • BILLING_API_EXAMPLES.md — API testing examples
  • STRIPE_SETUP.md — Complete integration overview

All files are in /home/peter/tenderpilot/ on your VPS.


🚨 Important Notes

  1. Start in Test Mode — Use test keys first (sk_test_, pk_test_)
  2. HTTPS Required for Production — Webhooks need HTTPS in live mode
  3. Don't Commit .env — Keep your keys private
  4. Trial Period — All subscriptions automatically get 14 days free

That's It!

Once you update the .env file with real Stripe keys, everything will work.

Questions? Read the detailed docs listed above.

Status: Server is running and waiting for your Stripe keys