解决 NewAPI 支付通道受限问题的开源适配网关,无需修改 NewAPI 代码即可接入 Jeepay,升级更平滑、支付更可控。
- 🚀 零代码改动:NewAPI 无需修改任何代码,只需更改支付接口地址
- 🔄 平滑升级:支付逻辑与业务逻辑完全解耦,NewAPI 升级不再受支付代码影响
- 🔒 开源可控:底层使用开源 Jeepay 支付平台,支持自建部署,数据完全可控
- 🔌 即插即用:兼容易支付接口标准,无缝替换第三方易支付平台
- 🎯 可扩展架构:采用适配器模式,后续可以轻松接入更多支付通道
- 🎨 可视化配置:提供 Web 管理界面,无需手动编辑配置文件
- Node.js >= 14.0.0
- npm 或 yarn
- 已部署的 Jeepay 支付平台(或使用 Jeepay 官方测试环境)
# GitHub
git clone https://github.com/kitfoxai/kitfoxpay.git
# 或 Gitee(国内用户推荐)
git clone https://gitee.com/kitfoxai/kitfoxpay.git
cd kitfoxpaynpm install首先,在 Jeepay 后台获取配置信息:
- 商户号(mchNo)
- 应用ID(appId)
- 商户私钥(privateKey)
具体获取方法请参考下方"界面展示"部分的截图说明。
然后,复制配置示例文件:
cp config.example.js config.js编辑 config.js,填入你的 Jeepay 配置信息:
module.exports = {
jeepay: {
baseUrl: 'https://pay.jeepay.vip',
mchNo: '你的商户号',
appId: '你的应用ID',
privateKey: '你的商户私钥'
},
epay: {
pid: '你的易支付商户ID',
key: '你的易支付密钥'
},
server: {
host: '0.0.0.0',
port: 9219,
siteDomain: 'http://localhost:9219'
},
admin: {
password: '请修改为安全密码'
}
};npm start服务启动后,访问 http://localhost:9219 进入管理界面。界面展示请参考下方"界面展示"部分。
在 NewAPI 配置文件中,将支付接口地址改为 KitfoxPay 地址:
payment:
epay_url: http://your-kitfoxpay-domain:9219
pid: 你的易支付商户ID
key: 你的易支付密钥注意:pid 和 key 需要与 KitfoxPay 配置保持一致。
完整的配置界面和支付流程演示请参考下方"界面展示"部分。
- ✅ 支付订单创建:支持多种支付方式,自动处理参数转换和签名验证
- ✅ 支付结果通知:自动接收 Jeepay 通知并转发给 NewAPI
- ✅ 订单查询:支持单个/批量订单查询,实时同步订单状态
- ✅ 退款功能:支持全额/部分退款,自动处理退款通知
- ✅ 商户信息查询:查询商户信息和结算记录
- ✅ 可视化配置:Web 管理界面,支持配置热更新
KitfoxPay 完全兼容易支付接口标准:
mapi.php- 后端 API 支付接口submit.php- 前台支付提交接口api.php- 统一 API 接口(订单查询、退款、商户查询等)
支持 GET 和 POST 两种请求方式,完整的签名验证机制。
启动服务后,访问 http://localhost:9219 即可进入管理界面。界面采用 Tab 设计,将不同配置分类管理:
提供完整的接口测试功能,支持 Jeepay 和易支付接口的调试:
在配置 KitfoxPay 之前,需要先在 Jeepay 后台获取必要的配置信息:
在 NewAPI 系统中配置支付接口:
支付流程演示:
┌─────────────────┐
│ NewAPI │
│ (业务系统) │
└────────┬────────┘
│ 易支付接口调用
▼
┌─────────────────┐
│ KitfoxPay │
│ (适配器网关) │
│ │
│ ┌───────────┐ │
│ │ EpayAdapter│ │ ← 易支付接口适配层
│ └─────┬─────┘ │
│ ┌─────▼─────┐ │
│ │JeepayClient│ │ ← Jeepay 客户端
│ └─────┬─────┘ │
└────────┼────────┘
│ Jeepay API
▼
┌─────────────────┐
│ Jeepay │
│ (支付平台) │
└─────────────────┘
index.js- 主入口,Express 服务器和路由注册epay.js- 易支付接口适配器,参数转换和签名处理jeepay/jeepay.js- Jeepay 客户端,API 封装admin.js- 管理后台 APIpublic/index.html- Web 管理界面config.js- 配置文件
jeepay: {
baseUrl: 'https://pay.jeepay.vip', // Jeepay API 地址
mchNo: '商户号', // 从 Jeepay 后台获取
appId: '应用ID', // 从 Jeepay 后台获取
privateKey: '商户私钥' // 从 Jeepay 后台获取
}epay: {
pid: '易支付商户ID', // 自定义,需与 NewAPI 配置一致
key: '易支付密钥' // 自定义,需与 NewAPI 配置一致
}server: {
host: '0.0.0.0', // 绑定 IP
port: 9219, // 监听端口
siteDomain: 'http://your-domain.com' // 对外访问域名(用于回调)
}- NewAPI 用户:希望使用 Jeepay 替代易支付,实现平滑升级
- 易支付接口系统:任何使用易支付接口的系统都可以通过 KitfoxPay 接入 Jeepay
- 多支付通道聚合:未来可扩展支持多个支付通道,统一管理
KitfoxPay/
├── index.js # 主入口文件
├── epay.js # 易支付适配器
├── jeepay/ # Jeepay 客户端模块
│ ├── index.js
│ └── jeepay.js
├── admin.js # 管理后台 API
├── config.js # 配置文件
├── config.example.js # 配置示例
├── public/ # 静态文件
│ └── index.html # Web 管理界面
└── package.json # 项目依赖
- 创建新的支付客户端模块(参考
jeepay/jeepay.js) - 在
epay.js中扩展适配逻辑 - 在
index.js中注册新通道的路由
# 安装依赖
npm install
# 启动开发服务器
npm start
# 访问管理界面
open http://localhost:9219我们欢迎所有形式的贡献!
- Fork 本仓库
- 创建你的特性分支(
git checkout -b feature/AmazingFeature) - 提交你的更改(
git commit -m 'Add some AmazingFeature') - 推送到分支(
git push origin feature/AmazingFeature) - 开启一个 Pull Request
- Bug 报告:请详细描述问题现象、复现步骤、环境信息
- 功能建议:请说明需求场景和预期效果
- 遵循现有代码风格
- 添加必要的注释
- 确保代码通过测试
- 支持更多支付通道
- 增强管理后台功能(订单查询、统计报表)
- 支持多商户配置
- 添加监控和日志系统
- 提供 Docker 镜像
- 编写更详细的文档和教程
本项目采用 MIT 许可证。
- GitHub:https://github.com/kitfoxai/kitfoxpay
- Gitee:https://gitee.com/kitfoxai/kitfoxpay
- Issue:GitHub Issues | Gitee Issues
- 讨论:GitHub Discussions
如果这个项目对你有帮助,欢迎给个 ⭐ Star!











