moov/achMoov的使命是为开发者提供一种简单的方式,将银行处理功能创建并集成到自己的软件产品中。我们的开源项目专注于解决***服务中的单一职责,并围绕性能、可扩展性和易用性进行设计。
ACH实现了自动清算所(ACH)文件的读取器、写入器和验证器。ACH是美国电子资金转账的主要方式。HTTP服务器可通过Docker镜像获取,Go包github.com/moov-io/ach也已发布。
如果您需要ACH发起(文件创建)、OFAC检查、小额存款、SFTP上传等完整功能的实现,moov-io/paygate项目旨在提供ACH转账的完整系统。此外,您可查看我们的文章《如何以及何时使用Moov ACH库》。
Moov ACH已在多个生产环境中积极使用。如果您关注其进展,请为项目点赞。该项目支持生成和解析所有标准条目分类(SEC)代码。如果您有简化任务的上层功能、业务操作或发现错误,欢迎提交issue或pull request。
ACH项目实现了一个HTTP服务器和Go库,用于创建和修改ACH文件。目前有Go和Node/JavaScript客户端库可用。我们还提供了大量示例,展示读取器和写入器在各种ACH交易类型中的应用。
我们从Docker Hub发布公共Docker镜像moov/ach,也可使用此仓库。无需配置即可在:8080端口提供服务,并在:9090/metrics端口以Prometheus格式提供指标。我们还为OpenShift提供Docker镜像,发布为quay.io/moov/ach。
拉取并启动Docker镜像:
bashdocker pull moov/ach:latest docker run -p 8080:8080 -p 9090:9090 moov/ach:latest
列出内存中存储的文件:
bashcurl localhost:8080/files
json{"files":[],"error":null}
在HTTP服务器上创建文件:
bashcurl -X POST --data-binary "@./test/testdata/ppd-debit.ach" http://localhost:8080/files/create
json{"id":"<您的唯一文件ID>","error":null}
读取ACH文件(JSON格式):
bashcurl http://localhost:8080/files/<您的唯一文件ID>
json{"file":{"id":"<您的唯一文件ID>","fileHeader":{"id":"","immediateDestination":"231380104","immediateOrigin":"121042882", ...
要在托管环境中快速开始,您可以将此项目部署到Google Cloud Platform。
从Google Cloud控制台创建新项目,命名为:
moov-ach-demo
点击下方按钮将项目部署到Google Cloud:
 | 0 = 无TTL/永不删除文件(示例:240m) |
LOG_FORMAT | 日志行的输出格式 | 选项:json、plain - 默认:plain |
HTTP_BIND_ADDRESS | ACH HTTP服务器绑定地址,覆盖命令行标志-http.addr | 默认::8080 |
HTTP_ADMIN_BIND_ADDRESS | ACH管理HTTP服务器绑定地址,覆盖命令行标志-admin.addr | 默认::9090 |
HTTPS_CERT_FILE | HTTP服务器提供的证书(或中间链)文件路径,要求所有流量通过安全HTTP | 空 |
HTTPS_KEY_FILE | 与HTTPS_CERT_FILE中的叶证书匹配的私钥文件路径 | 空 |
ACH不持久化(保存)任何关于创建的文件、批次或条目详情的数据。唯一的存储是在进程内存中,重启后ACH将没有任何文件、批次或保存的数据。此外,不对数据进行内存加密。
| 渠道 | 信息 |
|---|---|
| 项目文档 | 在线项目文档 |
| *** @moov_io | 关注获取项目更新,可发送问题或分享内容 |
| GitHub Issue | 如能复现问题,请提交GitHub Issue |
| moov-io slack | 加入slack频道进行项目开发相关讨论 |
注意:32位平台存在已知问题,不受支持。
欢迎贡献!请查看我们的贡献指南和行为准则。您可以从适合首次贡献者的issues中选择任务。
该项目使用Go Modules,需Go v1.14或更高版本。有关Go安装说明,请参见Golang安装指南。您可以下载源代码,我们也提供标记和发布版本,强烈建议生产环境使用标记版本。
要发布ach版本,只需提交包含CHANGELOG.md和version.go更新的pull request,其中包含下一个版本号和详情。还需将标签(如git push origin v1.0.0)推送到origin,以便CI进行发布。
我们维护全面的单元测试套件,建议在特定函数需要多个类似测试用例时使用表驱动测试。要运行当前目录中的所有测试文件,使用go test。当前总体覆盖率可在Codecov上查看。
我们目前通过moov/achfuzz Docker镜像对ACH进行模糊测试。您可以了解更多或运行该镜像,并向security@moov.io报告崩溃示例。谢谢!
作为Moov提供开源***科技基础设施计划的一部分,我们有许多活跃项目可能对您有用:
Moov Watchman:提供对美国和欧盟多个贸易制裁清单的搜索功能。
Moov Fed:实现美国联邦储备系统搜索的实用服务,如ABA路由号码、***机构名称查找以及FedACH和Fedwire路由信息。
Moov Wire:实现美联储电汇资金服务文件的写入接口,这是由美国联邦储备银行运营的实时全额结算资金转账系统。
Moov Image Cash Letter:实现图像现金票据(ICL)文件,用于美国的Check21、X.9或支票截断文件交换和远程存款。
Moov Metro 2:提供轻松读取、创建和验证Metro 2格式的方法,该格式用于美国信用局的消费者信用历史报告。
Apache License 2.0 - 详见LICENSE。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务