Skip to main content
Dodo Payments 官方服务器 SDK 支持九种语言。另有独立的 checkout SDK,可从 Android、iOS、React Native 和 Flutter 应用打开托管式 checkout。

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 的页面。
2

Initialize the Client

从 DODO_PAYMENTS_API_KEY 环境变量中读取 API key。这些示例连接到测试模式;请参阅测试模式与实时模式。
有关 Java、Kotlin、C# 和 Ruby,请参阅各 SDK 页面中的客户端设置。
将 API key 保存在环境变量或 secrets manager 中。切勿将其提交到版本控制系统。
3

Create a Checkout Session

创建 checkout session,并将客户重定向到返回的 checkout_url。
有关其他语言中的相同调用,以及 payment links 和 webhooks,请参阅集成指南。

主要功能

所有后端 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 测试功能的交互式终端客户端。
使用以下命令在 macOS 或 Linux 上安装:

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。

SvelteKit

Nuxt

Remix

Express

Fastify

Hono

Astro

TanStack

Bun

从 Node.js SDK 迁移

TypeScript SDK 替代了旧版 Node.js SDK。如果你使用的是 Node.js SDK,请参阅迁移指南来更新你的集成。

获取帮助

参与贡献

每个 SDK repository 都接受贡献。大多数 repository 都包含一个 CONTRIBUTING.md 文件,其中提供了报告 bug、请求功能、提交 pull request、运行测试和代码风格约定等方面的指南。 访问各个 SDK 页面,以获取其 GitHub repository 和贡献指南。
最后修改于 2026年9月28日