These are the questions that come up most often from teams evaluating OwnPay, self-hosting it for the first time, or integrating it into an existing stack. If your question isn’t here, open a GitHub Discussion or check the Troubleshooting guide.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/own-pay/OwnPay-Documentation/llms.txt
Use this file to discover all available pages before exploring further.
General
Is OwnPay free to use?
Is OwnPay free to use?
- Hosting — your server costs (shared hosting or VPS)
- Gateway fees — each payment gateway charges its own transaction fees (Stripe, PayPal, etc.)
- Enterprise support — optional paid support plans at support.ownpay.org
Is there a hosted or SaaS version of OwnPay?
Is there a hosted or SaaS version of OwnPay?
- Full control over where data is stored
- No recurring SaaS fees
- Data never leaves your server
- PCI and GDPR compliance stays in your hands
Can I use OwnPay for multiple businesses?
Can I use OwnPay for multiple businesses?
- Each brand has its own custom domain, logo, color scheme, and checkout UI
- Customers, transactions, invoices, and ledger entries are scoped per brand — no cross-brand data bleed
- Each brand can have its own set of enabled gateways with separate credentials
- Staff members can be assigned to specific brands with role-based access control
Payment Gateways
What payment gateways are supported?
What payment gateways are supported?
- Global cards: Stripe, Adyen, Braintree, Authorize.net, Square, Worldpay, Cybersource, Checkout.com, and more
- Digital wallets: Apple Pay, Google Pay, Alipay, PayPal
- Mobile financial services: bKash, Nagad, M-Pesa, MTN MoMo, GCash, Dana, GrabPay, PhonePe
- Buy-now-pay-later: Klarna
- Cryptocurrency: Coinbase Commerce, BTCPay, Bitpay
- Regional platforms: Razorpay, Flutterwave, Paystack, Midtrans, Xendit, Mercado Pago, and dozens more
GatewayAdapterInterface. See the Contributing guide for instructions on building and submitting a new gateway.Can I accept cryptocurrency payments?
Can I accept cryptocurrency payments?
GatewayAdapterInterface.OwnPay itself does not hold, custody, or process crypto — it delegates entirely to the gateway adapter, the same way it delegates card processing to Stripe.Can I build my own custom payment gateway?
Can I build my own custom payment gateway?
modules/gateways/{slug}/ with a manifest.json and a class implementing OwnPay\Gateway\GatewayAdapterInterface. The GatewayDefaults trait provides no-op defaults so you only implement the methods your gateway supports.The gateway plugin system is sandboxed — the source is scanned for dangerous calls (exec, eval, shell_exec, raw PDO) before loading. See the Contributing guide for a full walkthrough.Compliance and Security
Does OwnPay handle PCI compliance?
Does OwnPay handle PCI compliance?
- OwnPay never stores raw card numbers, expiration dates, or CVV codes — card data is handled entirely by the payment gateway (Stripe, Adyen, etc.)
- Customer PII (name, email, phone) is encrypted at rest using AES-256-GCM
- All monetary values use bcmath string arithmetic — never floats
- HTTPS is required; OwnPay enforces HSTS headers
- Keep your server and OwnPay installation up to date
- Use HTTPS with a valid TLS certificate
- Restrict admin access with strong passwords and 2FA
- Monitor and retain audit logs
- Follow your payment gateway provider’s PCI guidance
How is customer data protected?
How is customer data protected?
- AES-256-GCM encryption — name, email, and phone are encrypted at rest
- Hash-based lookup — email and phone are also stored as hashes so lookups never require decryption
- Gateway credentials — API keys and secrets for each gateway are AES-256-GCM encrypted at rest
- Password hashing — staff passwords use Argon2id
ENCRYPTION_KEY in your .env is generated during installation and must never be committed to version control or rotated without re-encrypting all stored data.Does OwnPay comply with AGPL-3.0 license requirements?
Does OwnPay comply with AGPL-3.0 license requirements?
- You may use OwnPay for any purpose, including commercial, at no cost
- If you modify OwnPay and run it as a network service (SaaS), you must make your modifications available under the same license
- If you distribute OwnPay (e.g., as part of a product), your distribution must include the AGPL-3.0 license
- No separate CLA is required for contributions — DCO sign-off is sufficient
Technical Setup
What databases are supported?
What databases are supported?
- All queries use PDO prepared statements with parameter binding
- The schema uses
utf8mb4character set withutf8mb4_unicode_cicollation - Financial data integrity is enforced with
STRICT_TRANS_TABLESSQL mode - Composite indexes on
merchant_idcolumns ensure per-brand query performance - MySQL Stored Generated Columns are used for fast JSON field lookups (requires MySQL 5.7+ / MariaDB 10.2+)
What are the minimum server requirements?
What are the minimum server requirements?
| Component | Minimum | Recommended |
|---|---|---|
| PHP | 8.3+ | 8.3+ |
| RAM | 1 GB | 2 GB+ |
| Database | MySQL 8.0 / MariaDB 10.4 | MySQL 8.0 / MariaDB 10.11 |
| Disk | 5 GB | 20 GB+ |
| Network | Public IP with HTTPS | Dedicated IP, valid TLS cert |
bcmath, json, mbstring, openssl, pdo, pdo_mysql, curl, zip, fileinfo, intl.OwnPay works on shared hosting as long as PHP 8.3+ is available. The vendor/ directory is bundled in release archives, so Composer is not required on the production server.Can I install OwnPay on shared hosting?
Can I install OwnPay on shared hosting?
Operations
How do I get support?
How do I get support?
- Documentation — comprehensive guides and API reference
- Troubleshooting guide — common issues with step-by-step fixes
- GitHub Issues — bug reports (include your OwnPay version, PHP version, and relevant log excerpts)
- GitHub Discussions — questions, feature ideas, and community help
- Enterprise Support — phone and email support, priority response, setup assistance
php public/index.php --version), PHP version, and the relevant log from storage/logs/php-errors.log.How do I report a security vulnerability?
How do I report a security vulnerability?
How often should I update OwnPay?
How often should I update OwnPay?
- Security updates — apply immediately. OwnPay handles financial data and any security patch should be treated as urgent.
- Feature updates — apply when convenient, typically every 1–2 months.
src/Update/UpdateService.php) performs atomic, rollback-safe updates with SHA-256 + RSA signature verification. Enable auto-update via SystemUpdateJob in the cron, or trigger updates manually from Admin → Settings → Updates. Always ensure backups are working before applying an update.