TypeScript
适用于 Node.js 的类型安全 SDK,提供基于 promise 的 API 和自动分页功能。
Python
符合 Python 习惯的接口,支持 Python 3.9+ 的 async/await。
Go
符合 Go 习惯的接口,支持 context 和强类型。
PHP
符合 PSR-4 标准的 PHP 8.1+ SDK。
Java
适用于 Java 8+ 的线程安全 SDK,支持 Maven 和 Gradle。
Kotlin
支持协程和 null safety 的 Kotlin SDK。
C#
面向 .NET Standard 2.0+ 的类型安全 SDK,提供基于 async Task 的 API。
Ruby
遵循 Ruby 惯例的 Ruby SDK。
Rust
基于 Tokio 和 reqwest 构建、以异步为先的 Rust 1.75+ SDK。
快速开始
1
Install the SDK
使用相应的包管理器安装适用于你所用语言的 SDK。有关 Maven 坐标和特定版本的选项,请参阅各 SDK 的页面。
- TypeScript
- Python
- Go
- PHP
- Java
- Kotlin
- C#
- Ruby
- Rust
2
Initialize the Client
从 有关 Java、Kotlin、C# 和 Ruby,请参阅各 SDK 页面中的客户端设置。
DODO_PAYMENTS_API_KEY 环境变量中读取 API key。这些示例连接到测试模式;请参阅测试模式与实时模式。- TypeScript
- Python
- Go
- PHP
- Rust
3
Create a Checkout Session
主要功能
所有后端 SDK 均包括:- 类型安全:提供强类型支持,确保编译时安全并改善 IDE 支持。
- 错误处理:提供类型化错误,其中包含 HTTP status 和 API 返回的错误正文。
- 身份验证:使用从环境变量中读取的 API key 进行身份验证。
- 异步支持:在适用情况下采用现代 async/await 模式。
- 自动分页:自动处理列表响应的分页。
- 使用量事件:提供发送使用量事件的方法,用于基于使用量的计费。
- 测试模式:将客户端指向测试模式的设置,因此不会发生真实资金转移。
移动端 Checkout SDK
对于原生 Android、iOS、React Native 和 Flutter 应用,请使用移动端 Checkout SDK。它们会在平台的真实浏览器界面中打开 Dodo 托管的 checkout 页面(而不是 WebView),因此 Apple Pay 和 Google Pay 的工作方式与开放 Web 上相同。 四个移动端 SDK 共享相同的契约:start(...) 返回一个类型化的 CheckoutResult,它们都不持有 API key,也不会直接调用 API。
Android
可打开 Chrome Custom Tab 的 Kotlin SDK。需要
minSdk 23。iOS
可打开 SFSafariViewController 的 Swift SDK。需要 iOS 16+。
React Native
同时支持两个原生核心的 Turbo Module。需要 React Native 0.76+。
Flutter
同时支持两个原生核心的 Pigeon channel。需要 Flutter 3.44+。
Mobile Integration Guide
端到端的移动支付流程,从后端 checkout session 到 callback scheme 设置。
命令行界面
Dodo CLI 可从终端管理支付、客户和 webhooks。它包含交互式 TUI、AI assistant 和 webhook 测试工具。CLI
带有 AI assistant 和 webhook 测试功能的交互式终端客户端。
Framework 适配器
适配器可将 checkout、Customer Portal 和 webhook handlers 添加到你的 framework 中。推荐的 Framework
Next.js
在 App Router 中处理 checkout、Customer Portal 和 webhooks 的路由处理程序。
Better Auth
用户注册时创建客户,并将 checkout 和 Customer Portal 添加到你的身份验证流程中。
Supabase
集成身份验证、数据库 schema、webhooks 和定价页面的 Next.js 与 Supabase starter。
Convex
适用于 Convex backend 的 checkout、Customer Portal 和 webhook functions。
All Other Framework Adaptors
All Other Framework Adaptors
SvelteKit
Nuxt
Remix
Express
Fastify
Hono
Astro
TanStack
Bun
从 Node.js SDK 迁移
TypeScript SDK 替代了旧版 Node.js SDK。如果你使用的是 Node.js SDK,请参阅迁移指南来更新你的集成。
获取帮助
- Discord:加入我们的社区服务器以获取实时帮助。
- Email:通过 support@dodopayments.com 联系我们。
- GitHub:在相应的 SDK repository 中提交 issue。
- Documentation:访问 API reference。
参与贡献
每个 SDK repository 都接受贡献。大多数 repository 都包含一个CONTRIBUTING.md 文件,其中提供了报告 bug、请求功能、提交 pull request、运行测试和代码风格约定等方面的指南。
访问各个 SDK 页面,以获取其 GitHub repository 和贡献指南。