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,158
  • 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
  • Certified AIOps Professional Program A Guide to Career Growth
  • 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)
  • Is XAMPP Safer for Production Than Using Apache and PHP as Root? 2026 Practical Guide
  • Unlock Cloud Security Expertise with Certified Kubernetes Security Specialist (CKS)
  • How to Fix wpDiscuz Not Replacing Default WordPress Comments in Block Themes
  • Complete Guide to Certified Kubernetes Application Developer Certification
  • Overview of Certified Kubernetes Administrator (CKA) Certification
  • How to Install and Configure XAMPP on Ubuntu 24 Server (Latest Version – 2026 Complete Guide)

Recent Comments

  1. digital banking on Complete Tutorial: Setting Up Laravel Telescope Correctly (Windows + XAMPP + Custom Domain)
  2. SAHIL DHINGRA on How to Uninstall Xampp from your machine when it is not visible in Control panel programs & Feature ?
  3. Abhishek on MySQL: List of Comprehensive List of approach to secure MySQL servers.
  4. Kristina on Best practices to followed in .httacess to avoid DDOS attack?
  5. Roshan Jha on Git all Commands

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