A complete, production-ready subscription billing system with Stripe integration.
- API:
https://your-deployment.railway.app(deploy dengan Railway/Render) - Test Credentials:
test@example.com/password123 - Test Card:
4242 4242 4242 4242
- Backend: Node.js, Express, SQLite, Sequelize
- Frontend: React.js, Vite, Tailwind
- Payment: Stripe API (Full Integration)
- Auth: JWT, bcrypt
- Webhooks: Stripe Webhook Signature Verification
- ✅ User Authentication (Register/Login with JWT)
- ✅ Product & Price Management (Sync from Stripe)
- ✅ Stripe Checkout Integration
- ✅ Subscription Management (Create/Read/Update)
- ✅ Webhook Handling with Signature Verification
- ✅ Customer Portal Integration
- ✅ Invoice Tracking
- ✅ Database Models (User, Product, Subscription, Invoice)
git clone https://github.com/chelbapolandaa/Subscription-Billing-System-with-Stripe.git
cd backend
npm install
cp .env.example .env- Get API keys from Stripe Dashboard
- Update .env with your keys
- Run npm run stripe:sync to sync products
npm run db:sync
npm run dev# Register user
curl -X POST http://localhost:5000/api/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com","password":"password123"}'
# Create checkout
curl -X POST http://localhost:5000/api/subscriptions/create-checkout-session \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"priceId":"price_XXXX"}'- Run
stripe listen --forward-to localhost:5000/api/webhook - Copy webhook secret to .env
- Restart server
This project is licensed under the MIT License - see the LICENSE file for details.
Built with Hardcore Mode






