The big picture
This sequence plays out the same way whether the payment comes from a hosted checkout page, a payment link, or the Merchant API.Key concepts at a glance
Brands
Isolated merchant tenants - each brand has its own gateways, domain, staff, API keys, and ledger.
Payment flow
The lifecycle of a transaction from creation through processing to completion, failure, or expiry.
Gateways
Plugin-based integrations with 123+ payment providers, with encrypted credential storage and per-brand assignment.
Ledger
Double-entry bookkeeping that records every money movement as balanced debit-credit pairs per brand.
Plugins
Extensible architecture with four plugin types - gateway, addon, theme, and integration - using hooks and events.
Domains
White-label custom domains per brand with automated DNS verification and SSL certificate provisioning.
What makes OwnPay different
- Self-hosted with full data sovereignty - your server, your database, your rules. Customer PII is encrypted with AES-256-GCM at rest. No third party sees your data.
- 123+ gateways out of the box - international processors (Stripe, PayPal) alongside regional leaders (bKash, Nagad, GCash, Razorpay, SSLCommerz) with more added every release.
- Zero transaction fees from OwnPay - licensed under AGPL-3.0. You only pay your gateway’s own processing fees.
- AGPL-3.0 licensed and free forever - no feature gates, no licensing tiers, no phone-home telemetry. Full source on GitHub.
- Plugin-extensible - add gateways, themes, addons, and integrations without modifying core code. Over 60 hooks and a full event system.
- Double-entry ledger - accounting-grade financial tracking with
bcmath-powered precision, brand isolation, and built-in reconciliation.
Who is OwnPay for?
Technical stack summary
Runtime
- PHP 8.3+ (custom framework, not Laravel)
- Twig 3 for server-side templates
- Vanilla JavaScript on the frontend
bcmathfor all monetary calculations- AES-256-GCM for PII encryption
Infrastructure
- MySQL 8+ (schema, transactions, ledger)
- Redis (caching, session, queue)
- Nginx or Apache with PHP-FPM
- Docker Compose support
Integration
- 3 REST API layers (Merchant / Mobile / Admin)
- HMAC-SHA256 webhook signatures
- Android companion app for SMS verification
- Plugin SDK with hooks, filters, events
Related pages
- Quickstart - get running in 5 minutes
- Features - complete feature list and comparisons
- Architecture - deep-dive into the internal design
- API overview - Merchant, Mobile, and Admin API reference
- Plugins overview - build your own extensions