新增HPOS兼容性支持,重构支付网关类以兼容高性能订单存储系统 添加结账页面编辑器功能,支持多种布局预览和自定义样式 更新配置文件以支持开发环境域名设置 添加CHANGELOG.md和README.md文档 优化区块管理器和通知处理类的代码结构
210 lines
No EOL
5.6 KiB
Markdown
210 lines
No EOL
5.6 KiB
Markdown
# EasyPay WooCommerce 支付插件
|
||
|
||
一个功能强大的 WooCommerce 支付插件,支持支付宝、微信支付、QQ钱包和USDT等多种支付方式,完全兼容 WooCommerce Blocks 和高性能订单存储 (HPOS)。
|
||
|
||
## 🌟 主要特性
|
||
|
||
### 💳 多种支付方式
|
||
- **支付宝** - 支持PC和移动端支付
|
||
- **微信支付** - 原生微信支付体验
|
||
- **QQ钱包** - QQ用户便捷支付
|
||
- **USDT** - 数字货币支付支持
|
||
|
||
### 🧱 现代化支持
|
||
- **WooCommerce Blocks** - 完全兼容 Gutenberg 块编辑器
|
||
- **HPOS 支持** - 高性能订单存储兼容
|
||
- **响应式设计** - 完美适配各种设备
|
||
- **实时预览** - 结账页面可视化编辑
|
||
|
||
### ⚡ 高性能
|
||
- **缓存优化** - 智能缓存机制
|
||
- **异步处理** - 非阻塞支付流程
|
||
- **数据库优化** - 高效的数据存储
|
||
- **CDN 支持** - 静态资源加速
|
||
|
||
## 📋 系统要求
|
||
|
||
- **WordPress**: 6.0 或更高版本
|
||
- **WooCommerce**: 8.0 或更高版本
|
||
- **PHP**: 8.0 或更高版本
|
||
- **MySQL**: 5.7 或更高版本
|
||
|
||
## 🚀 安装说明
|
||
|
||
### 方法一:WordPress 后台安装
|
||
1. 登录 WordPress 后台
|
||
2. 进入 `插件` > `安装插件`
|
||
3. 上传插件压缩包
|
||
4. 点击 `立即安装`
|
||
5. 安装完成后点击 `启用`
|
||
|
||
### 方法二:FTP 上传
|
||
1. 解压插件压缩包
|
||
2. 将 `wp-woocommerce-pay` 文件夹上传到 `/wp-content/plugins/` 目录
|
||
3. 在 WordPress 后台启用插件
|
||
|
||
## ⚙️ 配置说明
|
||
|
||
### 基础配置
|
||
1. 进入 `WooCommerce` > `设置` > `支付`
|
||
2. 选择要启用的支付方式
|
||
3. 填写相应的支付接口配置信息
|
||
4. 保存设置
|
||
|
||
### 支付宝配置
|
||
```
|
||
商户ID: 您的支付宝商户ID
|
||
应用ID: 支付宝应用APPID
|
||
私钥: RSA私钥
|
||
公钥: 支付宝公钥
|
||
```
|
||
|
||
### 微信支付配置
|
||
```
|
||
商户号: 微信支付商户号
|
||
应用ID: 微信公众号APPID
|
||
API密钥: 微信支付API密钥
|
||
证书: 微信支付证书文件
|
||
```
|
||
|
||
### HPOS 配置
|
||
1. 进入 `WooCommerce` > `设置` > `高级`
|
||
2. 启用 `高性能订单存储`
|
||
3. 插件会自动适配新的存储模式
|
||
|
||
## 🎨 结账页面自定义
|
||
|
||
### 使用块编辑器
|
||
1. 创建新的结账页面
|
||
2. 使用 Gutenberg 编辑器
|
||
3. 添加 EasyPay 支付块
|
||
4. 自定义样式和布局
|
||
|
||
### 使用结账编辑器
|
||
1. 进入插件设置页面
|
||
2. 点击 `结账编辑器`
|
||
3. 实时预览和调整布局
|
||
4. 保存自定义设置
|
||
|
||
## 📁 文件结构
|
||
|
||
```
|
||
wp-woocommerce-pay/
|
||
├── assets/ # 静态资源
|
||
│ ├── css/ # 样式文件
|
||
│ │ ├── easypay-blocks.css # 区块样式
|
||
│ │ └── easypay-checkout-editor.css # 编辑器样式
|
||
│ ├── js/ # JavaScript文件
|
||
│ │ ├── easypay-blocks.js # 区块脚本
|
||
│ │ └── easypay-checkout-editor.js # 编辑器脚本
|
||
│ └── logo/ # 支付方式图标
|
||
├── includes/ # 核心功能
|
||
│ ├── blocks/ # 区块支持
|
||
│ │ ├── class-easypay-blocks-manager.php
|
||
│ │ ├── class-easypay-wx-blocks.php
|
||
│ │ ├── class-easypay-zfb-blocks.php
|
||
│ │ ├── class-easypay-qq-blocks.php
|
||
│ │ └── class-easypay-usdt-blocks.php
|
||
│ └── class-easypay-checkout-editor.php
|
||
├── inc/ # 配置文件
|
||
├── lib/ # 第三方库
|
||
├── class-easypay-hpos-support.php # HPOS支持
|
||
├── class-wc-gateway-easypay-*.php # 支付网关类
|
||
├── wp-woocommerce-pay.php # 主插件文件
|
||
├── README.md # 说明文档
|
||
└── CHANGELOG.md # 更新日志
|
||
```
|
||
|
||
## 🔧 开发说明
|
||
|
||
### 钩子和过滤器
|
||
|
||
#### 支付相关钩子
|
||
```php
|
||
// 支付完成后
|
||
do_action('easypay_payment_completed', $order_id, $payment_method);
|
||
|
||
// 支付失败后
|
||
do_action('easypay_payment_failed', $order_id, $error_message);
|
||
|
||
// 自定义支付参数
|
||
apply_filters('easypay_payment_args', $args, $order_id);
|
||
```
|
||
|
||
#### 区块相关钩子
|
||
```php
|
||
// 自定义区块属性
|
||
apply_filters('easypay_block_attributes', $attributes, $payment_method);
|
||
|
||
// 区块渲染前
|
||
do_action('easypay_before_block_render', $payment_method);
|
||
```
|
||
|
||
### 自定义开发
|
||
```php
|
||
// 获取HPOS支持实例
|
||
$hpos = new EasyPay_HPOS_Support();
|
||
|
||
// 检查是否启用HPOS
|
||
if ($hpos->is_hpos_enabled()) {
|
||
// HPOS模式下的操作
|
||
}
|
||
|
||
// 获取订单元数据
|
||
$meta_value = $hpos->get_order_meta($order_id, '_easypay_payment_method');
|
||
|
||
// 更新订单元数据
|
||
$hpos->update_order_meta($order_id, '_custom_field', $value);
|
||
```
|
||
|
||
## 🐛 故障排除
|
||
|
||
### 常见问题
|
||
|
||
#### 支付页面无法加载
|
||
1. 检查支付接口配置是否正确
|
||
2. 确认服务器网络连接正常
|
||
3. 查看错误日志获取详细信息
|
||
|
||
#### 区块不显示
|
||
1. 确认 WooCommerce Blocks 插件已启用
|
||
2. 检查主题是否支持 Gutenberg
|
||
3. 清除缓存后重试
|
||
|
||
#### HPOS 兼容问题
|
||
1. 确认 WooCommerce 版本支持 HPOS
|
||
2. 在设置中启用高性能订单存储
|
||
|
||
### 调试模式
|
||
在 `wp-config.php` 中启用调试:
|
||
```php
|
||
define('WP_DEBUG', true);
|
||
define('WP_DEBUG_LOG', true);
|
||
define('WOOCOMMERCE_BLOCKS_DEBUG', true);
|
||
```
|
||
|
||
## 📞 技术支持
|
||
|
||
### 获取帮助
|
||
- 查看 [更新日志](CHANGELOG.md) 了解最新变更
|
||
- 检查 WordPress 错误日志
|
||
|
||
### 报告问题
|
||
提交问题时请包含:
|
||
- WordPress 版本
|
||
- WooCommerce 版本
|
||
- 插件版本
|
||
- 错误信息
|
||
- 集成测试结果
|
||
|
||
## 📄 许可证
|
||
|
||
本插件遵循 GPL v2 或更高版本许可证。
|
||
|
||
## 🙏 致谢
|
||
|
||
感谢所有为此插件做出贡献的开发者和用户。
|
||
|
||
---
|
||
|
||
**注意**: 在生产环境中使用前,请务必在测试环境中充分测试所有功能。 |