Build on
ChargePanda
Create modules that extend the platform for thousands of users. Full Laravel package architecture, admin panel integration, account portal views, REST API access, and a marketplace to distribute your work.
{
"name": "My Module",
"slug": "my-module",
"version": "1.0.0",
"description": "Extends ChargePanda...",
"provider": "Modules\\MyModule\\ServiceProvider",
"author": "Your Name",
"requires": {
"core": ">=3.0.0"
}
}
What is a ChargePanda module?
Modules are self-contained Laravel packages that integrate directly with the ChargePanda core — adding admin pages, account portal UI, database tables, background jobs, and API endpoints.
Self-contained package
Each module has its own migrations, service provider, views, and routes — all isolated from the core. Modules can't break each other.
Dependency system
Declare dependencies in module.json. The module manager resolves and validates them at activation — no broken installs.
Zero-downtime install
Customers upload a ZIP or click install. Migrations run automatically. Service provider registers. No server restart required.
Module anatomy
A module is a standard Laravel package with a ChargePanda manifest. If you can write a Laravel service provider, you can build a module.
modules/
└── my-module/
├── module.json ← manifest
├── src/
│ ├── MyModuleServiceProvider.php
│ ├── Http/Controllers/
│ ├── Models/
│ └── Services/
├── database/migrations/
├── resources/views/
│ ├── admin/ ← admin panel
│ └── account/ ← customer portal
└── routes/
├── admin.php
└── account.php
{
"name": "Payment Recovery",
"slug": "payment-recovery",
"version": "1.0.0",
"description": "Dunning & failed payment recovery",
"provider": "Modules\\PaymentRecovery\\ServiceProvider",
"author": "Acme Dev",
"author_url": "https://acmedev.com",
"requires": {
"core": ">=3.0.0"
},
"settings": [
{
"key": "retry_attempts",
"type": "integer",
"default": 3
}
]
}
namespace Modules\MyModule;
use App\Services\AdminNavService;
use App\Events\OrderPaid;
use Illuminate\Support\ServiceProvider;
class MyModuleServiceProvider extends ServiceProvider
{
public function boot(): void
{
// Register admin nav entry
AdminNavService::add('My Module', route('my-module.index'), icon: 'ti-plug');
// Listen to core events
Event::listen(OrderPaid::class, [MyOrderListener::class, 'handle']);
// Load module routes, views, migrations
$this->loadRoutesFrom(__DIR__.'/../routes/admin.php');
$this->loadViewsFrom(__DIR__.'/../resources/views', 'my-module');
$this->loadMigrationsFrom(__DIR__.'/../database/migrations');
}
}
What you get access to
Everything you need to build a production-grade module without reinventing infrastructure.
Core events
OrderPaid, LicenseActivated, SubscriptionRenewed, SubscriptionCancelled, TicketCreated — all fired with full model data. Listen in your service provider, trigger anything.
Admin panel nav
Register sidebar entries, sub-nav sections, and dashboard widgets via AdminNavService. Your module feels native to the admin panel.
Account portal UI
Add pages to the customer-facing account portal. Customers see your module's UI alongside their orders, licenses, and subscriptions — same design system.
Background jobs
Dispatch jobs on the shared queue worker. Long-running tasks (AI processing, report generation, email sequences) run asynchronously without blocking requests.
REST API extension
Register new endpoints under /api/modules/{slug}/. Full middleware stack, authentication, and rate limiting inherited from the core.
Settings storage
Declare settings in module.json. ChargePanda auto-generates an admin settings UI and stores values in the settings table. No boilerplate.
Full Composer ecosystem
Your module is a standard Laravel package. Use any Composer dependency — Guzzle, Spatie, OpenAI PHP — without conflicts.
Migrations & rollback
Module migrations run on activation, roll back on deactivation. Clean installs and clean uninstalls, every time.
Study real modules
The existing free modules are open for inspection once installed. Use them as working reference implementations.
The shared engine for AI-powered modules. Shows how to build async task runners, OpenAI integrations, billing integrations, and account-facing dashboards. The reference implementation for complex modules.
View in marketplace →Six AI-powered SEO tools. Shows how to build multi-tool modules with tabbed admin UI, background job processing, result storage, and dependency management on AI Agents Core.
View in marketplace →Submit your module to the marketplace
Reach all ChargePanda users. List your module in the marketplace and manage distribution, versioning, and updates through the platform.