Skip to main content
Get your self-hosted payment gateway running and accept a test payment in under five minutes. This guide walks you through every step - from deploying OwnPay to completing a transaction.
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.
Works with cPanel, Plesk, DirectAdmin, and most shared hosts.
  1. Download the latest release from GitHub Releases.
  2. Upload the .zip to your web root (public_html/) and extract it.
  3. Set PHP to 8.3 in your hosting control panel.
  4. Create a MySQL database and user with ALL PRIVILEGES.
If extraction creates a nested folder (for example, public_html/ownpay-v0.2.0/), move all files up one level into public_html/ directly.

Step 2: Run the web installer

Open your browser and navigate to https://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.
After logging in for the first time, change your admin password and enable two-factor authentication under My Account.

Step 3: Create your first brand

A brand is your isolated merchant tenant - it holds its own gateways, customers, transactions, and ledger.
  1. Go to People > Brands in the sidebar.
  2. Click Add Brand.
  3. 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

  1. Go to Gateways in the sidebar.
  2. 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.
  3. Enter your provider credentials (API key, secret, merchant ID).
  4. 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.
  1. Go to Payments > Payment Links.
  2. Click Create Payment Link.
  3. Fill in:
    • Title - a description for the payment (for example, “Pro Plan - Monthly”)
    • Amount - the charge amount
    • Currency - defaults to your brand’s currency
  4. Save the link.
OwnPay generates a unique URL you can share via email, chat, or embed on your website.

Step 6: Test the checkout

  1. Open the payment link in an incognito browser window.
  2. Select your activated gateway from the checkout page.
  3. Complete a test payment using your gateway’s sandbox/test mode credentials.
  4. Confirm you see the success page.
Use your gateway’s test mode for this step. Stripe test cards like 4242 4242 4242 4242 work perfectly. No real money changes hands.

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.
Last modified on August 25, 2026