Laravel Cashier Braintree 使用指南
cashier-braintree项目地址:https://gitcode.com/gh_mirrors/ca/cashier-braintree
项目介绍
Laravel Cashier Braintree 是一个专为 Laravel 框架设计的扩展包,它提供了一个直观且流畅的接口来处理 Braintree 的订阅计费服务。此工具极大地简化了开发过程中的订阅管理任务,包括基本的订阅操作、优惠券的应用、订阅更换、取消订阅的宽限期以及发票PDF的生成。尽管原维护已停止,推荐直接使用 braintree/braintree_php
库,但本教程基于其历史版本,帮助那些依然需要使用此集成的开发者。
项目快速启动
安装
首先,确保你的 Laravel 项目满足 PHP >=7.2 及以上的版本要求,并通过 Composer 添加 Cashier Braintree 到你的依赖中:
composer require "laravel/cashier-braintree:^11"
安装完成后,注册服务提供者并在 .env
文件中配置 Braintree 的凭据:
BRAINTREE_MERCHANT_ID=your_merchant_id
BRAINTREE_PUBLIC_KEY=your_public_key
BRAINTREE_PRIVATE_KEY=your_private_key
接下来,在 config/app.php
中的服务容器内添加 Cashier 提供者:
'providers' => [
// ...
Laravel\Cashier\CashierServiceProvider::class,
],
并发布配置文件以自定义设置(可选):
php artisan vendor:publish --provider="Laravel\Cashier\CashierServiceProvider" --tag=config
基础使用
创建一个模型来表示用户,并应用 Cashier 的 traits:
use Laravel\Cashier\Billable;
class User extends Authenticatable
{
use Billable;
}
订阅用户到一个计划:
$user = App\Models\User::find(1);
$user->newSubscription('main', 'monthly-10')->create();
应用案例和最佳实践
在用户认证后,你可以使用 Cashier 来轻松管理用户的订阅状态。例如,检查用户是否处于活动订阅中:
if ($user->subscribed('main')) {
// 用户已订阅
}
处理订阅更新或取消时,利用 Laravel 的事件系统可以实施特定逻辑:
// 监听订阅创建事件
Event::listen(Laravel\Cashier\Events\SubscriptionCreated::class, function ($event) {
// 执行订阅成功后的逻辑
});
// 订阅被取消时执行的动作
$user->subscription('main')->cancel();
典型生态项目
虽然这个教程主要聚焦于 laravel/cashier-braintree
,但在实际开发环境中,将其与其他 Laravel 生态系统中的工具结合使用,如支付网关集成、账单自动化发送、以及利用队列处理长时间运行的订阅更新任务,都是常见的最佳实践。例如,配合 Laravel Nova 或 Laravel Spark 进行后台管理和高级用户权限控制,可以进一步提升你的应用能力。
请注意,由于维护状态的变化,对于新项目,直接采用 Braintree 官方库或者寻找活跃维护的替代方案可能是更安全的选择。
本文档基于已有的信息进行了总结,具体实现细节可能会随着软件版本的更新而变化,请参考最新的官方文档进行调整。
cashier-braintree项目地址:https://gitcode.com/gh_mirrors/ca/cashier-braintree