Get OwnPay running on your machine for development and contribution - on Windows, macOS, or Linux. The fast path below takes about 2 minutes after the prerequisites are installed.
New to the codebase? Read ARCHITECTURE.md first.
Prerequisites
Tip: The all-in-one stacks below (Laragon / Herd / Docker) bundle PHP + MySQL + a web server so you don’t install them separately.
Check your PHP version and extensions:
This uses PHP’s built-in web server, so it works identically on Windows, macOS, and Linux. No web-server config needed.
Now open http://localhost:8000 in your browser. You’ll be redirected to the /install wizard - it generates your .env, imports the schema, and creates your admin account for you. No manual .env editing required.
The installer writes a lock file at storage/.installed. To re-run the installer, delete that file (and drop/recreate the DB).
Prefer a real web server and pretty *.test domains? Use a bundled stack. The Quick Start still applies - just point the stack’s web root at public/.
🪟 Windows - Laragon (recommended)
Laragon bundles PHP, MySQL, Apache/Nginx, and auto-creates .test domains.
- Install Laragon and start it (Start All).
- Make sure the bundled PHP is 8.3+ (Menu → PHP → Version). Switch if needed.
- Put the project in Laragon’s
www folder: C:\laragon\www\ownpay.
- Laragon auto-creates the vhost
http://ownpay.test (Menu → Reload/Restart All if it doesn’t appear).
- Create the database in HeidiSQL (bundled) or run the
CREATE DATABASE command above.
- Visit http://ownpay.test → the installer wizard runs.
Laragon’s document root maps to the project’s public/ automatically via the bundled rewrite rules.
🍎 macOS - Laravel Herd (recommended)
Herd is a free, one-click PHP environment (PHP + Nginx + dnsmasq for .test domains).
- Install Herd. It ships PHP 8.3+ and Composer.
- Add the folder that contains the project as a Parked path (Herd → Settings → General), or
herd park from the parent directory.
- Herd serves it at
https://ownpay.test (Herd points the site at public/ automatically).
- Start MySQL with DBngin (free) or Homebrew (
brew install mysql && brew services start mysql), then create the ownpay database.
- Visit https://ownpay.test → the installer wizard runs.
Homebrew-only alternative: brew install [email protected] composer mysql then use the Quick Start built-in-server path.
🐧 Linux - native packages
(Fedora: sudo dnf install php-cli php-mysqlnd php-mbstring php-bcmath php-json composer mariadb-server.)
For a production-like Nginx/Apache vhost, point the document root at public/ and route all requests to public/index.php (an Apache .htaccess is already included; an nginx.conf.example ships in the repo root).
After install - verify your setup
Run the same checks CI does:
All three should pass on a clean checkout.
Optional: local payment-gateway callbacks
External gateways (bKash, Stripe, etc.) can’t reach localhost/*.test. To test real redirects/webhooks, expose your local server with a tunnel and set GATEWAY_CALLBACK_URL in .env:
Troubleshooting
Project layout & where to start
See ARCHITECTURE.md for the full map. Most contributions touch:
src/Controller/ - HTTP handlers
src/Service/ - business logic
src/Repository/ - data access
modules/gateways/ - payment integrations (see the Plugin Developer Guide)
templates/ - Twig views
Happy hacking! 🚀 Last modified on August 25, 2026