← 返回博客
Tutorial发布于 2026-11-08· 7 分钟阅读

在 Next.js SaaS 中接入 Creem 支付(分步教程)

By make1day

Creem 是最接近「类 Stripe 托管结账 + 商户登记」的方案。本教程让 Next.js SaaS 通过它收真实款项。

1. 创建账户与 API key

在 Creem 注册,切到测试模式,创建 API key,存入 CREEM_API_KEY。开发期设 CREEM_ENV=test,沙箱往返变绿后再改为 live。

2. 创建商品与价格

在 Creem 后台为 Buyout 建一次性商品、为 Care 建周期商品。把价格 id 填入 CREEM_PRICE_ID_PRO(一次性 Buyout 映射到 PRO 槽、周期 Care 映射到 SCALE),若你的集成分开字段则填 CREEM_PRICE_ID_BUYOUT / CREEM_PRICE_ID_CARE。若做黑五或 MGM 促销,另建价格 id 并设 CREEM_PRICE_ID_BUYOUT_BF / _MGM;Webhook 的 plan 反推已能识别。

3. 配置 Webhook

把 Creem 指向你的 /api/payments/webhook/creem 端点,把 Webhook 密钥存入 CREEM_WEBHOOK_SECRET。集成会在信任每个事件前验证签名。结账事件通过商品 / 价格 id 反推方案并发放许可;退款或取消事件则撤消它。

4. 设定网关

设 PAYMENT_PROVIDER=creem,外加 CREEM_API_KEY 与 CREEM_WEBHOOK_SECRET。结账调用为当前方案(或促销开启时的 BF / MGM 价格 id)选取正确价格 id,并重定向到 Creem 托管结账。

5. 跑沙箱测试

用测试模式做一次测试购买。确认 Webhook 触发、方案被正确反推、许可 key 已签发,且测试退款能撤消许可。在往返变绿后再上线(CREEM_ENV=live 并换正式 key)。

由于 Creem、Waffo、Stripe、PayPal、Lemon Squeezy 在 make1day 里都位于同一套结账与 Webhook 契约之后,切换供应商只是配置项——不是重写。

FAQ

Creem 是商户登记(MoR)吗?+

是——Creem 替你处理销售税 / VAT 与合规,这正是其费率高于裸处理器的原因。请以 Creem 定价页的当前费率为准。

需要验证 Creem Webhook 签名吗?+

需要。集成对每个事件都用 CREEM_WEBHOOK_SECRET 验证。跳过会让任何人伪造已支付事件。

退款会怎样?+

Webhook 收到取消 / 退款事件后会撤消许可,使退款客户无法继续访问。

All frequently asked questions · Markdown version (for AI agents)

Set Up Creem Payments in a Next.js SaaS (Step by Step) · make1day