> ## 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 产品概览

> 构建全球支付基础设施。从收单到增长的一站式全栈解决方案。

export const ProductOverviewCards = ({items = [], columns = 2}) => {
  const layoutColumns = items.length === 3 ? 3 : items.length === 2 ? 2 : columns;
  return <div className="product-overview-cards not-prose my-4 grid gap-4" data-columns={layoutColumns}>
      <style>{`
        .product-overview-cards {
          grid-template-columns: minmax(0, 1fr) !important;
        }
        .product-overview-cards .product-overview-card {
          padding: 24px !important;
          box-sizing: border-box;
        }
        @media (min-width: 768px) {
          .product-overview-cards[data-columns="2"],
          .product-overview-cards[data-columns="3"] {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          }
          .product-overview-cards[data-columns="3"] .product-overview-card:nth-of-type(3) {
            grid-column: 1 / -1 !important;
          }
        }
      `}</style>
      {items.map(item => <div key={item.title} className="product-overview-card rounded-xl border border-slate-200 dark:border-neutral-700 bg-gradient-to-b from-slate-50 to-white dark:from-neutral-900 dark:to-neutral-950">
          <div className="flex flex-col items-start gap-3">
            <span className="inline-flex h-10 w-10 items-center justify-center rounded-lg border border-slate-200 dark:border-neutral-700 bg-white dark:bg-neutral-900 text-blue-700 dark:text-[#4D7CFF]">
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
                {item.icon === "cart-shopping" && <>
                    <circle cx="8" cy="21" r="1" />
                    <circle cx="19" cy="21" r="1" />
                    <path d="M2 3h3l3 12h10l3-8H6" />
                  </>}
                {item.icon === "rotate" && <>
                    <path d="M21 12a9 9 0 1 1-3-6.7" />
                    <path d="M21 4v6h-6" />
                  </>}
                {item.icon === "credit-card" && <>
                    <rect x="3" y="5" width="18" height="14" rx="2" />
                    <path d="M3 10h18" />
                    <path d="M7 15h4" />
                  </>}
                {item.icon === "desktop" && <>
                    <rect x="3" y="4" width="18" height="12" rx="2" />
                    <path d="M8 20h8" />
                    <path d="M12 16v4" />
                  </>}
                {item.icon === "palette" && <>
                    <path d="M12 22a10 10 0 1 1 7.5-3.4c-.9 1-2.4.4-2.4-.9 0-1.1-.9-2-2-2h-1.4c-1.2 0-2.2 1-2.2 2.2 0 1.1.9 2.1 2.1 2.1" />
                    <circle cx="7.5" cy="10.5" r=".8" />
                    <circle cx="12" cy="7.5" r=".8" />
                    <circle cx="16.5" cy="10.5" r=".8" />
                  </>}
                {item.icon === "location-dot" && <>
                    <path d="M12 21s7-5.2 7-11a7 7 0 0 0-14 0c0 5.8 7 11 7 11Z" />
                    <circle cx="12" cy="10" r="2.5" />
                  </>}
                {item.icon === "globe" && <>
                    <circle cx="12" cy="12" r="10" />
                    <path d="M2 12h20" />
                    <path d="M12 2a15.3 15.3 0 0 1 0 20" />
                    <path d="M12 2a15.3 15.3 0 0 0 0 20" />
                  </>}
                {item.icon === "coins" && <>
                    <ellipse cx="8" cy="7" rx="5" ry="3" />
                    <path d="M3 7v6c0 1.7 2.2 3 5 3s5-1.3 5-3V7" />
                    <path d="M13 10c2.8 0 5 1.3 5 3v4c0 1.7-2.2 3-5 3-1.2 0-2.3-.2-3.1-.7" />
                  </>}
                {item.icon === "calendar-days" && <>
                    <rect x="3" y="4" width="18" height="17" rx="2" />
                    <path d="M16 2v4" />
                    <path d="M8 2v4" />
                    <path d="M3 10h18" />
                    <path d="M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01" />
                  </>}
                {item.icon === "calculator" && <>
                    <rect x="5" y="2" width="14" height="20" rx="2" />
                    <path d="M8 6h8" />
                    <path d="M8 10h.01M12 10h.01M16 10h.01M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01M16 18h.01" />
                  </>}
                {item.icon === "building" && <>
                    <rect x="4" y="3" width="16" height="18" rx="2" />
                    <path d="M8 7h.01M12 7h.01M16 7h.01M8 11h.01M12 11h.01M16 11h.01M8 15h.01M12 15h.01M16 15h.01" />
                  </>}
                {item.icon === "chart-line" && <>
                    <path d="M3 3v18h18" />
                    <path d="m6 16 4-5 4 3 5-8" />
                  </>}
                {item.icon === "brain" && <>
                    <path d="M9 3a3 3 0 0 0-3 3v1a3 3 0 0 0-2 5.2A4 4 0 0 0 8 19h1" />
                    <path d="M15 3a3 3 0 0 1 3 3v1a3 3 0 0 1 2 5.2A4 4 0 0 1 16 19h-1" />
                    <path d="M12 3v18" />
                  </>}
                {item.icon === "chart-pie" && <>
                    <path d="M21 12a9 9 0 1 1-9-9v9Z" />
                    <path d="M12 3a9 9 0 0 1 9 9h-9Z" />
                  </>}
                {item.icon === "shield-halved" && <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z" />}
                {item.icon === "user-gear" && <>
                    <circle cx="9" cy="8" r="4" />
                    <path d="M3 21a6 6 0 0 1 10.5-4" />
                    <path d="M19 15v2M19 21v1M16.6 16.4l1.4 1.4M20 20l1.4 1.4M16 19h2M20 19h2" />
                  </>}
                {item.icon === "lock" && <>
                    <rect x="5" y="11" width="14" height="10" rx="2" />
                    <path d="M8 11V7a4 4 0 0 1 8 0v4" />
                  </>}
                {item.icon === "arrows-rotate" && <>
                    <path d="M21 12a9 9 0 0 1-15.5 6.2" />
                    <path d="M3 12A9 9 0 0 1 18.5 5.8" />
                    <path d="M21 3v6h-6" />
                    <path d="M3 21v-6h6" />
                  </>}
                {item.icon === "hand-pointer" && <>
                    <path d="M8 13V5a2 2 0 0 1 4 0v6" />
                    <path d="M12 11V9a2 2 0 0 1 4 0v4" />
                    <path d="M16 13v-1a2 2 0 0 1 4 0v3c0 4-2 7-7 7h-1a6 6 0 0 1-5.3-3.2L4 14a2 2 0 1 1 3.5-2l1.5 2" />
                  </>}
                {item.icon === "snowflake" && <>
                    <path d="M12 2v20M4.9 4.9l14.2 14.2M2 12h20M4.9 19.1 19.1 4.9" />
                    <path d="m8 4 4 4 4-4M8 20l4-4 4 4" />
                  </>}
                {item.icon === "sliders" && <>
                    <path d="M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3" />
                    <path d="M2 14h4M10 8h4M18 16h4" />
                  </>}
                {item.icon === "ban" && <>
                    <circle cx="12" cy="12" r="10" />
                    <path d="m4.9 4.9 14.2 14.2" />
                  </>}
                {(!item.icon || item.icon === "bolt") && <path d="M13 2 4 14h7l-1 8 9-12h-7l1-8Z" />}
              </svg>
            </span>
            <div className="flex flex-col gap-2">
              <h4 className="m-0 text-base font-semibold text-slate-900 dark:text-slate-100">
                {item.title}
              </h4>
              <p className="m-0 text-sm leading-6 text-slate-600 dark:text-slate-300">
                {item.description}
              </p>
              {item.logos && <div className="mt-1 flex flex-wrap gap-2">
                  {item.logos.map(({src, alt}) => <span key={alt} className="inline-flex h-7 w-[42px] items-center justify-center rounded border border-slate-200 bg-white p-1 dark:border-neutral-300">
                      <img src={src} alt={alt} className="m-0 h-full w-full object-contain" />
                    </span>)}
                </div>}
            </div>
          </div>
        </div>)}
    </div>;
};

export const PM = {
  VISA: {
    alt: "Visa",
    src: "https://cdn.waffo.com/payment-method/PMI_CC001.png"
  },
  MASTERCARD: {
    alt: "Mastercard",
    src: "https://cdn.waffo.com/payment-method/PMI_CC008.png"
  },
  JCB: {
    alt: "JCB",
    src: "https://cdn.waffo.com/payment-method/PMI_CC068.png"
  },
  UNIONPAY: {
    alt: "UnionPay",
    src: "https://cdn.waffo.com/payment-method/PMI_CC762.png"
  },
  AMEX: {
    alt: "American Express",
    src: "https://cdn.waffo.com/payment-method/PMI_CC015.png"
  },
  BANCONTACT: {
    alt: "Bancontact",
    src: "/images/essentials/one-time-payment/bancontact-logo.svg"
  },
  APPLE_PAY: {
    alt: "Apple Pay",
    src: "https://cdn-dev.waffo.com/payment-method/PMI_155.png"
  },
  GOOGLE_PAY: {
    alt: "Google Pay",
    src: "https://cdn-dev.waffo.com/payment-method/PMI_161.png"
  },
  WECHAT_PAY: {
    alt: "WeChat Pay",
    src: "https://cdn.waffo.com/payment-method/PMI_170.png"
  },
  ALIPAY: {
    alt: "Alipay",
    src: "https://cdn.waffo.com/payment-method/PMI_168.png"
  },
  DANA: {
    alt: "DANA",
    src: "https://cdn.waffo.com/payment-method/PMI_001.png"
  },
  PAYPAY: {
    alt: "PayPay",
    src: "https://cdn.waffo.com/payment-method/PMI_247.png"
  },
  ZALOPAY: {
    alt: "ZaloPay",
    src: "https://cdn.waffo.com/payment-method/PMI_084.png"
  },
  PIX: {
    alt: "PIX",
    src: "https://cdn.waffo.com/payment-method/PMI_040.png"
  },
  BANK_LOCAL_SEPA: {
    alt: "SEPA",
    src: "/images/essentials/one-time-payment/SEPA.png"
  },
  BANK_LOCAL_IDEAL: {
    alt: "iDEAL",
    src: "/images/essentials/one-time-payment/ideal.png"
  },
  BANK_LOCAL_BANCONTACT: {
    alt: "Bancontact",
    src: "/images/essentials/one-time-payment/Bancontact.png"
  },
  BANK_LOCAL_MORE: {
    alt: "More payment methods",
    src: "/images/essentials/one-time-payment/Payment%20logo.png"
  },
  LOCAL_PAYMENT: {
    alt: "Local Payment",
    src: "/images/essentials/one-time-payment/bank-transfer-2.svg"
  }
};

## 收单与支付

通过灵活的收款方式连接全球支付网络，适配多样化的业务模式。

### 一次性支付

标准的即时交易模型（Sale），支持全球主流信用卡及本地支付方式。

<ProductOverviewCards
  columns={2}
  items={[
{
title: "功能",
icon: "bolt",
description: "即时批准与实时支付反馈。",
},
{
title: "价值",
icon: "cart-shopping",
description: "适用于电商零售与数字游戏等“即时交付换取支付”的场景，确保资金快速回笼。",
},
]}
/>

[探索一次性支付解决方案 →](/docs/zh/essentials/one-time-payment)

***

### 订阅与周期性支付

面向 SaaS 与会员业务打造的周期性计费引擎。

<ProductOverviewCards
  columns={2}
  items={[
{
title: "智能重试",
icon: "rotate",
description: "利用大数据在最佳时间重试交易，挽回因余额不足导致的失败。",
},
{
title: "非自愿流失管理",
icon: "credit-card",
description: "有效降低由卡片问题而非用户意愿导致的流失。",
},
]}
/>

<Tip>
  **适用场景：** 软件订阅、会员续费、周期性订单。
</Tip>

[探索订阅解决方案 →](/docs/zh/essentials/subscription-recurring)

***

### 托管式收银台

开箱即用的托管支付页面，无需前端编码即可上线。

<ProductOverviewCards
  columns={3}
  items={[
{
title: "多设备适配",
icon: "desktop",
description: "自动适配 PC、手机与平板屏幕。",
},
{
title: "品牌定制",
icon: "palette",
description: "支持上传 Logo 与自定义配色方案，保持品牌一致性。",
},
{
title: "动态路由",
icon: "location-dot",
description: "基于用户位置自动展示最常用的本地支付方式。",
},
]}
/>

[查看收银台 →](/docs/zh/essentials/checkout)

***

### 支付方式

一站式接入全球主流支付渠道。

<ProductOverviewCards
  columns={1}
  items={[
{
title: "覆盖范围",
icon: "globe",
description: "国际卡组织（Visa、Mastercard、Amex）与 100+ 本地钱包（Apple Pay、Google Pay、Alipay 等）。",
logos: [PM.VISA, PM.MASTERCARD, PM.AMEX, PM.APPLE_PAY, PM.GOOGLE_PAY, PM.ALIPAY, PM.WECHAT_PAY],
},
]}
/>

[探索支付方式 →](/docs/zh/essentials/payment-methods)

***

## 结算与资金管理

透明、合规的全球资金与税务管理系统，消除跨境运营的后顾之忧。

### 商户结算

灵活的全球资金分发网络。

<ProductOverviewCards
  columns={2}
  items={[
{
title: "多币种归集",
icon: "coins",
description: "支持按原币种结算，或自动换汇结算以尽量降低汇兑损失。",
},
{
title: "灵活周期",
icon: "calendar-days",
description: "提供从 T+1 极速结算到按月结算等多种选项。",
},
]}
/>

[了解商户结算 →](/docs/zh/essentials/merchant-settlement)

***

### 全球税务（MoR）

基于 Merchant of Record（MoR）模式的自动化税务处理服务。

<ProductOverviewCards
  columns={2}
  items={[
{
title: "自动计算与申报",
icon: "calculator",
description: "实时计算覆盖 100+ 国家/地区的 VAT/GST，由 Waffo 负责申报并向税务机关缴纳税款。",
},
{
title: "智能 B2B/B2C 逻辑",
icon: "building",
description: "支持 Reverse Charge（反向征税）机制，为合规企业自动免税。",
},
]}
/>

<Tip>
  **价值：** 无需在海外注册本地实体即可合规运营，彻底规避税务风险。
</Tip>

[了解全球税务合规 →](/docs/zh/essentials/tax)

***

## 增值服务

不止于支付——通过数据洞察与风控管理，赋能业务增长。

### 数据分析

全景式支付健康度监控与诊断中心。

<ProductOverviewCards
  columns={3}
  items={[
{
title: "全景仪表盘",
icon: "chart-line",
description: "实时监控授权成功率（Auth Rates）、交易总额（TPV）以及全渠道转化漏斗。",
},
{
title: "智能归因",
icon: "brain",
description: "将晦涩的银行拒绝代码转化为可执行的策略（区分技术故障、风控拦截与用户流失）。",
},
{
title: "流失分析",
icon: "chart-pie",
description: "量化挽回的收入，并定位订阅流失的根因。",
},
]}
/>

[探索数据智能 →](/docs/zh/essentials/data-intelligence)

***

### 商户门户与争议管理

一体化可视化看板，既是运营中枢，也是风控防线堡垒。

<ProductOverviewCards
  columns={2}
  items={[
{
title: "争议防御闭环",
icon: "shield-halved",
description: "集成 Visa RDR/Ethoca 预警，在争议升级为案件前完成处理；提供结构化证据上传与自动化再申诉（Representment）工具。",
},
{
title: "权限管理",
icon: "user-gear",
description: "支持基于角色的协作（财务、运营、开发）。",
},
]}
/>

[探索争议防御 →](/docs/zh/essentials/dispute-chargeback)

***

## 高级功能

面向复杂业务场景的深度定制能力，通过技术优化体验与风控。

### Tokenization

金融级数据安全托管与全生命周期管理技术。

<ProductOverviewCards
  columns={3}
  items={[
{
title: "PCI-DSS 一级合规",
icon: "lock",
description: "以 Token 替代敏感卡号，大幅降低合规范围。",
},
{
title: "账户更新器",
icon: "arrows-rotate",
description: "自动更新已过期或已更换银行卡的映射关系，确保订阅扣款零中断。",
},
{
title: "一键支付",
icon: "hand-pointer",
description: "Token 可跨渠道共享，提供极致顺滑的复购支付体验。",
},
]}
/>

[探索 Tokenization 技术 →](/docs/zh/essentials/tokenization)

***

### Auth & Capture

将“冻结”和“扣款”步骤分离的灵活交易模型。

<ProductOverviewCards
  columns={3}
  items={[
{
title: "预授权",
icon: "snowflake",
description: "在服务开始前冻结信用额度，保障资金安全。",
},
{
title: "部分扣款",
icon: "sliders",
description: "支持“按实际发生扣款”，根据实际用量扣减（如 AI Tokens、发货量）。",
},
{
title: "撤销",
icon: "ban",
description: "取消后即时释放额度，无银行手续费。",
},
]}
/>

<Tip>
  **使用场景：** AI 按量计费、电商发货模型、酒店/租赁押金。
</Tip>

[探索 Auth & Capture 机制 →](/docs/zh/essentials/auth-capture)

***

需要帮助？[联系支持](mailto:support@waffo.com)
