本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
moov-io/ach-test-harness 是一个可配置的FTP/SFTP服务器和Go库,旨在交互式测试ACH(自动清算所)交易场景,能够模拟真实世界中的ACH发起、退回、变更、预注和转账流程。该工具提供灵活的响应规则配置,可根据交易详情(如账户号、金额、跟踪号等)自动执行返回、更正等操作,适用于ACH相关系统的开发和测试验证。
docker pull moov/ach-test-harness:latest
默认配置下,服务器监听2222端口(FTP/SFTP),管理接口监听3333端口(指标):
docker run -p 2222:2222 -p 3333:3333 moov/ach-test-harness:latest
通过YAML配置文件自定义服务器参数和响应规则,配置文件结构如下:
ACHTestHarness: Servers: FTP: RootPath: "./data" # 根目录路径 Hostname: "0.0.0.0" # 绑定主机名 Port: 2222 # FTP/SFTP端口 Auth: Username: "admin" # 认证用户名 Password: "secret" # 认证密码 PassivePorts: "30000-30009" # 被动模式端口范围 Paths: Files: "/outbound/" # 文件上传路径 Return: "/returned/" # 返回文件路径 Admin: Bind: Address: ":3333" # 管理接口绑定地址(指标端口) Responses: # 响应规则配置 - match: # 匹配条件(所有字段均需匹配) accountNumber: "***" # 匹配EntryDetail中的DFI账户号 traceNumber: "121042880000001" # 匹配跟踪号 action: # 匹配后执行的操作 return: code: "R03" # 返回代码(如R03表示账户不存在)
match字段(所有非空字段需同时匹配):
accountNumber: 匹配EntryDetail中的DFI账户号(字符串)amount: 金额匹配条件
min: 最小金额(整数,分)max: 最大金额(整数,分)value: 固定金额(整数,分;与min/max二选一)debit: 空对象{},表示仅匹配借方交易traceNumber: 跟踪号精确匹配(字符串)action字段(支持的操作类型):
correction: ACH更正操作
code: 更正代码(如C01表示账户号更正)data: 更正后的数据(如正确的账户号)return: ACH退回操作
code: 退回代码(如R01表示 insufficient funds)- match: debit: {} # 仅匹配借方交易 amount: min: *** # 最小金额:1000.00***(***分) max: *** # 最大金额:1200.00***(***分) action: return: code: "R01" # R01:资金不足
- match: # 匹配示例文件ppd-debit.ach中的跟踪号 traceNumber: "121042880000001" action: return: code: "R03" # R03:账户不存在
- match: # 匹配示例文件utility-bill.ach中的账户号 accountNumber: "744-5678-99" action: correction: code: "C01" # C01:更正账户号 data: "744567899" # 更正后的账户号(去除分隔符)
该项目目前处于开发阶段,可能会引入重大变更以达到稳定状态。欢迎社区反馈,建议试用代码或提供意见。
| 渠道 | 说明 |
|---|---|
| 项目文档 | 项目文档 |
| *** | @moov_io(获取项目更新和发布信息) |
| GitHub Issue | 提交问题 |
| Slack 频道 | 加入 moov-io slack 中的 #ach 频道进行讨论 |
欢迎贡献!请查看 贡献指南 和 行为准则。项目使用 Go Modules,要求 Go 1.14 或更高版本。建议通过添加边缘案例、不同输入测试或贡献模糊测试来提高测试覆盖率。
Apache License 2.0,详见 LICENSE。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429