定制化能力概览
优先级:API 传参 > 商户后台 > SDK 传入
同一能力通过多种方式配置时,高优先级的生效。
支付方式过滤
通过payMethodType 和 payMethodName 控制收银台展示的支付方式。
支付方式特例以及 App WebView / iframe 相关限制,参见 支付方式集成注意事项。
推荐传参方式
示例
payMethodCountry 什么时候需要传
当商户希望收银台只展示指定国家的支付方式时传入。- 不传:收银台展示商户合约下所有国家的可用支付方式
- 传入:收银台仅展示该国家的支付方式
多币种支持
当商户定价币种与用户支付币种不同时(跨币种下单):userCurrency 可不传,Waffo 自动处理汇率换算。用户在收银台看到的是当地货币金额。
语言设置
通过paymentInfo.cashierLanguage 设置收银台显示语言(IETF BCP 47 格式):
自动选择逻辑
不指定cashierLanguage 时,Waffo 按以下优先级自动选择语言:
- 根据用户国家匹配(如用户国家为 IDN →
id-ID) - 根据订单币种匹配(如币种为 BRL →
pt-BR) - 以上均无匹配 → 回退到
en
注意事项
- 语言必须与币种/国家匹配。例如
IDR币种的订单只能指定id-ID或en,指定pt-BR会返回错误码A0026 en是通用语言,适用于所有币种和国家- 未在上表中列出的币种(如
USD、EUR、SGD等),收银台仅支持en
不支持的语言会返回错误码
A0026。主题定制
自定义收银台的颜色、字体和样式,匹配商户品牌形象。三种配置方式
优先级:API 传参 > 商户后台 > SDK 传入。API 传了
cashierAppearance 会覆盖所有其他设置。
主题变量
这些变量会注入到收银台 UI 渲染层,覆盖默认主题。影响范围包括:支付方式选择页、卡片表单页、过渡页、支付结果页。
API 传参方式
支持的接口:POST /api/v1/order/createPOST /api/v1/subscription/create
cashierAppearance 字段必须是 JSON 字符串(不是 JSON 对象),结构为 {"variables": { ... }},需要对内部的引号做转义。商户后台配置
登录 Merchant Portal → Checkout → Cashier Customization,在收银台客制化页面设置全局默认样式。适合所有交易使用统一品牌样式的场景。 Portal 支持配置商户 Logo、预设主题、主题颜色、字体大小和圆角,并可在页面右侧实时预览效果。点击 Save & Publish 后,配置会应用到后续新创建的订单。
SDK 传入
初始化前端 SDK(@waffo/payment-sdk)时传入主题配置。优先级最低,当 API 和后台都未配置时生效。
商户 Logo
通过brandInfo.cashierLogoUrl 传递商户 Logo,在收银台页面展示品牌标识。
两种传递方式:
API 传参示例
订单过期时间
通过orderExpiredAt 设置订单过期时间(ISO 8601,UTC+0)。
重定向 URL
支持 HTTPS 链接和 deeplink 链接(如 App 场景)。