Skip to main content
Ruby SDK 提供了一种简单直观的方式,将 Dodo Payments 集成到您的 Ruby 应用程序中。它遵循 Ruby 的约定和最佳实践,提供全面的错误处理、分页和中间件支持。

安装

将 gem 添加到您的 Gemfile:
Gemfile
始终使用最新的 SDK 版本以访问最新的 Dodo Payments 功能。定期运行 bundle update dodopayments 以保持更新。
然后运行:
该 SDK 支持 Ruby 3.2.0 及更高版本,提供完善的类型、错误处理和重试机制。

快速开始

初始化客户端并创建结账会话:
使用环境变量安全存储 API 密钥。切勿将其提交到版本控制或在代码中暴露。

核心功能

Ruby Conventions

遵循 Ruby 命名约定和惯用模式

Elegant Syntax

提供清晰、易读的 API,让 Ruby 开发者感觉自然

Auto-Pagination

为列表响应提供内置自动分页迭代器

Type Safety

可选的 Sorbet 类型以增强类型安全

配置

超时配置

配置请求超时:

重试配置

配置自动重试行为:

常见操作

创建结账会话

生成结账会话:

管理客户

创建和检索客户信息:

处理订阅

创建和管理定期订阅:
POST /subscriptions(SDK 的 subscriptions.create 方法)已弃用。对于现有集成,它仍然有效,但新集成应通过 Checkout Session 创建订阅。
billing 至少需要两位字母的 ISO country 代码。customer 可以接受 { customer_id: "..." } 以关联现有客户,也可以接受 { email: "...", name: "..." } 以创建新客户。product_price 使用最小货币单位表示。

分页

自动分页

自动遍历所有页面:

手动分页

如需更灵活地控制分页:

错误处理

处理各种 Dodo Payments API 错误:
针对速率限制错误,使用指数退避实现重试逻辑,确保应用能够平稳处理高流量场景。

使用 Sorbet 确保类型安全

使用 Sorbet 确保请求参数的类型安全:

高级用法

未文档化的端点

向未文档化的端点发起请求:

未文档化的参数

发送未文档化的参数:

Rails 集成

创建初始化程序

创建 config/initializers/dodo_payments.rb

Service Object 模式

创建支付服务:

Controller 集成

在 Rails 控制器中使用:

Sinatra 集成

在 Sinatra 应用中使用:

资源

GitHub Repository

查看源代码并参与贡献

API Reference

完整的 API 文档

Discord Community

获取帮助并与开发者交流

Report Issues

报告错误或请求新功能

支持

需要 Ruby SDK 方面的帮助?

贡献

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