return_url。

Interactive Demo
通过我们的 live demo 查看 Overlay checkout 的实际运行效果。
快速开始
安装 SDK,完成初始化,然后使用来自 create checkout session API 的 checkout URL 打开 checkout:分步集成
1
Install the SDK
通过 npm、yarn 或 pnpm 安装:
2
Initialize the SDK
在应用加载时调用一次
Initialize,通常放在 main component 或 app entry point 中:3
Create a Checkout Button
创建一个用于打开 checkout modal 的 component:
4
Add the Button to Your Page
在应用中使用 checkout button component:
5
Handle Redirects
创建用于处理 payment 后 checkout redirects 的页面:
6
Test Your Integration
- 启动 development server:
- 测试 checkout flow:
- 点击 checkout button
- 确认 modal 已显示
- 使用 test credentials 测试 payment flow
- 确认 redirects 正常工作
您应该会在 browser console 中看到记录的 checkout events。
7
Go Live
准备投入 production 时:
- 将 mode 更改为
'live':
- 更新 checkout URLs,使其使用来自 backend 的 live checkout sessions
- 在 production 中测试完整 flow
- 监控 events 和 errors
API 参考
初始化
调用一次Initialize 以设置 SDK:
打开 Checkout
打开 checkout modal:关闭 Checkout
以编程方式关闭 modal:检查状态
检查 modal 当前是否已打开:Events
通过传递给Initialize 的 onEvent callback 监听 checkout events:
CDN 实现
如需在不执行 build step 的情况下快速集成,请从 CDN 加载 SDK:Theme 自定义
本节介绍使用 Checkout SDK 进行已弃用的 client-side theme configuration。推荐的方法是在通过 API 创建 checkout session 时,使用
theme_config parameter 在 server-side 配置 themes。有关 API-level configuration,请参见 Checkout Theme Customization;或者在 dashboard 的 Design page 中通过 live preview 以可视化方式配置 themes。options parameter 中传入 themeConfig:
Theme Properties
light 和 dark modes 的所有可用 theme properties:Error Handling
始终在onEvent callback 中实现 error handling:
Best Practices
- 仅初始化一次:在应用加载时调用一次
Initialize,而不是在每次 checkout 之前调用 - Error handling:在 event callback 中实现适当的 error handling
- Test mode:开发期间使用
"test"mode,仅在准备投入 production 时切换到"live" - Event handling:处理所有相关 events,以提供完整的用户体验
- 有效 URLs:始终使用来自 create checkout session API 的有效 checkout URLs
- TypeScript:使用 TypeScript 以获得更好的 type safety 和 developer experience
- Loading states:在 checkout 打开期间显示 loading states,以改善 UX
- Timer management:如果希望手动处理 session expiration,请禁用 timer(
showTimer: false)
Troubleshooting
Checkout modal not opening
Checkout modal not opening
可能原因:
- 调用
open()前未初始化 SDK - Checkout URL 无效
- Console 中存在 JavaScript errors
- Network connectivity issues
- 确认 SDK initialization 发生在打开 checkout 之前
- 检查 browser console 中的 errors
- 确保 checkout URL 有效且来自 create checkout session API
- 验证 network connectivity
Events not firing
Events not firing
可能原因:
- Event handler 未正确设置
- JavaScript errors 阻止了 event propagation
- SDK 未正确初始化
- 确认已在
Initialize()中正确配置 event handler - 检查 browser console 中的 JavaScript errors
- 确认 SDK initialization 已成功完成
- 首先使用简单的 event handler 进行测试
Styling issues
Styling issues
可能原因:
- CSS 与应用 styles 冲突
- Theme settings 未正确应用
- Responsive design issues
- 在 browser DevTools 中检查 CSS conflicts
- 确认 theme settings 正确
- 在不同 screen sizes 下测试
- 确保 modal 不存在 z-index conflicts
Digital Wallets
有关设置 Google Pay 和其他 digital wallets 的详细信息,请参见 Digital Wallets 页面。Apple Pay 目前尚不支持 Overlay checkout。
Browser Support
Dodo Payments Checkout SDK 支持:- Chrome(latest)
- Firefox(latest)
- Safari(latest)
- Edge(latest)
- IE11+
Overlay 与 Inline Checkout
根据您的使用场景选择合适的 checkout type:Related Resources
Inline Checkout
将 checkout 直接嵌入页面,以实现完全集成的体验。
Checkout Sessions API
创建 checkout sessions,为您的 checkout experiences 提供支持。
Webhooks
使用 webhooks 在 server-side 处理 payment events。
Integration Guide
Dodo Payments 集成完整指南。