moov/imagecashletterMoov的使命是为开发者提供简单的方式,将银行处理功能集成到自己的软件产品中。我们的开源项目专注于解决***服务中的单一职责,并围绕性能、可扩展性和易用性设计。
ImageCashLetter实现了X9影像现金票据(ICL)规范的读取器、写入器和验证器,通过HTTP服务器和Go库提供Check 21服务。HTTP服务器可通过Docker镜像获取,Go包github.com/moov-io/imagecashletter也已发布。
Moov ImageCashLetter已在多个生产环境中积极使用。如果您关注其进展,请为项目点赞。如果您有基于ImageCashLetter的上层功能实现、业务逻辑或发现bug,欢迎提交issue或pull request。感谢支持!
影像现金票据项目实现了HTTP服务器和Go库,用于创建和修改ICL文件。我们还提供了一些读写器示例。
我们发布了公开Docker镜像moov/imagecashletter(可从Docker Hub获取)。无需额外配置即可在:8083端口提供服务,并在:9093/metrics提供Prometheus格式的指标。此外,我们还为OpenShift提供了Docker镜像,发布为quay.io/moov/imagecashletter。
bashdocker pull moov/imagecashletter:latest docker run -p 8083:8083 -p 9093:9093 moov/imagecashletter:latest
bashcurl localhost:8083/files
jsonnull
bashcurl -X POST --data-binary "@./test/testdata/valid-ascii.x937" http://localhost:8083/files/create
json{"id":"<YOUR-UNIQUE-FILE-ID>","fileHeader":{"id":"","standardLevel":"03","testIndicator":"T","immediateDestination":"061000146","immediateOrigin":"026073150", ...
bashcurl http://localhost:8083/files/<YOUR-UNIQUE-FILE-ID>
json{"id":"<YOUR-UNIQUE-FILE-ID>","fileHeader":{"id":"","standardLevel":"03","testIndicator":"T","immediateDestination":"061000146","immediateOrigin":"026073150", ...
bashcurl -X POST -H "content-type: application/json" localhost:8083/files/create --data @./test/testdata/icl-valid.json
json{"id":"<YOUR-UNIQUE-FILE-ID>","fileHeader":{"id":"","standardLevel":"35","testIndicator":"T","immediateDestination":"231380104","immediateOrigin":"***", ...
bashcurl localhost:8083/files/<YOUR-UNIQUE-FILE-ID>/contents
P0135T231380104121042882201810032219NCitadel Wells Fargo US P100123138010412104288220181003201810032219IGA1 Contact Name 5558675552 P200123138010412104288220181003201810039999 1 01 P25 *** 031300012 555888100001000001 GD1Y030BP261121042882201810031 938383 01 Test Payee Y10 ...
要在托管环境中快速启动,可将项目部署到Google Cloud Platform。
moov-icl-demo<PROJECT-ID>为您的项目ID):
bashdocker pull moov/imagecashletter docker tag moov/imagecashletter gcr.io/<PROJECT-ID>/imagecashletter docker push gcr.io/<PROJECT-ID>/imagecashletter
bashgcloud run deploy --image gcr.io/<PROJECT-ID>/imagecashletter --port 8083
1,服务名称为imagecashletter,选择最近的区域。部署成功后会提供API URL,可通过以下命令测试:
预期响应:bashcurl [***]
null(表示无文件)可通过以下环境变量配置ImageCashLetter行为:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
HTTPS_CERT_FILE | HTTP服务器提供的证书(或中间链)文件路径,启用后强制HTTPS访问 | 空(默认HTTP) |
HTTPS_KEY_FILE | 与HTTPS_CERT_FILE匹配的私钥文件路径 | 空 |
ImageCashLetter不持久化任何文件或交易数据。所有数据仅存储在进程内存中,服务重启后数据将丢失。同时,内存中的数据不进行加密处理。
| 渠道 | 信息 |
|---|---|
| 项目文档 | 在线项目文档 |
| *** @moov_io | 获取项目更新,提问或分享相关内容 |
| GitHub Issue | 提交bug或功能请求 |
| moov-io slack | 加入社区讨论 |
注意:32位平台存在已知问题,不提供支持。
欢迎贡献!请查看我们的贡献指南和行为准则。
项目使用Go Modules,要求Go v1.14或更高版本。建议使用标记的发布版本用于生产环境。
项目维护全面的单元测试套件,推荐使用表驱动测试处理相似测试用例。运行当前目录下的所有测试:go test。覆盖率信息可在Codecov查看。
项目通过moov/imagecashletterfuzz Docker镜像提供模糊测试支持,详情参见文档。如发现崩溃示例,请报告至***。
Moov开源***基础设施项目还包括:
Apache License 2.0 - 详见LICENSE
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务