logoPay4SaaS
支付

Stripe 配置

https://dashboard.stripe.com/,点这里,可以切换到测试环境,上线前,切换到生产环境,再重新配置下面的参数。

开始配置密钥,webhook,产品。

1. API 密钥

这个就是。

写入环境变量。

STRIPE_API_KEY=sk_test_xxx

2. webhook

找到 webhook 。

添加接收端。

事件怎么选择?

就选择这几个就可以,多勾选也是会被代理忽略掉。

分类事件用途
Checkoutcheckout.session.completed积分购买、买断购买、订阅首次结算
Customercustomer.subscription.created订阅创建(激活/试用)
Customercustomer.subscription.updated订阅状态变更(active/trialing/past_due/paused)
Customercustomer.subscription.deleted订阅取消/过期
Invoiceinvoice.paid订阅续费成功
Invoiceinvoice.payment_failed订阅续费失败

然后,选择 Webhook 端点。

接收端名称暂时起 "pay4saas webhook", 端点URL 就是,穿透地址的域名(比如,ngrok) + /api/webhooks/stripe,项目的线上的 Webhook 地址就是: https://yourdomain.com/api/webhooks/stripe。

然后,右侧这个签名密钥。

写入环境变量。

STRIPE_WEBHOOK_SECRET=whsec_xxx

3. 创建产品

回到首页,产品目录 - 创建产品。

分 2 种情况,订阅和非订阅创建的不一样。

1)如果是订阅产品。

比如,创建一个 Pro ,名称可以写 Pro Plan。适合同一个东西、不同计费周期的,比如月付/年付同一套功能,就可以做在一个产品里面。

选择周期,填写价格,选择货币,选择开单周期,这个周期和选择周期一致。

然后,保存后,就有了。继续编辑产品,可以添加一个年度的。

新增价格。

填写价格。

开单周期选择每年。

然后,点开产品。

复制价格 ID ,填入到环境变量。

BASICPROMAX 对应 config/payment.tsSUBSCRIPTION_PLANS 的固定 key(大写),只需配置你启用的计划:

STRIPE_SUB_BASIC_MONTHLY=price_xxx
STRIPE_SUB_BASIC_YEARLY=price_xxx
STRIPE_SUB_PRO_MONTHLY=price_xxx
STRIPE_SUB_PRO_YEARLY=price_xxx
STRIPE_SUB_MAX_MONTHLY=price_xxx
STRIPE_SUB_MAX_YEARLY=price_xxx

测试一下,选择 Year,Pro 的。

测试卡号:4242 4242 4242 4242,过期日期02/28,持卡人姓名随便填写,CVC 后三位 123 ,地区选择非美国,否则地址还需要填写。

支付以后,webhook 接收 OK。

后台 webhook 状态 OK。

订阅数据,OK。

页面效果,OK。

billing 页面。

允许升降级。

允许取消。

2)如果是非订阅产品,比如。

  • 积分包的。

  • lifetime 买断制的。

就要单独创建产品了,这个不存在年/月周期,每个产品是一个,创建的时候,和订阅的区别就是,选择一次性。价格正常填写,选择货币就可以了。

积分包环境变量,BASICPROMAX 对应 config/payment.tsPACKAGES 的固定 key(大写):

STRIPE_CREDITS_BASIC=price_xxx
STRIPE_CREDITS_PRO=price_xxx
STRIPE_CREDITS_MAX=price_xxx

买断制环境变量,STANDARDEXCLUSIVE 对应 config/payment.tsLIFETIME_PLANS 的固定 key(大写):

STRIPE_LIFETIME_STANDARD=price_xxx
STRIPE_LIFETIME_EXCLUSIVE=price_xxx

支付一个买断制,看看效果。

webhook接收到了,后端买断制的数据也有了。

可以了。

On this page