Skip to content

Repository files navigation

OpenPay — Open-Source Payment Infrastructure

Self-hosted, open-source payment infrastructure.
Process payments, manage subscriptions, detect fraud — on your own servers, with zero vendor lock-in.

License: MIT Version Stars Commit Activity Contributions Welcome




Files

File Description
README.md Project overview, quick start, architecture
LICENSE MIT License — free to use, modify, and distribute
CODE_OF_CONDUCT.md Community guidelines for contributors
SECURITY.md Security policy and vulnerability reporting
CONTRIBUTING.md Contribution workflow, code style, PR process
Makefile Development shortcuts (make up, make logs, etc.)
docker-compose.yml Service orchestration for all 10+ microservices
docs/ Full documentation site (Next.js app)



What is OpenPay?

OpenPay is the open-source payments platform that lets you own your payment infrastructure while remaining free to choose or switch payment processors. It gives you everything a commercial platform offers — payments, subscriptions, invoicing, fraud detection, webhooks — self-hosted on your own servers, with zero platform fees.

To be clear about cost: OpenPay charges no platform fees, but payments still cost money. You will always pay your payment processor (Stripe, Adyen, Paystack, etc.) its processing fees, plus the infrastructure and operational costs of running the platform yourself. OpenPay simply never takes a cut and never charges for features.

Instead of paying the platform layer... You pay with OpenPay
2.9% + $0.30 per transaction $0 platform fee — only your processor's fee
$0.40 per invoice $0 — unlimited invoicing
$0.05 per transaction (Radar) $0 — built-in fraud detection
1% currency conversion $0 markup — your processor's exchange rate
Vendor lock-in $0 — swap processors anytime

Quick Start

# 1. Clone the repository
git clone https://github.com/OpenPay-App/OpenPay.git
cd OpenPay

# 2. Copy environment files
cp .env.example .env
cp payment-system/hyperswitch/.env.example payment-system/hyperswitch/.env
cp payment-system/killbill/.env.example payment-system/killbill/.env

# 3. Start everything (10+ services)
make up

# 4. Initialize event streams
./event-bus/nats/scripts/init-streams.sh

# 5. Open the dashboard
open http://localhost:3000

Prerequisites: Docker & Docker Compose (v2.0+), Git, 4GB+ RAM


Architecture

OpenPay is built on battle-tested open-source components connected via NATS JetStream:

Component Technology Purpose
Payment Engine Hyperswitch (Rust) Routes payments to 100+ processors
Subscription Billing Kill Bill (Java) Plans, invoicing, dunning
Event Bus NATS JetStream (Go) Async service communication
Fraud Detection Tazama (Go/TS) Rule evaluation, case management
Reverse Proxy Traefik v2.10 TLS, rate limiting, routing
Database PostgreSQL 15 Persistent storage
Cache Redis 7 Sessions, rate limiting
Dashboard Next.js 15 + TypeScript Merchant UI, docs, landing page

Services

Service Port Description
Merchant Dashboard 3000 (dev) / 3002 (avoid conflict) Merchant UI (Next.js)
Hyperswitch API 8081 Payment processing
Kill Bill API 8082 Subscription billing
Tazama Rule Exec 8084 Fraud rules engine
NATS Monitoring 8222 Event bus dashboard
Traefik Dashboard 8080 Reverse proxy UI
Tazama Rule Studio 3000 Rule authoring
Case Management 3001 Alert review

Internal services (PostgreSQL 5432, Redis 6379, NATS 4222) must never be exposed to the internet.


Use Cases

  • SaaS companies tired of platform fees eating margins
  • Developers wanting full control over their payment stack
  • Businesses needing multi-provider payment routing
  • Fintech teams building on open-source infrastructure
  • Enterprise requiring data sovereignty and self-hosting

Documentation

Full documentation is available at /docs or at https://openpay.dev/docs:

Section Description
Quickstart Get running in 10 minutes
First Payment Process your first test transaction
Architecture System design, event flow, service matrix
API Reference REST endpoints, request/response formats
Self-Hosting Docker setup, env vars, production deploy
Security Key management, encryption, PCI compliance
Troubleshooting Common issues and solutions
Webhooks Event types, retry policy, signature verification
Contributing How to contribute code, docs, or ideas

Community


License

MIT — Free to use, modify, and distribute. OpenPay is built for the community, by the community.




Built with ❤️ for the open-source community · MIT Licensed · 100% Free
OpenPay is not affiliated with Stripe, Paystack, Hyperswitch, or Kill Bill.

About

OpenPay is the open-source payments platform that lets you own your payment infrastructure while remaining free to choose or switch payment processors.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages