Skip to main content
将此提示复制到你的 AI 代码编辑器(Cursor、Copilot 等)中,即可创建收银台集成:

你将构建什么

收银台会话是一个动态生成的支付页面。相比分享静态的产品链接,你可以:
  • 预填客户邮箱
  • 使用自定义 metadata 追踪订单
  • 设置自定义成功 URL
  • 为订阅产品启用试用期

前置条件

  • Waffo Pancake 账户
  • API 密钥(Dashboard → API 与开发)
  • 至少创建一个产品

基础收银台会话

最简单的收银台会话需要产品 ID 和货币。

使用 TypeScript SDK(推荐)

直接使用 REST API

响应:
将客户重定向到 checkoutUrl 完成支付。

重定向最佳实践

不要使用 window.open() 打开收银台页面。 Safari 和许多移动端浏览器会拦截在异步回调中(例如 API 调用之后)打开的弹出窗口。这会导致客户的收银台流程静默失败。
推荐方式:
支付完成后,客户会被重定向回你的 successUrl。使用 {SESSION_ID} 占位符即可在成功页面验证付款。

预填客户邮箱

通过预填邮箱跳过邮箱输入步骤:
使用场景: 用户已登录你的应用,你已知道他们的邮箱。

使用 Metadata 追踪

将收银台会话与你的内部系统关联:
Metadata 存储在收银台会话上,可通过 checkoutSession GraphQL 查询获取。Webhook 负载中传回 metadata 功能即将上线。

订阅试用

为订阅产品启用试用期:
优惠码和按座位数量功能尚未通过 API 支持。请通过 Dashboard 管理折扣。

订阅预填账单信息

为税费计算预填消费者的账单信息:

动态成功 URL

将数据传递到成功页面:
{SESSION_ID} 会被替换为实际的会话 ID,这样你可以在成功页面验证付款。

完整示例:SaaS 升级流程

这是一个使用 SDK 升级用户订阅的真实示例:
如果你需要在客户端处理收银台(例如 SPA):

参数参考


下一步

处理 Webhooks

在支付完成时获得通知

验证支付

安全验证 Webhook 签名