Skip to main content

概述

Waffo Pancake API 允许您以编程方式管理整个支付基础设施:
  • 创建和管理门店
  • 创建商品(一次性和订阅)
  • 生成收银台会话和处理订单
  • 管理订阅和计费
  • 通过 GraphQL 查询数据
  • 处理退款

基础 URL

所有 API 请求发送至:

架构

API 采用混合架构:
  • REST 端点 (/v1/actions/...) 用于所有写操作(创建、更新、删除)
  • GraphQL (/v1/graphql) 用于所有读操作(查询)
所有 REST 端点仅使用 POST 方法。没有 GET、PUT、PATCH 或 DELETE 方法。

TypeScript SDK

官方 @waffo/pancake-ts SDK 提供完整类型安全的 API 封装。它自动处理认证、请求签名、幂等键和 Webhook 验签。
以下文档的每个端点都包含 SDK 示例和 REST/cURL 示例。查看完整 SDK 文档 ->

认证

Waffo Pancake 使用 API Key 认证 进行所有编程式 API 访问。SDK 自动处理 API Key 认证。 对于面向公众的收银台流程,使用 Store Slug 认证,通过 X-Store-Slug 请求头访问。 了解更多认证信息 ->

通用请求头

API Key 认证请求头(X-Merchant-IdX-TimestampX-Signature)由 SDK 自动处理。您只需在初始化客户端时提供 Merchant ID 和私钥。

请求格式

  • 方法: 所有写端点使用 POST
  • 请求体: JSON
  • 时间戳: ISO 8601 UTC(例如 2026-01-23T00:00:00.000Z
  • 金额: 显示格式字符串(例如 "29.00" = $29.00 USD)
  • 货币: ISO 4217 代码(例如 USDEURJPY
  • 状态值: 始终小写(例如 active,不是 ACTIVE

ID 格式

所有对外实体 ID 使用 Short ID 格式:{PREFIX}_{base62}
Checkout Session ID 使用特殊格式:cs_ + UUID(例如 cs_550e8400-e29b-41d4-a716-446655440000)。它们不属于 Short ID 体系。

响应格式

成功

错误

errors 数组中,errors[0] 是故障的根因。后续条目代表请求链中更高层的调用方。

错误 layer 字段

每个错误包含一个 layer 字符串,指示系统的哪个部分产生了该错误。调试时可用于定位根因。该值始终是预定义的层名称之一(例如 "gateway""store""product")。

HTTP 状态码


环境

API Key 认证根据成功验证的密钥自动确定环境。Store Slug 认证需要 X-Environment 请求头:

幂等性

通过 X-Idempotency-Key 请求头防止重复写操作: 尽可能让 SDK 生成幂等键 —— 它将 merchantId + 路径 + 请求体 计算为确定性哈希,因此天然做到每个请求唯一。如果自行构造,请将 merchantId 与 UUID 组合:
简短、易猜的键可能与另一个请求已使用的键相同,此时您收到的是那个请求的缓存响应。完整要求见 错误处理 -> 幂等性保障安全重试

端点分组

认证

为收银台流程签发 Session Token

门店

创建、更新和删除门店

一次性商品

创建和管理一次性购买商品

订阅商品

创建分层订阅商品和产品组

订单

创建收银台会话和订单

订阅

管理订阅生命周期

退款

请求和处理退款

GraphQL

通过 GraphQL 查询所有数据