Telegram频道加密货币订阅支付系统

PayGate Prime是一个为Telegram频道所有者提供的加密货币订阅支付系统,支持多级定价、多种区块链网络和货币,并提供支付钱包地址配置功能。

  • by chadSTATUS
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 YossTechLLC/Website_MCP

使用说明

PayGate Prime-渠道注册系统

一个现代、安全、响应迅速的Telegram频道注册系统,采用经典的全栈架构(无Webhook)构建。

项目概述

PayGate Prime允许Telegram频道所有者为基于加密货币的订阅支付系统注册他们的频道。用户可以配置多个定价层,选择首选的加密货币网络和货币,并提供支付钱包地址。

技术栈

  • 后端: FastAPI(Python 3.11+)
  • 前端: React 18+TypeScript+Vite
  • 数据库: PostgreSQL 15+
  • 造型: Tailwind CSS
  • 部署: 谷歌云平台(云运行+云SQL)

看 TECH_STACK.md 详细的技术决策。

项目结构

Website_MCP/
├── backend/          # FastAPI backend application
├── frontend/         # React frontend application
├── docker-compose.yml
├── .gitignore
├── README.md
├── TECH_STACK.md
└── Test_Scope_Checklist_1.md

特性

核心功能

  • 通道注册与验证
  • 多层订阅定价(1-3层)
  • 支持12+区块链网络
  • 支持40多种加密货币
  • 加密货币钱包地址验证
  • 动态网络货币过滤

安全特性

  • 谷歌reCAPTCHA v3集成
  • 速率限制(每个IP每小时5个注册)
  • CSRF保护
  • SQL注入预防
  • XSS保护
  • 输入净化
  • 安全标头(CSP、HSTS等)

用户体验

  • 移动优先响应式设计
  • 实时表单验证
  • 渐进式披露
  • 无障碍(WCAG 2.1 AA)
  • 加载状态和错误处理
  • 成功通知

入门指南

先决条件

  • Python 3.11+
  • Node.js 18+
  • PostgreSQL 15+
  • Docker和Docker Compose(可选)
  • 谷歌云SDK(用于部署)

后端设置

  1. 导航到后端目录:

    cd backend
    
  2. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 配置环境变量:

    cp .env.example .env
    # Edit .env with your configuration
    
  5. 运行数据库迁移:

    alembic upgrade head
    
  6. 启动开发服务器:

    uvicorn app.main:app --reload --port 8000
    

后端将在 http://localhost:8000 API文件,网址: http://localhost:8000/docs

前端设置

  1. 导航到前端目录:

    cd frontend
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    cp .env.example .env
    # Edit .env with your configuration
    
  4. 启动开发服务器:

    npm run dev
    

前端将在 http://localhost:5173

Docker Compose(推荐用于开发)

docker-compose up -d

这将开始:

  • 端口5432上的PostgreSQL数据库
  • 端口8000上的后端API
  • 端口5173上的前端开发服务器

开发工作流程

运行测试

后端:

cd backend
pytest
pytest --cov=app --cov-report=html  # With coverage

前端:

cd frontend
npm test
npm run test:coverage  # With coverage

代码质量

后端:

black .              # Format code
flake8 .            # Lint code
mypy .              # Type check

前端:

npm run lint        # ESLint
npm run format      # Prettier

生产大楼

后端:

docker build -t paygate-backend:latest ./backend

前端:

cd frontend
npm run build

部署

谷歌云平台

  1. 设置云SQL:

    gcloud sql instances create mcp-test-paygate-db \
      --database-version=POSTGRES_15 \
      --tier=db-f1-micro \
      --region=us-central1
    
  2. 将后端部署到Cloud Run:

    gcloud run deploy mcp-test-paygate-api \
      --source ./backend \
      --region us-central1 \
      --allow-unauthenticated
    
  3. 将前端部署到Cloud Run:

    gcloud run deploy mcp-test-paygate-web \
      --source ./frontend \
      --region us-central1 \
      --allow-unauthenticated
    

请参阅中的详细部署说明 docs/DEPLOYMENT.md (待创建)。

环境变量

后端(.env)

# Application
APP_NAME="PayGate Prime"
APP_VERSION="1.0.0"
DEBUG=false
SECRET_KEY="<your-secret-key>"

# Database
DB_HOST="localhost"
DB_PORT=5432
DB_NAME="paygate_test"
DB_USER="paygate_user"
DB_PASSWORD="<your-db-password>"

# Security
RECAPTCHA_SECRET_KEY="<google-recaptcha-secret>"
CORS_ORIGINS='["http://localhost:5173"]'

# Rate Limiting
RATE_LIMIT_ENABLED=true
RATE_LIMIT_PER_HOUR=5

前端(.env)

VITE_API_URL="http://localhost:8000"
VITE_RECAPTCHA_SITE_KEY="<google-recaptcha-site-key>"

API文档

后端运行后,请访问:

  • Swagger用户界面: http://localhost:8000/docs
  • 重新记录: http://localhost:8000/redoc

贡献

这是一个测试范围项目。有关贡献指南,请参阅 CONTRIBUTING.md (待创建)。

安全

如果您发现安全漏洞,请发送电子邮件至security@paygateprime.com(待设置)。

许可证

[待定]

支持

如有疑问或问题:

项目状态

当前阶段:初步开发 进展:见 测试_范围_检查表_1.md

致谢

  • 原始代码库参考: GCRegister10-26/
  • 安全分析: paygateprime_security_report.txt

注: 这是一个用于MCP测试的测试范围项目。它使用没有webhooks的现代全栈架构重建了www.paygateprime.com。

最后更新日期:2025-10-28