Skip to content
Menu
DevSecOps Now!!!
  • About
  • Certifications
  • Contact
  • Courses
  • DevSecOps Consulting
  • DevSecOps Tools
  • Training
  • Tutorials
DevSecOps Now!!!

How to Build a Laravel-Based SaaS Subscription System with PayPal and PayTM (Without Stripe/Paddle) — Self-Hosted, Spark-Like Module

Posted on April 25, 2025

Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

Laravel Spark offers a pre-built SaaS solution with Stripe/Paddle integration—but what if you want full control, Indian-friendly payments, and no dependency on Stripe/Paddle?

This tutorial walks you through building your own subscription-based SaaS module in Laravel—with PayPal and PayTM as your payment gateways.
It’s fully self-hosted, integrates easily into other Laravel projects, and works for both web and mobile platforms.


🧠 Why Avoid Laravel Spark + Stripe/Paddle?

ReasonExplanation
❌ Stripe/Paddle LimitationsThese don’t support Indian merchants natively (especially recurring logic).
❌ Hosted Payment UIYou can’t fully control the look and flow of your payment pages.
❌ Vendor Lock-inYou’re tied to their terms, limits, and region availability.

✅ Instead, you’ll build a Spark-like system that’s modular, flexible, and fully yours!


Features You’ll Build

  • User Auth (Register/Login)
  • Plan Management (Free, Monthly, Yearly)
  • Payment Gateways: PayPal + PayTM
  • Subscription Logic (Start, Cancel, Expire)
  • Webhook Listeners (for transaction updates)
  • Invoicing (PDF download)
  • Admin Panel
  • API Support for App Integration

🛠️ Tools You’ll Use

CategoryTools
FrameworkLaravel 10+
AuthLaravel Breeze / Jetstream
UI ComponentsBlade / Inertia + TailwindCSS
Payment GatewaysPayPal REST API, PayTM Checksum
PDF InvoicingDomPDF / Laravel Snappy
Admin PanelLaravel Nova (optional)
DeploymentYour VPS / Shared Hosting

🗂️ Project Setup (Day 0)

composer create-project laravel/laravel saas-system
cd saas-system
composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate

📋 Step 1: Build Plans & Subscriptions Schema

php artisan make:migration create_plans_table
php artisan make:migration create_subscriptions_table
php artisan make:migration create_invoices_table

plans table

Schema::create('plans', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->decimal('price');
    $table->string('interval'); // monthly/yearly
    $table->text('features')->nullable(); // JSON
    $table->timestamps();
});

subscriptions table

Schema::create('subscriptions', function (Blueprint $table) {
    $table->id();
    $table->foreignId('user_id')->constrained()->onDelete('cascade');
    $table->foreignId('plan_id')->constrained()->onDelete('cascade');
    $table->string('status'); // active, cancelled, expired
    $table->timestamp('start_date');
    $table->timestamp('end_date')->nullable();
    $table->string('gateway'); // paypal, paytm
    $table->string('transaction_id')->nullable();
    $table->timestamps();
});

invoices table

Schema::create('invoices', function (Blueprint $table) {
    $table->id();
    $table->foreignId('subscription_id')->constrained()->onDelete('cascade');
    $table->decimal('amount');
    $table->string('pdf_url')->nullable();
    $table->string('status'); // paid, pending
    $table->timestamps();
});
php artisan migrate

💳 Step 2: Integrate PayPal Checkout (Server-Side)

Install SDK:

composer require paypal/rest-api-sdk-php

Setup PayPal Config in .env

PAYPAL_CLIENT_ID=your_client_id
PAYPAL_SECRET=your_secret
PAYPAL_MODE=sandbox

Create service class PayPalService.php to handle:

  • Order Creation
  • Approval Redirection
  • Capture Payment
  • Store Transaction in DB

👉 [Want full PayPal code? Let me know in the comments!]


🇮🇳 Step 3: Integrate PayTM Gateway

Use PayTM’s official checksum kit in Laravel.

Steps:

  • Set keys in .env
  • Create PaytmController to handle:
    • Form submission
    • Generate checksum
    • Redirect to PayTM
    • Callback route to verify checksum
  • Update subscription status post payment

👉 [Full PayTM integration tutorial here — coming soon!]


📄 Step 4: Blade UI – Plans & Subscriptions

/plans.blade.php

@foreach ($plans as $plan)
  <div class="plan-box">
    <h2>{{ $plan->name }}</h2>
    <p>{{ $plan->price }} INR</p>
    <a href="{{ route('checkout', $plan->id) }}">Choose Plan</a>
  </div>
@endforeach

Subscription Controller Flow:

public function checkout($planId)
{
    $plan = Plan::findOrFail($planId);
    return view('checkout', compact('plan'));
}

🧾 Step 5: Generate Invoices (PDF)

Install package:

composer require barryvdh/laravel-dompdf
$pdf = PDF::loadView('invoice-pdf', ['subscription' => $sub]);
$path = 'invoices/' . uniqid() . '.pdf';
Storage::put($path, $pdf->output());

🛠️ Step 6: Admin Panel

Use Laravel Nova, Filament, or a custom admin UI:

  • View all subscriptions
  • Create/edit/delete plans
  • View payments and invoices

📱 Step 7: API Support for Mobile

Install Sanctum:

composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate

Add routes:

Route::middleware('auth:sanctum')->get('/subscriptions', function () {
    return auth()->user()->subscriptions;
});

🚀 Deployment Guide

  • Use Forge, DigitalOcean, or manually deploy to your VPS.
  • Use Laravel scheduler to handle subscription expiry.
  • Use Supervisor to queue webhook handling and PDF generation jobs.

Post Views: 1,176
  • Build a Laravel-Based SaaS Subscription
  • How to Build a Laravel-Based SaaS Subscription System
  • laravel
  • Laravel-Based SaaS Subscription System
  • Laravel-Based SaaS Subscription System with PayPal
  • Laravel-Based SaaS Subscription System with PayTm
  • PayPal
  • Paytm
  • SaaS Subscription System
Subscribe
Login
Notify of
guest
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
  • Master the Machine Learning Lifecycle:Guide to Becoming a Certified MLOps Architect
  • How to Build a Project-Level AI Memory System That Works Across Codex, Claude, and Other AI Coding Tools
  • Certified MLOps Professional: A Deep Dive into the Certified MLOps Professional Certification
  • Certified MLOps Engineer : The Comprehensive Guide to Mastering Machine Learning Operations
  • Codex vs Claude: A Complete Practical Guide for Modern Developers (2026)
  • Certified AIOps Professional Program A Guide to Career Growth
  • Keycloak Multi-Client Architecture with Project-Based Email Validation (Student, Trainer, Company, Consulting)
  • Incorrect definition of table mysql.column_stats
  • Mautic and PHP 8.3 Compatibility Guide (2026)
  • Certified AIOps Engineer: The Complete Career Path and Certification Guide
  • How to Rename Apache Virtual Host Files Safely (Step-by-Step Guide for Linux)
  • AIOps Foundation Certification: Everything You Need to Know to Get Certified
  • DevOps to Certified Site Reliability Professional: A Senior Mentor’s Guide
  • Certified Site Reliability Manager Training, Preparation, and Career Mapping
  • Certified Site Reliability Architect: The Complete Career Guide
  • What Is a VPN? A Complete Beginner-to-Advanced Tutorial
  • How to Install, Secure, and Tune MySQL 8.4 on Ubuntu 24.04 for Apache Event MPM and PHP-FPM
  • Complete Guide to Certified Site Reliability Engineer Career
  • Certified DevSecOps Professional Step by Step
  • Certified DevSecOps Manager: Complete Career Guide
  • Certified DevSecOps Engineer: Skills, Career Path and Certification Guide
  • Step-by-Step: Become a Certified DevSecOps Architect
  • Tuning PHP 8.3 for Apache Event MPM and PHP-FPM on Ubuntu: A Complete Step-by-Step Production Guide
  • Complete Step-by-Step Guide to Configure Apache Event MPM, Create index.php, Set Up VirtualHost, and Fix Ubuntu Default Page
  • Convert XAMPP Apache to Event MPM + System PHP-FPM
  • The Gateway to System Observability Engineering (MOE)
  • How to Finetune Apache and Prove It Works: A Real-World Guide to Testing Performance, Concurrency, HTTP/2, Memory, CPU, and Security
  • Building a High-Performance Apache Event MPM + PHP-FPM + MariaDB Stack (Advanced Server Optimization Guide)
  • Master Infrastructure as Code: The Complete Hashicorp Terraform Associate Guide
  • Building a High-Performance Apache Server with Event MPM + PHP-FPM (Step-by-Step Guide)

Recent Comments

  1. emmy day on SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘provider’ in ‘field list’
  2. digital banking on Complete Tutorial: Setting Up Laravel Telescope Correctly (Windows + XAMPP + Custom Domain)
  3. SAHIL DHINGRA on How to Uninstall Xampp from your machine when it is not visible in Control panel programs & Feature ?
  4. Abhishek on MySQL: List of Comprehensive List of approach to secure MySQL servers.
  5. Kristina on Best practices to followed in .httacess to avoid DDOS attack?

Archives

  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022

Categories

  • Ai
  • AI Blogging
  • AiOps
  • ajax
  • Android Studio
  • Antimalware
  • Antivirus
  • Apache
  • Api
  • API Security
  • Api Testing
  • APK
  • Aws
  • Bike Rental Services
  • ChatGPT
  • Code Linting
  • Composer
  • cPanel
  • Cyber Threat Intelligence
  • Cybersecurity
  • Data Loss Prevention
  • Database
  • dataops
  • Deception Technology
  • DeepSeek
  • Devops
  • DevSecOps
  • DevTools
  • Digital Asset Management
  • Digital Certificates
  • Docker
  • Drupal
  • emulator
  • Encryption Tools
  • Endpoint Security Tools
  • Error
  • facebook
  • Firewalls
  • Flutter
  • git
  • GITHUB
  • Google Antigravity
  • Google play console
  • Google reCAPTCHA
  • Gradle
  • Guest posting
  • health and fitness
  • IDE
  • Identity and Access Management
  • Incident Response
  • Instagram
  • Intrusion Detection and Prevention Systems
  • jobs
  • Joomla
  • Keycloak
  • Laravel
  • Law News
  • Lawyer Discussion
  • Legal Advice
  • Linkedin
  • Linkedin Api
  • Linux
  • Livewire
  • Mautic
  • Medical Tourism
  • MlOps
  • MobaXterm
  • Mobile Device Management
  • Multi-Factor Authentication
  • MySql
  • Network Traffic Analysis tools
  • Paytm
  • Penetration Testing
  • php
  • PHPMyAdmin
  • Pinterest Api
  • Quora
  • SAST
  • SecOps
  • Secure File Transfer Protocol
  • Security Analytics Tools
  • Security Auditing Tools
  • Security Information and Event Management
  • Seo
  • Server Management Tools
  • Single Sign-On
  • Site Reliability Engineering
  • soft 404
  • software
  • SuiteCRM
  • SysOps
  • Threat Model
  • Twitter
  • Twitter Api
  • ubuntu
  • Uncategorized
  • Virtual Host
  • Virtual Private Networks
  • VPNs
  • Vulnerability Assessment Tools
  • Web Application Firewalls
  • Windows Processor
  • Wordpress
  • WSL (Windows Subsystem for Linux)
  • X.com
  • Xampp
  • Youtube
©2026 DevSecOps Now!!! | WordPress Theme: EcoCoded
wpDiscuz