手把手 Creem 从注册到收款全流程教程
产品做完了,但是收款没搞定?对与初次接触 SaaS 收款的开发者来说,这确实是个艰巨的挑战。使用 Stripe 的门槛稍微有点高,使用 Creem 是个不错的替代方案。
本文分享 Creem 注册 + 审核验证 + 对接支付的完整流程。
注册 Creem 账户以及创建商店
注册 Creem 账户很简单,你只需要持有 Google 账户,即可直接通过 OAuth 登录的方式,创建一个新的 Creem 账户。(0)

点击 Google 登录,授权你的 Google 账户即可进入商店创建页面。

创建商店的流程很简单,你只需要填写商店名称,然后点击 Create 按钮就创建成功了。商店创建成功后,Creem 会自动跳转到你的 Dashboard,并引导你创建第一个 Product 。

创建商品资料
在 Creem 中一切都是商品(Product),无论你是卖 SaaS 订阅、数字产品还是实体商品,都需要先创建对应的 Product。(1)
点击 “Products” 按钮,进入商品列表页面,再点击右上角的 Create Product 即可进入商品创建页面。

这里需要填写几个关键信息:
- Name:产品名称,会显示在产品页面
- Description:产品描述,可以使用 Markdown 编写(可以留外链哦)
- Payment 类型:Single Payment (一次付款) / Subscription(订阅)
- Currency:产品的金额类型,默认是 EUR 需要调整为 USD
- Pricing:产品的定价(最低为 $4.49 更低就需要后面设置折扣码了)
- Product Image:产品图片,可传可不传 (3)
在 Subscription 模式下,会多出一个额外的参数:
- Subscription Interval:设置该订阅的扣款周期,可以选:每月 / 每 3 个月 / 每 6 个月 / 每年
Tip :如果你要设置按月订阅 / 按年订阅,就需要创建 2 个 Product 来分别设置产品、价格,再提供给你的应用消费。
Creem 账户审核
创建产品后,你可以在产品列表获取到产品的付款链接,如下图:

点击 Copy Payment Link 将获得一个可以直接购买这个产品的链接,但是当前它是不可用的( 因为这个 Store (注意是商店,而不是 Creem 账户)没有完成审核)(3)
直接访问它你会获得一个这个页面:

这是在提醒你,需要审核之后,才能访问到商品,因此需要准备资料去做审核。
审核需要准备什么资料
Creem 的审核感觉还是蛮宽松的,只要信息没啥问题,大约 1-2 天就能过审(没过审可以直接发邮件问客服)大概需要这些东西:
- 功能齐全的网站(审核人员会去体验你的网站功能,审查是否符合要求)
- 身份证照片
- 支付宝账户(支付宝里搜索,闪速收款,点击 “我是收款人” 来获取你的收款账号)
- 一个 Wise 账户(可选,但是建议用 Wise 来收款,而不是支付宝) (5)
需要注意一点,网站里的信息需要是真实的, 随便写一些虚假的 Testimonials 很容易被拒绝掉!! (我有站点就是因为这个原因给拒绝掉了,并且表示这是最终决定不予上诉)
如何提交审核?
提交审核之前,你需要先创建一个收款账户。通过点击点击左侧菜单:Balance => Payout Account => Create new account 即可开始这个创建的流程。

在这里,它会要求你选择国家地区,并填写你的业务信息,这里如实填写即可(也就是国家选 China,该打勾的打勾)

上面表单里,Full Name 你可以直接写你的店铺名字,或者你的产品网站名字,Business Name 一样,这个影响不大。
然后是产品网址(Product Website URL)、联系邮箱、对业务的介绍、你打算怎么销售你的产品。
这些信息你都如实填就好了,介绍你这是什么产品,用户购买的是什么东西(例如会员,积分之类的)大致填一下,问题不大。
设置收款账户,进行身份验证
填写完上面的表单后,点击 Setup Account 进入身份验证表单的页面,完成这里的流程后,收款账户和商店就会进入审核状态。

Personal Detail
在 Personal Detail 上传身份证正反面照片、进行人脸识别,即可,流程比较简单,进入后可以切换为中文。

选择居住在非美国的全部国家地区,然后上传身份证,使用手机进行人脸识别,最后选择不是公众人物,与公众人物无关,然后提交即可。
Payout Details
在这里设置你的收款账号,Creem 会往你的账号打款(每个月 2 次,需要自己提交打款申请)

流程也比较简单,点进去后,选择国家为中国,货币为 CNY,再选择支付宝的收款方式即可。
进入下一步后,按照支付宝闪速收款提供的收款账号,账户持有人名称进行填写保存即可。
两项内容都保存后,这个商店就进入了 Creem 验证的状态,耐心等待 1-2 天差不多就能出结果了(没出结果及时发邮件询问,可能是有问题)
API 集成
虽然正式的商户不能使用,但是这个时候是可以用 Test Mode 来集成 API 进行调试的。
对于基本的支付,只需要使用 Checkout 即可,完整的 API 可以查阅文档,提供了哪些接口: Creem Doc
Test Mode
测试模式和正式的商店是不互通的,进入 Test Mode 后你需要重新创建商品资料,具体流程和正式模式是一致的。
API Key
对接 API 需要获取到 API Key,通过访问:Developers => Your API Key 即可获得。

Creem API 集成
使用 Creem 的 API 比较简单,只需要在后台发起 fetch 请求即可,代码如下:
const response = await fetch(`https://test-api.creem.io/v1/checkouts`, {
method: "POST",
headers: {
"content-type": "application/json",
"x-api-key": "creem_test_2D9azfxjIHTFtEoIdHjyBL",
},
body: JSON.stringify({
product_id: "prod_1WVyvNVIz8jFFxz831YmSA",
success_url: "https://example.com",
}),
});
const checkout = await response.json();
上面的参数里, product_id 就是你的产品 ID,x-api-key 就是你的 API 密钥。

调用接口后,将返回一个 checkout 给你,只需要重定向当前网页到 checkout_url 即可进行支付的流程。

使用 Test Mode 创建的订单,你可以使用卡号:4242 4242 4242 4242 来进行支付,这一点可以查看[Test Mode(https://docs.creem.io/test-mode) 的文档说明。

SuccessURL 和支付状态验证
用户支付后,我们需要有一个方式,让 Creem 告诉我们用户已经成功支付了,最简单的方法就是使用 success_url 这个参数。
在创建 checkout 时,我们可以提供一个参数 success_url ,这个参数是一个网址,提供了这个参数,在支付成功后,Creem 就会自动重定向到这个网址,你可以在这个网址上做验证的流程。
验证支付状态的代码也比较简单:
const checkout = await fetch("https://test-api.creem.io/v1/checkouts?checkout_id=ch_4Dx2uM4VyqQbmFYW2SxmgD", {
headers: {
"content-type": "application/json",
"x-api-key": "creem_test_2D9azfxjIHTFtEoIdHjyBL",
},
})
在 Creem 跳转到 success_url 时,会提供 checkout 的 id,只需要调用上面例子里的,提供 checkout_id 参数,即可获取到对应 Checkout 的信息。
通过判断 Checkout 的 status 是否为 completed (即完成支付)来判断当前这个 session 是否完成了支付即可。
一些其他事项
Creem 结账周期
Creem 每个月打款 2 次,分别是 1 号和 15 号,你需要在打款日之前,提前到:Balance => Overview 进行 Withdraw 的申请操作。
支付宝收款失败
提现到支付宝比较麻烦,需要进行申报。申报需要提供一份合同,这个合同可以找 Creem 要,可以联系客服。
但是提供了合同还是很容易失败,失败的原因基本上就是:“申报的款项来源,与合同不符。”
如果失败了,就及时联系 Creem 的客服,让他们给你重新打款,然后重新去支付宝申报,如果一直不通过的话,推荐用 Wise 收款,从 Wise 直接提现到银行卡,秒到的。
多商店
如果你有多个网站需要收款,可以创建多个 Store
期间可能会遇到一个问题,在 Personal Detail 验证的时候,说当前资料已经被另一个账户使用了。这个情况直接给 Creem 发邮件咨询即可,只需要正常的提交其他资料进行审批。
API 接口
需要注意一点,正式环境的 API 与 Test Mode 的 API 接口地址不一样,如果你自行测试的时候,遇到了 403 报错,基本上就是请求地址错了。
完整的实现参考
截止到这里,Creem 的注册和简单的 API 集成基本上就完成了,对于完整项目来说还很瑕疵,也不够完整,完整的使用,可以看看这个项目的实现:
- AI Hairstyle 模版: https://github.com/neyric/ai-hairstyle
- 中文说明文档: https://github.com/fine54/ai-hairstyle/blob/master/README.zh-CN.md
这个项目里有完整的 Creem 使用例子,对接 Kie 的 GPT-4o 接口,一套基本的积分系统,Google 授权登录。很适合用来学习对接(直接改改参数就可以对接上使用)