跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://waffo.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

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

定制化能力概览

能力API 传参Portal 配置SDK 初始化
主题色支持支持支持
背景色支持支持支持
文字色支持支持支持
圆角支持支持支持
商户 Logo支持支持-
语言支持-支持
优先级:API 传参 > Portal 配置 > SDK 初始化 同一能力通过多种方式配置时,高优先级的生效。

主题样式

通过 cashierAppearance 字段配置收银台主题,支持 4 个变量:
变量说明示例
colorPrimary主题色(按钮、链接等)"#0570de"
colorBackground背景色"#ffffff"
colorText文字色"#30313d"
borderRadius圆角半径"8px"

方式一:API 传参(每笔交易独立配置)

cashierAppearance 是 String 类型字段,值为一个 JSON 字符串。内部引号必须转义。
{
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "cashierAppearance": "{\"variables\":{\"colorPrimary\":\"#0570de\",\"colorBackground\":\"#ffffff\",\"colorText\":\"#30313d\",\"borderRadius\":\"8px\"}}"
  }
}

方式二:Portal 配置(全局默认)

Merchant Portal 的收银台定制页面配置默认主题。所有交易默认使用此配置,除非 API 传参覆盖。

方式三:SDK 初始化(客户端默认)

在 SDK 初始化时传入主题配置:
const waffo = new WaffoSDK({
  env: 'production',
  appearance: {
    variables: {
      colorPrimary: '#0570de',
      colorBackground: '#ffffff',
      colorText: '#30313d',
      borderRadius: '8px'
    }
  }
});
通过 brandInfo.cashierLogoUrl 传递商户 Logo,在收银台页面展示品牌标识。 两种传递方式:
方式格式说明
外部 URLhttps:// 开头商户自行托管,推荐尺寸 40x40 px
Portal 预创建 IDlogo_ 开头通过 Merchant Portal 上传后获取

API 传参示例

使用外部 URL:
{
  "brandInfo": {
    "cashierLogoUrl": "https://merchant.com/logo.png"
  }
}
使用 Portal 上传的 Logo:
{
  "brandInfo": {
    "cashierLogoUrl": "logo_abc123"
  }
}

语言设置

通过 paymentInfo.cashierLanguage 设置收银台语言,格式为 IETF BCP 47。

支持的语言

语言代码语言适用币种适用国家
enEnglish所有所有
id-IDBahasa IndonesiaIDR印尼
vi-VNTiếng ViệtVND越南
pt-BRPortuguêsBRL巴西
es-MXEspañol (México)MXN墨西哥
es-PEEspañol (Perú)PEN秘鲁
es-COEspañol (Colombia)COP哥伦比亚
es-CLEspañol (Chile)CLP智利
ru-RUРусскийRUB俄罗斯
en-KEEnglish (Kenya)KES肯尼亚
zh-Hant-TW繁體中文 (台灣)TWD台湾
zh-Hant-HK繁體中文 (香港)HKD香港

自动选择逻辑

不传 cashierLanguage 时,Waffo 按以下优先级自动选择:
  1. 匹配用户所在国家
  2. 匹配订单币种对应的语言
  3. 兜底使用 en
语言必须与币种/国家匹配。如果传了不匹配的组合,API 会返回错误码 A0026

传参示例

{
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "cashierLanguage": "id-ID"
  }
}

支付方式过滤

控制收银台展示哪些支付方式。 推荐:不传 payMethodTypepayMethodName,让收银台自动展示所有可用方式。 按需过滤:
场景传参方式说明
展示所有支付方式不传推荐,覆盖面最广
仅展示卡支付payMethodType: "CREDITCARD,DEBITCARD"Waffo 通过 BIN 自动识别卡类型
仅展示 VApayMethodType: "VA"用户在收银台选择具体银行
指定具体钱包payMethodType + payMethodName"EWALLET" + "DANA"

payMethodCountry 使用指南

payMethodCountry 用于限制展示特定国家的支付方式。
不要对全球卡(CREDITCARD/DEBITCARD)传 payMethodCountry,因为信用卡和借记卡不属于任何特定国家。仅在需要限定本地支付方式时使用。
{
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "payMethodCountry": "IDN"
  }
}