ishop/README.md
2025-08-10 12:20:27 +08:00

117 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# USDT 支付商城
这是一个基于 Node.js 和 UPay API 的 USDT 支付商城系统。
## 功能特性
- 📱 现代化响应式设计
- 💰 USDT 加密货币支付
- 🛒 简洁的购买流程
- 📦 订单管理系统
- 🔒 安全的支付处理
- 📊 实时支付状态跟踪
## 技术栈
- **后端**: Node.js + Express
- **数据库**: SQLite3
- **支付**: UPay API (USDT支付)
- **前端**: 原生 JavaScript + CSS3
- **样式**: CSS Grid + Flexbox
## 安装和运行
1. 克隆项目并安装依赖:
```bash
npm install
```
2. 配置 UPay API
```bash
# 设置环境变量
export UPAY_APP_ID=your-upay-app-id
export UPAY_APP_SECRET=your-upay-app-secret
```
3. 启动服务器:
```bash
# 开发模式
npm run dev
# 生产模式
npm start
```
4. 访问 http://localhost:3000
## 项目结构
```
myusdtshop/
├── server.js # 主服务器文件
├── package.json # 项目配置
├── database/ # SQLite 数据库文件
├── public/ # 前端静态文件
│ ├── index.html # 主页面
│ ├── css/
│ │ └── style.css # 样式文件
│ ├── js/
│ │ └── main.js # JavaScript 逻辑
│ └── images/ # 图片资源
```
## API 接口
- `GET /api/products` - 获取产品信息
- `POST /api/orders` - 创建订单
- `POST /api/payment/create` - 创建支付
- `POST /api/payment/callback` - 支付回调
- `GET /api/orders/:order_id` - 获取订单状态
## 使用说明
### 配置 UPay
1. 在 [UPay](https://upay.ink) 注册商户账户
2. 获取 App ID 和 App Secret
3. 设置环境变量或修改 server.js 中的配置
### 自定义产品
修改 server.js 中的 `PRODUCTS` 对象:
```javascript
const PRODUCTS = {
'your-product-id': {
name: '您的产品名称',
price: 99.99,
description: '产品描述'
}
};
```
### 支付流程
1. 用户选择产品和数量
2. 填写收货信息
3. 创建订单
4. 跳转到支付页面完成 USDT 支付
5. 系统通过回调自动确认支付状态
## UPay 集成特性
- 支持 USDT 直接转账到商户钱包
- 实时支付状态回调通知
- MD5 签名验证确保安全
- 支持多种支付状态处理
## 安全注意事项
- 请勿将 App Secret 提交到版本控制
- 生产环境请使用 HTTPS
- 定期备份数据库
- 验证所有支付回调签名
## 许可证
ISC License