IPS-Alipay 支付宝网关扩展

付费/Paid IPS-Alipay 支付宝网关扩展 5.0.8.2

欢迎客人!

• 开始前请阅读社区规则确保您顺利的熟悉本社区。注册用户可以提交资源,如果您有已发布资源的新版本,您可以随时更新版本!

• 文件链接损坏请在文件下方留言,我们将会及时更新来自备份服务器的新链接。如有其它问题请 提交工单 和我们联系!【加入QQ群:5977983】

• 我们拥有多账户检测系统,对于重复注册我们将采取严厉措施!快速获得积分

  • 点击此处领取红包积分/Click here to claim red envelope points

### 1. 代码大幅精简
- **删除文件**: 75个冗余文件(57.3%减少)
- **代码行数**: 减少~11,700行代码(37.1%减少)
- **核心优化**: 删除整个 `lotusphp_runtime/` 框架目录(2000+行)
### 2. 性能显著提升
- **内存占用**: 减少75%(8.5MB → 2.1MB)
- **加载时间**: 减少73%(45ms → 12ms)
- **文件数量**: PHP文件从95个减少到21个
### 3. 修复关键错误
- 修复4个命名空间引用错误(`Class not found`)
- 统一配置映射和SDK加载逻辑
- 简化AopClient实例化机制
### 4. 架构优化
- 用16行原生PHP自动加载器替换2000+行第三方框架
- 统一重复代码模块,提高可维护性
- 删除未使用的支付方式和OAuth功能

升级说明
1. **兼容性**: 完全向下兼容,现有配置保持不变
2. **备份建议**: 升级前请备份数据库和文件
3. **风险评估**: 极低风险,仅优化代码文件
## 版本 5.0.8.1 (2025年5月29日) - 关键修复版本
### 🚨 重要修复
- **修复了所有支付金额显示为1元的关键问题**
- 问题:无论实际订单金额多少,支付宝都只收取1元
- 原因:`number_format()` 函数将 Money 对象转换为浮点数时精度丢失
- 解决:使用 `$transaction->amount->amountAsString()` 方法确保金额精确传递
### 🔧 技术改进
- **优化了金额处理逻辑**
- 在授权、退款和通知验证中统一使用 `amountAsString()` 方法
- 确保金额在整个支付流程中保持精确度
- 移除了可能导致精度丢失的 `number_format()` 调用
### 🐛 错误修复
- **修复了开发者模式兼容性问题**
- 移除了 application.json 中的 "extra" 字段
- 解决了 "Unknown column 'app_extra'" 数据库错误
### 🗑️ 代码清理
- **移除了调试日志输出**
- 清理了 AlipayTradeService.php 中的调试代码
- 提高了生产环境性能
### 📁 修改的文件
- `extensions/nexus/Gateway/Alipay.php` - 主要网关文件
- `interface/alipay_notify.php` - 通知处理器
- `sources/service/AlipayTradeService.php` - 支付宝交易服务
- `data/application.json` - 应用配置文件
### ⚠️ 重要说明
**这是一个关键修复版本,强烈建议所有用户立即更新!**
如果您遇到了支付金额不正确的问题,这个版本将完全解决该问题。
### 🔍 验证修复
更新后,您可以通过以下方式验证修复:
1. 创建一个测试订单(如30元)
2. 查看支付宝收银台显示的金额
3. 确认金额正确显示为30.00元而不是1.00元
后退
顶部