SuperAPI AI 工具集

laravel-billing

编程与开发

查看项目

更新于 10-26 16:21

技能介绍

Laravel Billing(Cashier)技能用于在 Laravel 应用中实现订阅计费,适用于需要接入 Stripe 或 Paddle、处理订阅、发票、支付方式、Webhook 和计费门户的场景。资料给出强制的代理工作流:在任何实现前并行发起三个代理调用,分别检查现有计费设置和 User 模型、通过 Context7 核实最新 Cashier 文档、查询 Stripe/Paddle 具体模式;实现完成后运行 sniper 代理进行校验。

用途上,它帮助在 Stripe(laravel/cashier)和 Paddle(laravel/cashier-paddle)之间选型:Stripe 适合需要完全控制、高交易量和复杂计费;Paddle 作为记录商户(MoR)自动处理税务与合规,适合全球销售。资料列出两者在类型、税务、发票、合规和费用上的差异。

主要能力包括:订阅创建、取消、立即取消、恢复与计划切换;宽限期处理;计费门户跳转;发票下载;Webhook 事件处理;计量计费、团队/按席位计费、催款(dunning)和基于计划的特性开关等高级 SaaS 功能。资料同时提供完整代码模板,如带 Billable trait 的 User 模型、订阅控制器、Webhook 控制器、Checkout 控制器、发票控制器、路由定义、Pest 测试、计量计费控制器、团队计费、催款服务和 Laravel Pennant 特性开关。

使用方式上,资料要求将计费代码放入 Billing 模块(FuseCore 项目),Billable trait 加在 User 模型,Webhook 路由放于模块路由并从 CSRF 保护中排除,在 module.json 声明 User 依赖;同时给出目录架构示例与常用代码片段,如检查订阅状态、创建订阅(可带试用)、切换计划、取消、恢复及跳转计费门户。关键规则包括:依赖 Webhook 而非客户端确认、实施宽限期、不存储卡号、使用测试密钥、验证 Webhook 签名、处理 3D Secure 等未完成支付。

限制方面:资料未提供该技能的具体收费、价格或运行平台信息,暂未提供;其内容为 Cashier 集成指导与模板,实际使用需依赖 Laravel Cashier 及对应支付服务商的账号与密钥。Laravel 13 兼容注意包括:Cashier Stripe 16.x 与 Cashier Paddle 2.x 兼容;Webhook 路由需通过 preventRequestForgery(except: [...]) 排除 CSRF;如缓存 Cashier 对象需显式列出 cache.serializable_classes;Laravel 13 要求 PHP 8.3 以上。