php是前端还是后端(代码解读-支付系统-发票管理系统)

php是前端还是后端(代码解读-支付系统-发票管理系统)
代码解读-支付系统/发票管理系统

NodPay 支付系统项目分析报告

1. 项目概述

项目名称: NodPay 项目类型: 基于 CodeIgniter 框架的支付系统/发票管理系统 框架版本: CodeIgniter (NodCMS 自定义框架) 网站名称: NodPay 默认货币: USD ($) 默认语言: 英语 (English), 德语 (German)


2. 目录结构

/nodpay_11/├── index.php                    # 入口文件├── .htaccess                   # Apache重写规则├── Robots.txt                  # 爬虫规则├── assets/                     # 前端资源 (CSS, JS, 图片, CKEditor等)├── install/                    # 安装程序│   ├── config/                 # 安装配置文件│   │   ├── database_template.php│   │   └── import.sql          # 数据库初始化SQL│   └── templates/              # 安装向导模板├── nodcms/                    # 核心应用代码│   ├── config/                # 配置文件│   │   ├── config.php         # 主配置│   │   ├── database.php       # 数据库配置│   │   ├── routes.php         # 路由配置│   │   ├── nodcms.php         # NodCMS配置│   │   └── autoload.php       # 自动加载配置│   ├── controllers/           # 控制器│   ├── core/                  # 核心基类│   │   ├── NodCMS_Controller.php│   │   ├── NodCMS_Model.php│   │   ├── NodCMS_Loader.php│   │   └── NodCMS_Router.php│   ├── helpers/               # 辅助函数│   ├── libraries/             # 扩展库│   ├── language/              # 语言包│   ├── models/                # 数据模型│   ├── third_party/           # 第三方扩展包│   │   ├── Payment/           # 支付模块│   │   └── Feespay/           # 费用模块│   └── views/                # 视图文件├── system/                    # CodeIgniter框架系统目录└── upload_file/              # 上传文件目录

3. 主要功能模块

3.1 支付模块 (Payment)

路径: /nodcms/third_party/Payment/

核心功能:

  • 发票管理: 创建、编辑、查看发票
  • 支付处理: 支持多种支付网关集成
  • 支付通知: webhook回调处理
  • 退款管理: 退款记录和处理
  • 货运管理: 货运地址和订单管理

支付网关支持:

  • PayPal
  • Stripe

3.2 用户模块 (Membership)

  • 用户注册/登录
  • 用户个人资料管理
  • 头像管理
  • 密码修改

3.3 管理后台 (Admin)

  • 系统仪表板
  • 用户管理
  • 语言管理
  • 菜单管理
  • 邮件模板管理
  • 支付设置
  • 发票设置
  • 国家/地区管理

3.4 费用模块 (Feespay)

路径: /nodcms/third_party/Feespay/

  • 费用项目创建
  • 费用支付管理

4. 核心控制器

4.1 前端控制器

控制器

路径

功能说明

General

/nodcms/controllers/General.php

通用前端控制器,处理首页、语言切换等

Payment

/nodcms/controllers/Payment.php

支付处理核心,发票展示、支付流程

Registration

/nodcms/controllers/Registration.php

用户注册、登录、密码重置

Feespay

/nodcms/controllers/Feespay.php

费用相关前端功能

4.2 后端控制器

控制器

路径

功能说明

General_admin

/nodcms/controllers/General_admin.php

管理后台首页、设置、系统配置

Payment_admin

/nodcms/controllers/Payment_admin.php

支付管理、发票管理、支付网关设置

Feespay_admin

/nodcms/controllers/Feespay_admin.php

费用管理后台

Payment_api

/nodcms/controllers/Payment_api.php

支付API接口

4.3 会员控制器

控制器

路径

功能说明

General_members

/nodcms/controllers/General_members.php

会员中心、个人账户管理


5. 核心数据模型

5.1 支付相关模型

模型名

php是前端还是后端(代码解读-支付系统-发票管理系统)

表名

功能

Invoices_model

invoice

发票主表

Invoices_items_model

invoice_item

发票项目明细

Invoice_payments_model

invoice_payments

支付记录

Invoices_pending_payment_model

待查

待处理支付

Invoices_shipping_model

待查

货运信息

Invoices_paid_downloads_model

invoice_paid_downloads

已支付下载文件

Country_model

countries

国家/地区

5.2 系统模型

模型名

表名

功能

Users_model

users

用户管理

Groups_model

groups

用户组

Languages_model

languages

语言管理

Settings_model

settings

系统设置

Menu_model

menu

菜单管理

Email_messages_model

auto_email_messages

邮件模板

Gallery_model

gallery

画廊管理

Upload_files_model

upload_files

文件上传管理


6. 数据库表结构

6.1 核心业务表

invoice (发票主表)

  • invoice_id: 发票ID
  • reference_id/reference_text: 关联引用
  • created_date: 创建时间
  • amount: 金额
  • invoice_key: 发票密钥
  • invoice_name/email/address/tel: 发票收件人信息
  • discount/discount_present: 折扣
  • total_amount: 总金额
  • vat_present/vat_amount: 增值税
  • paid: 支付状态 (0/1)
  • online_paid: 在线支付状态
  • invoice_lock: 锁定状态
  • expired: 过期状态
  • invoice_deadline: 截止日期
  • shipping_info_required: 是否需要货运信息

invoice_item (发票项目)

  • item_id: 项目ID
  • invoice_id: 关联发票
  • item_title/description: 项目名称/描述
  • item_price/count/total: 价格/数量/小计
  • parcel_*: 货运包裹信息

invoice_payments (支付记录)

  • payment_id: 支付ID
  • invoice_id: 发票ID
  • gateway_key: 支付网关
  • transaction_id: 交易号
  • amount/fee_amount: 金额/手续费
  • created_date: 支付时间
  • transaction_info: 交易详情

users (用户表)

  • user_id: 用户ID
  • username/password: 用户名/密码
  • firstname/lastname: 姓名
  • email: 邮箱
  • group_id: 用户组
  • status/active: 账户状态
  • avatar: 头像
  • language_id: 默认语言

6.2 系统表

  • auto_email_messages: 邮件模板
  • ci_sessions: 会话存储
  • gallery/gallery_image: 图片库
  • gateways: 支付网关配置
  • languages: 语言配置
  • menu: 导航菜单
  • settings: 系统设置
  • social_links: 社交链接
  • titles: 标题翻译
  • translations: 通用翻译
  • upload_files: 上传文件管理
  • countries: 国家列表
  • fees/fees_payments: 费用管理

7. 路由配置

主要路由规则 (/nodcms/config/routes.php):

// 默认控制器$route['default_controller'] = "General/setLanguagePrefix";// 管理后台$route['admin']= "General_admin/dashboard";$route['admin/(.+)']= "General_admin/$1";// 会员中心$route['user/dashboard'] = "General_members/dashboard";$route['user/account']= "General_members/account";// 支付相关$route['([a-z]{2})/invoice/([0-9]+)/([a-zA-Z0-9-]+)'] = "Payment/invoice/$1/$2/$3";// 注册登录$route['([a-z][a-z])/(login|logout)']= "Registration/$2/$1";$route['([a-z][a-z])/user-registration']= "Registration/userRegistration/$1";

8. 核心配置文件

8.1 数据库配置

文件: /nodcms/config/database.php

$db['default'] = array(    'hostname' => 'localhost',    'username' => 'nodpay_11',    'password' => 'nodpay_11',    'database' => 'nodpay_11',    'dbdriver' => 'mysqli',    'char_set' => 'utf8',);

8.2 系统配置

文件: /nodcms/config/nodcms.php

  • 模板配置 (frontend, backend, membership)
  • 自动加载模型
  • 自动加载辅助函数
  • 邮件自动消息模板
  • 默认系统设置

8.3 支付API配置

文件: /nodcms/third_party/Payment/config/nodcms.php

$config['payment_apis'] = array(    'paypal'=>array(        'key'=>"paypal",        'name'=>"PayPal",        'class'=>"Paypal",        'require_fields'=>array("paypal_client_id","paypal_secret"),    ),    'stripe'=>array(        'key'=>"stripe",        'name'=>"Stripe",        'class'=>"Stripe",        'require_fields'=>array("stripe_secret_key", "stripe_publishable_key"),    ),);

9. 核心业务逻辑

9.1 支付流程

  1. 用户创建发票 (invoice)
  2. 添加发票项目 (invoice_item)
  3. 选择支付网关
  4. 跳转到支付网关 (PayPal/Stripe)
  5. 支付完成后 webhook 回调
  6. 更新发票支付状态
  7. 发送支付确认邮件

9.2 发票生命周期

  1. 创建: 生成发票基本信息
  2. 待支付: 等待用户支付
  3. 支付中: 用户正在支付 (pending)
  4. 已支付: 支付完成
  5. 已完成: 交付货物/下载文件
  6. 过期: 超过截止日期

9.3 用户认证

  • Session-based 认证
  • 密码使用 MD5 加密 (默认配置)
  • 支持用户组权限 (Admin: group_id=1, Users: group_id=20)

10. 重要视图文件

前端视图 (/nodcms/views/):

  • frontend/ - 前端页面模板
  • membership/ - 会员页面模板
  • admin/ - 管理后台模板
  • emails/ - 邮件模板

支付视图 (/nodcms/third_party/Payment/views/):

  • frontend/invoice.php - 发票页面
  • admin/payment_dashboard.php - 支付仪表板
  • admin/invoice_receipt.php - 收据页面

11. 第三方库

库名

用途

CKEditor

富文本编辑器

Ion.RangeSlider

范围滑块

Bootstrap

UI框架

PayPal SDK

PayPal支付集成

Stripe SDK

Stripe支付集成


12. 总结

NodPay 是一个功能完整的支付发票管理系统,具有以下特点:

  1. 多语言支持: 英语、德语
  2. 多支付网关: PayPal + Stripe
  3. 完整的发票流程: 创建 -> 支付 -> 完成
  4. 用户管理系统: 注册、登录、权限控制
  5. 管理后台: 全面的系统配置和管理功能
  6. 可扩展架构: 基于 NodCMS/CodeIgniter 框架,支持模块化扩展

核心代码位于 /nodcms/ 目录,第三方扩展位于 /nodcms/third_party/ 目录。数据库使用 MySQL,字符集 UTF-8。


13. 默认管理员账号

  • 用户名: admin
  • 密码: 123456 (MD5: e10adc3949ba59abbe56e057f20f883e)

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有

最新文章

热门文章

本栏目文章