go-pay/gopay 1.5.110版本发布:支付SDK功能全面升级
go-pay/gopay是一个专注于支付集成的Go语言SDK,它为开发者提供了对接主流支付平台的便捷接口。该项目支持包括支付宝、微信支付、PayPal等在内的多种支付渠道,通过简洁的API设计帮助开发者快速实现支付功能集成。
核心升级内容
1. 微信V3接口增强
本次版本对微信V3接口进行了两项重要改进:
-
自动验签功能:新增了
AutoVerifySignByPublicKey()方法,实现了微信公钥自动验签功能。这个改进简化了开发者处理支付回调验证的流程,不再需要手动处理复杂的签名验证逻辑。 -
错误处理优化:每个业务方法都优化了错误判断的优先级,并增加了
ErrResponse字段。这使得错误信息更加清晰明确,开发者可以更准确地定位和处理支付过程中的异常情况。
2. PayPal接口大幅扩展
PayPal模块迎来了重大功能扩展,新增了多个业务接口:
订阅管理功能
- 计划管理:包括计划列表查询、详情获取、更新、激活/停用等完整生命周期管理
- 订阅操作:支持创建、查询、更新、暂停、取消和激活订阅
- 交易处理:新增订阅交易捕获和交易列表查询功能
产品管理功能
- 产品创建与列表查询
- 产品详情获取与更新
这些新增接口使gopay能够支持PayPal的完整订阅业务流程,为SaaS类应用提供了完善的支付解决方案。
3. 支付宝V3新增营销功能
支付宝V3接口新增了两类重要功能:
-
推广计划管理:
- 创建推广计划
- 查询推广计划状态
- 停止推广计划
-
营销素材上传:
- 新增图片资源上传接口
这些功能为电商和营销类应用提供了更多可能性,开发者可以更灵活地实现各种营销场景。
兼容性与优化
-
模块要求提升:gopay模块现在要求最低Go版本为1.22,这确保了可以使用最新的语言特性。
-
Apple接口优化:
GetRefundHistory()接口在没有version参数时,不再在请求中发送空的version字段,这符合RESTful API的最佳实践。 -
PayPal自定义Header:新增了
SetRequestHeader()和ClearRequestHeader()方法,为需要特殊Header的支付场景提供了灵活性。
技术价值与应用场景
本次更新特别适合以下场景:
-
订阅制服务:新增的PayPal订阅接口完整支持了SaaS类应用的支付需求。
-
电商营销:支付宝的推广计划和素材上传功能为电商平台提供了更多营销工具。
-
全球化支付:PayPal接口的完善使国际支付集成更加便捷。
-
安全支付:微信V3的自动验签功能提升了支付安全性,同时降低了开发复杂度。
go-pay/gopay 1.5.110版本的这些改进,使得这个支付SDK在功能性、易用性和安全性方面都达到了新的高度,为Go语言开发者提供了更加强大和便捷的支付集成解决方案。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03