Skip to content

nellcorp/znpay

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zenobia Pay

Overview

Open source payments! Like pix or UPI or wechat, for the US. Zenobia Pay is an open-source payment platform that enables merchants to accept payments through bank transfers, eliminating traditional credit card processing fees.

Architecture

This is a monorepo containing all the web apps used in Zenobia Pay. For the core payment service, see the core repo. For the ios app, see the ios repo.

Apps

Core Applications

  • Admin Console - Administrative "God mode" interface for viewing all merchants and transactions
  • Dashboard - Merchant SPA for transaction management, manual orders, and platform integrations
  • Landing Page - Public website with marketing content, blog, and CDN for integration scripts

Services

  • Transfer Status - Real-time WebSocket service for payment status tracking
  • Verified - Verification service for transaction authenticity

Examples & Demos

  • Merchant Solid - Sample e-commerce site demonstrating Zenobia Pay integration

Packages

Public NPM Packages

Key Features

  • Bank Transfer Payments: Direct bank-to-bank transfers without credit card fees
  • Real-time Status Updates: WebSocket-based payment tracking
  • E-commerce Integrations: Shopify and BigCommerce apps
  • Merchant Dashboard: Complete payment management interface
  • QR Code Payments: Mobile-friendly payment collection
  • Multi-environment Support: Production and sandbox environments
  • Open Source: Full source code available

Tech Stack

  • Frontend: Solid.js, Tailwind CSS
  • Backend: Cloudflare Workers, Durable Objects
  • Database: Cloudflare D1 (SQLite), KV storage
  • Authentication: Auth0
  • Deployment: Cloudflare Pages/Workers
  • Build Tools: Vite, Wrangler, TypeScript
  • Payments: Bank transfer infrastructure

Quick Start

Prerequisites

  • Node.js 18+
  • npm or pnpm
  • Cloudflare account (for deployment)

Development Setup

  1. Clone the repository
git clone https://github.com/zenobia-pay/zenobia-pay.git
cd zenobia-pay
  1. Install dependencies
# Install all app dependencies (if using workspaces)
npm install

# Or install for specific apps
cd apps/dashboard && npm install
cd apps/admin-console && npm install
  1. Environment Configuration

Each app has its own environment configuration. See individual app READMEs for specific setup instructions.

  1. Run Development Servers
# Dashboard (merchants)
cd apps/dashboard && npm run dev

# Admin Console (internal)
cd apps/admin-console && npm run dev

# Landing Page (public)
cd apps/landing-page && npm start

# Transfer Status Service
cd apps/transfer-status && npm run dev

Project Structure

zenobia-pay/
├── apps/
│   ├── admin-console/      # Administrative interface
│   ├── dashboard/          # Merchant dashboard
│   ├── landing-page/       # Public website & CDN
│   ├── merchant-solid/     # Example integration
│   ├── transfer-status/    # Real-time status service
│   └── verified/          # Verification service
├── packages/
│   ├── client/            # Core JavaScript SDK
│   └── ui-solid/          # Solid.js UI components
└── README.md              # This file

Integration Guide

For Merchants

1. Using NPM Packages

npm install @zenobia/ui-solid
import { ZenobiaPayButton } from "@zenobia/ui-solid";

<ZenobiaPayButton
  amount={100.0}
  orderId="order-123"
  merchantId="your-merchant-id"
  onSuccess={handlePaymentSuccess}
/>;

2. Using Script Tags

<script src="https://zenobiapay.com/embed/latest/zenobia-pay.js"></script>
<script>
  ZenobiaPay.mount("#payment-button", {
    amount: 100.0,
    orderId: "order-123",
    merchantId: "your-merchant-id",
  });
</script>

3. E-commerce Platform Apps

  • Install the Zenobia Pay app from Shopify App Store
  • Install the Zenobia Pay app from BigCommerce Marketplace

For Developers

See the Merchant Solid example app for a complete integration reference.

Deployment

Production Deployments

Each app has its own deployment process:

# Dashboard
cd apps/dashboard && npm run deploy

# Admin Console
cd apps/admin-console && npm run deploy

# Landing Page
cd apps/landing-page && npm run deploy

# Transfer Status
cd apps/transfer-status && npm run deploy

Package Publishing

# Client SDK
cd packages/client && npm run release

# UI Components
cd packages/ui-solid && npm run release

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Development Workflow

License

This project is licensed under the MIT License - see the LICENSE file for details.

Open source payments for everyone! 🚀

About

Monorepo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.4%
  • MDX 7.2%
  • Other 1.4%