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

安装

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

快速开始

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

核心特性

Context Support

完整支持 context.Context,以实现取消和超时

Strong Typing

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

Middleware

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

Goroutine Safe

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

配置

上下文和超时

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

重试配置

配置自动重试行为:

常见操作

创建结账会话

生成一个结账会话:

管理客户

创建和检索客户信息:

处理订阅

创建和管理定期订阅:
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年6月18日