Developers looking to integrate the API should start with the Developer Quickstart instead.
Prerequisites
Before you start, make sure you have:- PHP 8.3+ with
bcmath,pdo_mysql,mbstring,curl,gd,zip,json,openssl,intl - MySQL 8+ (or MariaDB 10.4+)
- A domain with HTTPS - SSL is required for payment processing
- About 5 minutes of focused time
Step 1: Deploy OwnPay
Choose your hosting environment. Each tab covers the essentials - visit Installation for the full guide.- VPS with Nginx
- Docker
Step 2: Run the web installer
Open your browser and navigate tohttps://yourdomain.com/install. The setup wizard walks you through four stages:
1
Connect your database
Enter the MySQL host, database name, username, and password you created in Step 1. The wizard tests the connection and confirms it can read and write.
2
Import the schema
OwnPay automatically creates all required tables - ledger accounts, brands, gateways, transactions, and settings. No manual SQL needed.
3
Create your admin account
Register a master administrator with your email and a strong password. This account has full system access across all brands.
4
Generate API keys
The wizard generates your first set of API keys for the Merchant, Mobile, and Admin APIs. Store these securely - you won’t see the secret again.
Step 3: Create your first brand
A brand is your isolated merchant tenant - it holds its own gateways, customers, transactions, and ledger.- Go to People > Brands in the sidebar.
- Click Add Brand.
- Fill in:
- Brand name - the display name customers see (for example, “Acme Store”)
- Default currency - the primary currency for this brand
- Timezone - used for reports and timestamps
- Logo - upload your brand’s logo for the checkout page
You can always add more brands later. Each brand operates in complete isolation from the others.
Step 4: Activate a payment gateway
- Go to Gateways in the sidebar.
-
Click Add Gateway and choose from the available providers:
Stripe
Cards, Apple Pay, Google Pay - global coverage.bKash
Mobile money - Bangladesh.PayPal
PayPal accounts and cards - worldwide.Nagad
Mobile payment - Bangladesh.SSLCommerz
Cards and bank transfers - South Asia.Razorpay
Cards, UPI, wallets - India. - Enter your provider credentials (API key, secret, merchant ID).
- Toggle Active to enable the gateway for your brand.
All gateway credentials are encrypted at rest using AES-256-GCM. OwnPay never stores raw secrets in the database.
Step 5: Create a payment link
- Go to Payments > Payment Links.
- Click Create Payment Link.
- Fill in:
- Title - a description for the payment (for example, “Pro Plan - Monthly”)
- Amount - the charge amount
- Currency - defaults to your brand’s currency
- Save the link.
Step 6: Test the checkout
- Open the payment link in an incognito browser window.
- Select your activated gateway from the checkout page.
- Complete a test payment using your gateway’s sandbox/test mode credentials.
- Confirm you see the success page.
What’s next?
Accept payments on your website
Integrate OwnPay into your app using the Merchant API, webhooks, and SDKs.
Set up a custom domain
Serve your checkout on
pay.yourbrand.com with automated SSL and white-label branding.Invite your team
Add staff members with role-based permissions so your team can manage payments collaboratively.
Related pages
- Installation - detailed deployment for all environments
- How OwnPay works - architecture and concepts overview
- Gateway configuration - full setup guide for each provider
- Payment flow - understand transaction statuses and lifecycle
- Developer quickstart - API integration guide