Skip to main content
Waffo 收银台支持多种定制化能力,商户可以通过三种方式配置外观和行为。

定制化能力概览

优先级:API 传参 > 商户后台 > SDK 传入 同一能力通过多种方式配置时,高优先级的生效。

支付方式过滤

通过 payMethodTypepayMethodName 控制收银台展示的支付方式。 支付方式特例以及 App WebView / iframe 相关限制,参见 支付方式集成注意事项

推荐传参方式

示例

payMethodCountry 什么时候需要传

当商户希望收银台只展示指定国家的支付方式时传入。
  • 不传:收银台展示商户合约下所有国家的可用支付方式
  • 传入:收银台仅展示该国家的支付方式
全球卡(CREDITCARD/DEBITCARD)不要传 payMethodCountry,全球卡不属于任何国家。

多币种支持

当商户定价币种与用户支付币种不同时(跨币种下单):
userCurrency 可不传,Waffo 自动处理汇率换算。用户在收银台看到的是当地货币金额。

语言设置

通过 paymentInfo.cashierLanguage 设置收银台显示语言(IETF BCP 47 格式):
支持的语言及其适用的币种/国家:

自动选择逻辑

不指定 cashierLanguage 时,Waffo 按以下优先级自动选择语言:
  1. 根据用户国家匹配(如用户国家为 IDN → id-ID
  2. 根据订单币种匹配(如币种为 BRL → pt-BR
  3. 以上均无匹配 → 回退到 en

注意事项

  • 语言必须与币种/国家匹配。例如 IDR 币种的订单只能指定 id-IDen,指定 pt-BR 会返回错误码 A0026
  • en 是通用语言,适用于所有币种和国家
  • 未在上表中列出的币种(如 USDEURSGD 等),收银台仅支持 en
不支持的语言会返回错误码 A0026

主题定制

自定义收银台的颜色、字体和样式,匹配商户品牌形象。

三种配置方式

优先级:API 传参 > 商户后台 > SDK 传入。API 传了 cashierAppearance 会覆盖所有其他设置。

主题变量

这些变量会注入到收银台 UI 渲染层,覆盖默认主题。影响范围包括:支付方式选择页、卡片表单页、过渡页、支付结果页。

API 传参方式

支持的接口:
  • POST /api/v1/order/create
  • POST /api/v1/subscription/create
cashierAppearance 字段必须是 JSON 字符串(不是 JSON 对象),结构为 {"variables": { ... }},需要对内部的引号做转义。

商户后台配置

登录 Merchant Portal → Checkout → Cashier Customization,在收银台客制化页面设置全局默认样式。适合所有交易使用统一品牌样式的场景。 Portal 支持配置商户 Logo、预设主题、主题颜色、字体大小和圆角,并可在页面右侧实时预览效果。点击 Save & Publish 后,配置会应用到后续新创建的订单。
Merchant Portal 收银台客制化页面总览
如果你的账户下有子商户(SubMID),可以选择让所有子商户继承主商户配置,也可以为单个子商户设置独立样式。 完整操作步骤见 Merchant Portal 收银台客制化配置

SDK 传入

初始化前端 SDK(@waffo/payment-sdk)时传入主题配置。优先级最低,当 API 和后台都未配置时生效。
通过 brandInfo.cashierLogoUrl 传递商户 Logo,在收银台页面展示品牌标识。 两种传递方式:

API 传参示例

使用 Portal 上传的 Logo:

订单过期时间

通过 orderExpiredAt 设置订单过期时间(ISO 8601,UTC+0)。
该字段控制的是用户在收银台提交订单的时间窗口。一旦订单提交到支付渠道后,过期时间由支付方式自身控制,极少数支付方式支持商户传入渠道侧过期时间。具体可登录 Portal,到 Payin 页面查看各支付方式的过期时间说明。

重定向 URL

支持 HTTPS 链接和 deeplink 链接(如 App 场景)。
重定向仅控制用户体验,不代表支付结果。始终以 Webhook 或查询接口为准。