Waffo 提供哪些官方 SDK?
目前有五个服务端 SDK,覆盖支付、退款、订阅、Webhook、商户配置与支付方式配置查询:哪个 SDK 已经稳定,哪个还是测试版?
以官网当前页面为准:- Python SDK 目前处于 beta(官网安装示例为
waffo==0.5.0b0,或用--pre安装最新预发布版)。上线前请到 PyPI 确认最新版本。 - PHP SDK 当前最新版本为
v0.3.0,上线前请到 Packagist 确认。 - Node.js、Java、Go 的最新版本以 SDK changelog 为准。
SDK 帮我做了什么?
Webhook 的验签原理和不用 SDK 时的手动验签步骤见鉴权与签名 FAQ和官网 Webhook signature verification 页面。
调用失败时,SDK 会区分哪两种错误?
SDK 把失败分成两类,处理方式完全不同(Node.js、Go、Python、PHP 为WaffoUnknownStatusError / WaffoError,Java 对应的是 WaffoUnknownStatusException / WaffoException):
另外,接口返回的业务错误(返回码不是成功)不会抛异常,用响应对象的
isSuccess() 判断(官网 Node.js、Java、PHP 示例的写法)。
幂等键要注意什么?
支付用paymentRequestId、订阅用 subscriptionRequest 作为幂等键,官网要求:
- 最长 32 个字符,每个新请求生成唯一值;
- 发请求之前先持久化到你的数据库;
- 重试时复用原来的幂等键,不要生成新的。
我该怎么选 SDK,还是直接调 HTTP 接口?
- 你的后端是上面五种语言之一:优先用 SDK。签名、请求头、Webhook 验签这些最容易出错的环节都由 SDK 完成。
- 你的后端是其他语言:直接调用 REST 接口。请求都是 HTTP POST、
Content-Type: application/json(UTF-8)、TLS 1.2 及以上;用 SHA256WithRSA 对整个 body 签名后放入X-SIGNATURE,并发送X-API-KEY和X-API-VERSION: 1.0.0。官网 API 示例页有 curl 样例。 - 想让 AI 编码工具帮你生成接入代码:用官方的
waffo-integrate,见调试与集成加速工具。 - 你已经在用 Stripe 的订阅,只想低成本迁移:见调试与集成加速工具里的 Stripe 迁移工具。它不是原生 SDK,不要混用。
新版本发布后要不要升级?有什么要注意?
SDK 的发布说明都在官网 SDK changelog(五种语言各一节)。升级前请看这几点:- 大版本升级可能有不兼容变更。 例如官网记录过:Node.js SDK v3.0.0 里
CreateOrderParams.paymentTokenData、商户配置查询返回的限额字段改成了string,与 API 里的 JSON 字符串字段一致,需要你在应用里自行解析。 - 新接口字段通常在新版本里才有类型。 例如订阅加座补差用的
topupInfo,在 2026-09-04 发布的各语言 SDK 新版本中增加了类型支持。 - Java 升级时,官网提示:如果只替换 JAR,请清理旧的缓存或 shaded 副本并做一次干净构建。
相关入口
- 官网 SDK 总览与各语言页面:https://waffo.com/docs/zh/developer-docs/sdk/nodejs.md(其余语言把路径末尾换成
java、go、python、php) - SDK 发布记录:https://waffo.com/docs/zh/developer-docs/sdk/changelog.md
- 上线前必须通过的验收标准:https://waffo.com/docs/zh/developer-docs/tools-and-references/references/acceptance-criteria.md