Skip to main content
Go SDK 提供了一个干净且符合习惯的 Go 接口,用于将 Dodo Payments 集成到您的应用程序中。它支持上下文,强类型响应,中间件功能,并且安全地支持并发使用。

安装

使用 Go 模块安装 SDK:
或者固定到特定版本:
SDK 需要 Go 1.22 或更高版本,利用现代 Go 功能以实现最佳性能。

快速开始

初始化客户端并创建您的第一个结账会话:
始终使用环境变量安全地存储 API 密钥。切勿将它们硬编码在源代码中。

核心特性

Context Support

完全支持 context.Context,以处理取消和超时

Strong Typing

强类型请求和响应,确保编译时安全性

Middleware

可扩展的中间件支持用于日志记录、指标和自定义逻辑

Goroutine Safe

为并发操作设计的线程安全客户端

配置

上下文和超时

利用 Go 的上下文进行超时和取消:

重试配置

配置自动重试行为:

常见操作

创建结账会话

生成一个结账会话:

管理客户

创建和检索客户信息:

处理订阅

创建和管理定期订阅:
POST /subscriptions(SDK 的 subscriptions.create 方法)已弃用。对于现有集成,它仍然有效,但新集成应通过 Checkout Session 创建订阅。
Billing 至少需要两位字母的 ISO Country 代码。Customer 是一个 CustomerRequestUnionParam — 对于现有客户,请传入 AttachExistingCustomerParam{CustomerID: ...};对于新客户,请传入 NewCustomerParam{Email: ..., Name: ...}ProductPrice 使用货币的最小面额。

基于用量的计费

摄取用量事件

跟踪自定义事件:

列出用量事件

错误处理

当 API 返回非成功状态码时,SDK 会返回 *dodopayments.Error 类型的错误。它会公开 StatusCode、底层的 *http.Request*http.Response,以及错误正文的 JSON。使用 errors.As 模式检查错误,并根据 StatusCode 分支处理特定情况:

中间件

添加用于日志记录或指标收集的自定义中间件:

并发

客户端可安全地并发使用:

资源

GitHub Repository

查看源代码并参与贡献

API Reference

完整的 API 文档

Discord Community

获取帮助并与开发者交流

Report Issues

报告错误或请求功能

支持

需要 Go SDK 方面的帮助?

贡献

欢迎贡献!查看贡献指南以开始贡献。
最后修改于 2026年8月17日