尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Larasonic Stripe订阅计费完整教程:从零设计双定价计划并接入Billing Portal

Larasonic Stripe订阅计费完整教程:从零设计双定价计划并接入Billing Portal Larasonic Stripe订阅计费完整教程从零设计双定价计划并接入Billing Portal【免费下载链接】larasonic-vueThe Ultimate Laravel Starter Kit for Modern SaaS (VILT) with Shadcn Components (Vue, Inertia Shadcn)项目地址: https://gitcode.com/gh_mirrors/la/larasonic-vue本文带你使用开源 Laravel SaaS 起步套件LarasonicVue Inertia TypeScript 的 VILT 技术栈完成一套完整的Stripe 订阅计费从零设计 Basic 与 Pro 双定价计划并一键接入 Stripe Billing Portal让用户自助管理订阅与支付方式。 为什么选择 Larasonic 做 Stripe 订阅项目Larasonic 将 SaaS 商业化最繁琐的部分全部预先做完了能力说明 支付就绪内置 Laravel Cashier开箱即用 Stripe 订阅与计费 高级认证Fortify JetstreamOAuth、魔法链接、两步验证 现代前端Vue 3 Inertia Shadcn 风格组件无需写 API 管理后台集成 FilamentPHP 与 Telescope 监控 生产就绪附 Dockerfile一键容器化部署⚡ 快速上手5 分钟配置 Stripe 订阅环境1. 获取项目源码git clone https://gitcode.com/gh_mirrors/la/larasonic-vue cd larasonic-vue composer install npm install php artisan migrate2. 配置 Stripe 环境变量在.env文件中填入 Stripe 后台 Developers → API Keys获取的密钥STRIPE_KEYpk_live_xxx # 发布密钥前端 Stripe.js 使用 STRIPE_SECRETsk_live_xxx # 秘密密钥后端 API 使用 STRIPE_WEBHOOK_SECRETwhsec_xxx # Webhook 签名密钥防伪造请求 小贴士Cashier 配置项billing_enabled会同时检查前两个密钥是否都已填写见 config/cashier.php。密钥未配置时所有订阅页面会自动重定向到仪表盘本地开发无需担心报错。 从零设计双定价计划Basic 与 ProLarasonic 把定价计划从代码中抽离集中存放在 config/subscriptions.php改价格、改卖点只动这一个文件计划价格面向用户核心内容Larasonic Basic $5/月探索 Demo 的个人开发者6 项基础功能Larasonic Pro ✨$15/月需要 AI 能力的进阶用户包含全部基础功能 AI 特性每个计划包含 4 个字段plan计划显示名称如 Larasonic Basic description一句话卖点直接展示在定价卡片上price_id在 Stripe 后台创建 Price 后获得的 IDprice_xxx是计费的真正锚点features功能清单渲染为卡片上的打勾列表如何设计你的计划先在 Stripe 后台创建两个 Price月付/年付拿到price_id后回填到配置文件即可无需改动任何控制器逻辑。 核心流程从点击订阅到 Billing Portal整个订阅计费链路只有 3 个入口路由定义在 routes/web.php仅登录用户可访问用户点击Subscribe │ ▼ ① /subscriptions/{price_id} 创建 Stripe Checkout 会话并跳转支付 │ 支付成功 ▼ ② /subscriptions 订阅管理页展示当前计划 发票 │ ▼ ③ /subscriptions (index) 重定向至 Stripe Billing Portal 用户自助换卡、升降级、取消订阅关键点 1Checkout 会话。SubscriptionController.php 的show()方法会先校验传入的price_id必须在配置白名单内防止伪造价格再调用 Cashier 的newSubscription()-checkout()并指定支付成功/取消后的回跳地址。关键点 2Billing Portal 免开发。index()方法一行redirectToBillingPortal()就把用户交给 Stripe 官方托管的计费门户——更换银行卡、升级/降级计划、取消续费全部由 Stripe 页面完成你一行前端代码都不用写这是 SaaS 项目接入计费的最快路径。关键点 3用户模型即客户。User.php 通过引入 Cashier 的Billabletrait 变身 Stripe 客户模型updated事件还会自动同步用户资料到 StripeUser.php保证发票收件信息永远最新。️ 数据库设计订阅数据存在哪Cashier 迁移文件已随套件内置php artisan migrate后自动生效迁移文件作用create_customer_columns.phpusers 表增加stripe_id、pm_type、pm_last_four、trial_ends_at0001_01_01_000011_create_subscriptions_table.php存储用户订阅记录与周期信息0001_01_01_000012_create_subscription_items_table.php存储订阅下的具体价格项pm_last_four卡号后四位用于在界面上展示当前绑定的支付方式而完整卡号由 Stripe 托管天然符合 PCI 合规要求。 前端呈现定价卡片与发票管理订阅管理页由 Subscriptions/Index.vue 渲染体验细节值得借鉴无订阅状态展示警示提示 双计划定价卡片PricingCard.vue每张卡片含名称、价格、功能清单与 Subscribe 按钮已有订阅状态显示当前计划名并提供Manage Subscription按钮直达 Billing Portal发票列表使用 Inertia 的Deferred属性延迟加载历史发票首屏渲染更快页脚标注 Subscriptions are managed by Stripe securely增强用户信任感❓ 新手常见问题Q1忘记配置 Stripe 密钥会怎样不会报错。billing_enabled为 false 时所有订阅相关请求会静默重定向回仪表盘非常适合本地开发。Q2想增加第三个Enterprise计划怎么办只需在 config/subscriptions.php 数组里追加一项配置含新的price_id前端卡片与后端校验零改动自动生效。Q3用户支付失败/退款如何感知Stripe 会向STRIPE_WEBHOOK_SECRET对应的 Webhook 端点推送事件签名容差 300 秒Cashier 默认事件列表已覆盖订阅生命周期可据此触发邮件通知等业务逻辑。Q4如何限制未付费用户不能使用功能借助 Cashier 提供的hasAnyActiveSubscription()等方法在中间件或控制器中校验即可User 模型已混入Billable无需额外配置。总结通过本文你已经掌握了 Larasonic 的完整 Stripe 订阅计费方案一个配置文件设计双定价计划 → Checkout 完成支付 → Billing Portal 让用户自助管理。这套配置化 托管化的架构让订阅功能几乎零维护成本配合 Larasonic 自带的认证、团队、Filament 后台是快速上线现代 SaaS 产品的高性价比选择。【免费下载链接】larasonic-vueThe Ultimate Laravel Starter Kit for Modern SaaS (VILT) with Shadcn Components (Vue, Inertia Shadcn)项目地址: https://gitcode.com/gh_mirrors/la/larasonic-vue创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表