收银台概览
Waffo Pancake 使用两步收银台流程,专为提高转化率设计。该设计先收集客户信息,再收集支付信息,降低放弃率并支持精准的税费计算。收银台 URL
产品购买链接(推荐)
每个产品都有一个永不过期的永久购买链接:收银台会话(API)
对于高级用例(动态定价、自定义元数据、程序化收银台),通过 API 创建会话:收银台会话在服务端生成,并在创建时锁定产品版本、定价和货币。
两步流程
消费者信息
收集邮箱、国家和账单信息,用于税费计算和订单处理。
支付
输入卡片信息或使用 Apple Pay / Google Pay 完成支付。

第 1 步:消费者信息
收集税费计算和订单处理所需的信息。 必填字段:
条件字段(基于国家):
企业购买选项:
客户可以勾选”我以企业身份购买”来提供:
- 企业名称
- 税号(用于增值税/税务豁免)
第 2 步:支付

银行卡支付
- 卡号
- 有效期 (MM/YY)
- CVC/CVV
- 持卡人姓名
数字钱包
- Apple Pay(iOS、Safari)
- Google Pay(Android、Chrome)
- 生物识别一键支付
会话生命周期
- 一个会话,一笔订单。 一个 checkout session 只能生成一笔订单。买家提交后 session 即被消费,再打开同一个
checkoutUrl会显示「结账链接已过期」。这是正常行为 —— 每次购买都重新调用 create-session,不要复用链接。 - 浏览器返回键。 跳转支付通道前,收银台会把当前历史条目替换成服务端由原会话派生出的新会话,支付通道的取消返回地址也指向同一个地址。所以两条返回路径都落到一个有效的会话上,你传的
orderMerchantExternalId和metadata都保留 —— 与浏览器无关,因为这些值存在会话内容里。注意替换会话的有效期会重置为默认 45 分钟,即便你原来设了更长的expiresInSeconds。 - 字段会丢的情况。 如果上述替换失败,或买家回到了一个已被消费的旧会话,页面会自愈:跳回商品页,以匿名访客身份重新铸一个全新会话。这条路径会丢掉
orderMerchantExternalId、metadata,以及你放在链接上的currency、email、success_url。 - 订单上缺了这些字段怎么办。 如果收到
orderMerchantExternalId为空的order.completed,可在自己的系统里用buyerEmail+productId+ 金额,匹配该买家 30 分钟内的未支付订单。
订阅收银台
对于订阅产品,额外显示计费信息:自定义
通过仪表盘中的收银台设置,让收银台页面匹配您的品牌。Logo
上传自定义 Logo 显示在收银台页面。支持 PNG、JPG 和 SVG 格式。主题模式
浅色模式
白色背景,深色文字。适合大多数品牌。
深色模式
深色背景,浅色文字。现代美学。
颜色设置
边框圆角
通过checkoutBorderRadius 设置控制 UI 元素的圆角程度。默认值为 8px。选项范围从 0px(直角)到 16px(超大圆角)。
确保文本和背景颜色之间有足够的对比度以保证可访问性。WCAG 建议对比度至少为 4.5:1。
商店信息
多语言支持
托管收银台内置多语言能力,商户无需任何配置:- 自动检测 —— 收银台界面自动跟随买家的浏览器语言,暂不支持的语言回落为英文。
- 买家自选 —— 买家可随时通过收银台页脚的语言选择器切换语言。
- 支付页跟随 —— 支付页会使用买家点击支付时所选的语言打开(支持 22 种支付页语言)。
语言优先级
收银台首次打开时按以下顺序决定界面语言,命中即停:语言与货币完全解耦 —— 无论订单使用哪种货币,买家都可以切换到 19 种支持语言中的任意一种。
处理与结果
提交支付后:- 卡片验证 — Luhn 校验、有效期、CVC 验证
- 3D Secure — 银行验证(如发卡行要求)
- 授权 — 向卡片扣款
- 订单创建 — 记录到系统
错误处理
测试收银台
使用测试模式体验收银台流程,无需真实扣款。测试模式通过横幅提示:“Test Mode - No real charges will be made”
记录商声明
在收银台页面底部,客户会看到:“This order is processed by our online reseller & Merchant of Record, Waffo Pancake, who also handles order-related inquiries and returns.”此声明是记录商(MoR)合规要求,帮助客户理解支付关系。