支付
支付由 node3-pay-service 处理,支持 Stripe、Creem 和可配置价格方案。整体思路是:先建好收款渠道,再在 价格方案 里把业务上的「套餐」与 Stripe 的 Product / Price 对应起来,最后让每个 项目(app_key) 绑定到具体渠道,前台结账才会走通。


推荐配置顺序
Section titled “推荐配置顺序”-
支付渠道(Pay Channels,
/pay-channels)
新增 Stripe 或 Creem 渠道,填写密钥、Webhook 等。一个 Stripe「商店」可以对应后台里的一条或多条渠道记录(例如按环境、按品牌拆分),视你的运维方式而定。 -
价格方案(Price Config,
/price-config)
新建或编辑方案:金额、计费周期、积分额度、功能开关等。对 Stripe 而言,还需要把方案与 Product ID、Price ID 对齐(见下文)。 -
项目与渠道绑定(仍在 Pay Channels 页)
将 app_key 绑定到某条支付渠道(Stripe / Creem)。新建项目后若不做这一步,该站的支付链路通常不可用——系统不知道收款应走哪套密钥与 Webhook。
这样做的目的,是让你可以 先快速起站、起新项目,多个站点共用 同一套 Stripe 账户与商品目录,而不必每开一个站点就在 Stripe 里重复搭一整套商店;等有精力再按需增加更多渠道或拆分账户即可。
Stripe:Product ID 与 Price ID
Section titled “Stripe:Product ID 与 Price ID”Stripe 侧在 Dashboard 的 产品(Products) 里维护商品与定价;每个价格有独立的 Price ID(price_...),并隶属于某个 Product ID(prod_...)。
在 Admin → Price Config 编辑某条方案时,需要把这些 ID 填对,结账与 Webhook 才能与 Stripe 对上。
若不想在 Dashboard 里反复复制粘贴,可使用编辑器里的 从 Stripe 拉取(Fetch products / prices) 能力:
- 会调用 Stripe API,列出 当前所选支付渠道(对应那套 Secret Key)下已有的产品与价格,供你选择并写回配置,减少手输错误。
- 前提:在价格编辑器里选好 应用(app_key),且该应用已在
/pay-channels绑定至少一条 Stripe 渠道;否则无法拉取。 - 若后台存在 多条 Stripe 渠道,拉取时还可指定用哪一条渠道的凭证去请求目录(与「当前应用默认绑定」区分开)。
拉取只解决 ID 与 Stripe 侧目录对齐;卡片上给用户看的文案仍由你在后台维护(见下一节)。
价格展示的国际化(多语言)
Section titled “价格展示的国际化(多语言)”价格方案支持为展示内容配置 多语言(例如标题、描述、角标、特性列表等),数据结构一般为 display_i18n 一类字段,按 locale(如 en、zh)分别存放。
- 各语言的文案需要你在管理后台自行填写(或使用后台提供的批量/对照编辑能力整理);系统不会自动从 Stripe 拉取多语言营销文案。
- 若已配置 AI 网关,部分环境下一键补全缺失语种可作为辅助,仍以你审核后的内容为准。
前台站点会根据用户语言或站点配置,选用对应 locale 的展示内容;未配置的语种通常会回退到默认语言或留空,具体以前端实现为准。
在 Admin → Pay Channels 启用 Creem 并填写 API Key;同样需要 项目绑定 到对应渠道后,该项目的 Creem 收款才会生效。价格方案侧按 Creem 的要求填写关联字段即可(与 Stripe 的 Product/Price ID 不同,以界面与接口为准)。
新建项目后别忘了绑定
Section titled “新建项目后别忘了绑定”每次 新建项目(app_key) 后,请到 Pay Channels 检查:
- 是否已为该
app_key增加 绑定,指向正确的 Stripe 或 Creem 渠道; - Webhook、密钥是否与线上一致。
未绑定时,用户侧可能无法完成下单或回调无法归因到正确项目。
Admin 页面速查
Section titled “Admin 页面速查”- Pay Channels(
/pay-channels)— 渠道管理、项目 ↔ 渠道绑定、Webhook 说明 - Price Config(
/price-config)— 价格方案列表与新建/编辑(含 Stripe 拉取、多语言展示、stripe_channel_overrides等高级项)