优势
- 用户体验顺滑,不需要点卡码
- 账户即时到账
- 转化率更高
适用场景
- 具备账户充值系统的游戏发行商
- 会员 / 订阅类服务
集成流程
- 简化流程
- 详细流程

接口清单
最小集成只需要第 1 项加第 4 项:签名跳转 + 履行结果通知 Webhook,不实现任何履行接口。这种情况下 Webhook 只会返回
PAY_SUCCESS 与 PAYMENT_FAILED,由你在收到 PAY_SUCCESS 后走自己的发货流程。URL 签名与跳转
通过带签名校验的 URL 参数传递用户信息,保证参数完整性。这是 Waffo 提供的端点。 完整的参数清单、类型、必填性与示例见 API 参考:签名跳转。 本节只讲怎么把签名算出来。 URL 格式:{supplier} 是入网时 Waffo 分配给你的专属子域名。
也可以使用自定义商户域名。 前提是供应商侧把该域名解析指向 Waffo 的 endpoint。启用后,拼接待签串时的 base URL 必须换成这个自定义域名——签名覆盖 base URL,域名不一致会导致验签失败。
签名算法
1
剔除参数
排除
signature 参数,并丢掉所有值为空或空白的参数。2
排序
剩余参数按参数名 ASCII 升序排列。
3
拼接待签串
按
{baseUrl}?key1=value1&key2=value2&... 拼接。base URL(scheme + host + path,例如 https://supplier.waffoplay.com/redirect)必须包含在内。4
计算签名
以共享的
SECRET_KEY 作为 HMAC 密钥,对待签串计算 HMAC-SHA256。5
转大写
十六进制编码后转为大写。
签名示例
给定参数:
第 1 步,排序并拼接:
Java 实现示例
Node.js 签名示例(HMAC-SHA256 & RSA-SHA256)
下载
Waffoplay Sign Methods.zip,内含 Node.js 的 HMAC-SHA256 与 RSA-SHA256 签名实现。校验流程
用户访问签名 URL 后,Waffo Point Topup 后端会:- 接收所有 URL 参数
- 校验必填参数是否齐全:
faceValue、salesOrderId、supplierId、supplierUserAccount、siteCode、timestamp、signature - 校验
timestamp在有效期(2 小时)内 - 用同样的算法重新计算签名
- 把计算出的签名与请求中的签名比对
- 校验通过后生成 JWT Token 并写入用户会话
- 跳转到目标
siteCode的购买页
即时履行
用户支付完成后由 Waffo Point Topup 调用。请求参数
requestedAt 中,T 是日期与时间的分隔符,.000 是毫秒,Z 表示 UTC(协定世界时)。例如 2025-01-05T10:30:00.000Z 表示 UTC 时间 2025 年 1 月 5 日 10:30:00。响应参数
响应示例:
履行结果查询
由 Waffo Point Topup 调用,用于向供应商查询履行结果。如果你的即时履行接口本身支持幂等,就不需要提供这个查询接口——Waffo 会用同一个
salesOrderId 重试,由你保证幂等处理。请求参数
响应参数
响应示例:
履行结果通知 Webhook
Waffo Point Topup 把最终履行状态 POST 到你在签名 URL 的notifyUrl 参数里给出的端点,覆盖支付成功但履行失败、支付失败、以及超时未支付这几类情况。
完整字段清单、failureCode 全表与请求示例见 API 参考:履行结果 Webhook。
驱动你集成逻辑的是 fulfillmentStatus:
如果你选择最小集成(只做签名跳转 + 本 Webhook,不实现履行接口),Waffo 只会返回
PAY_SUCCESS 与 PAYMENT_FAILED 两种状态。响应与重试策略
收到履行回调后,如果处理成功,请返回 HTTP200 OK,并在响应体中包含 success。Waffo Point Topup 据此认为履行结果已成功通知供应商;否则 Waffo Point Topup 会重试。
Waffo 履行结果查询 API
供应商主动向 Waffo Point Topup 查询 Mode C 订单的履行结果。这是履行结果通知 Webhook 的拉取式对应版本,通常用于对账,或漏收 Webhook 通知时的兜底。响应的data 结构与 Webhook 的 data 完全一致。
完整参数、响应示例与在线调用见 API 参考:履行结果查询。
查询键:
supplierId 必填,salesOrderId 与 payOrderId 至少要传一个。订单不存在、或该订单不属于当前供应商时,按错误码规范返回错误响应。
下一步
API 共通规范
消息结构、RSA 签名验签、错误码与密钥生成。
集成总览
三种模式的完整对比与接入准备清单。
