steadfastcollective / cashier-extended
Requires
- php: ^7.2|^8.0
- laravel/cashier: ^12.0
- laravel/framework: ^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.0|^9.0
README
简介
Laravel Cashier 提供了一个流畅的接口来访问 Stripe 的订阅计费服务。它处理了几乎所有您不希望编写的样板订阅计费代码。除了基本的订阅管理外,Cashier 还可以处理优惠券、订阅交换、订阅“数量”、取消宽限期,甚至生成发票 PDF。
Cashier Extended 通过添加已制作费用的存储、查询这些费用以及用于保持更新的 Webhook,增强了 Laravel Cashier 的核心。
官方文档
有关 Laravel Cashier 的文档可以在 Laravel 网站 上找到,当使用 Laravel Cashier Extended 时,需要进行一些更改,以下将详细介绍。
安装
要开始,请使用 composer 安装包
composer require steadfastcollective/cashier-extended
该包将自动注册服务提供者和外观。
然后使用以下命令发布迁移
php artisan vendor:publish --provider="SteadfastCollective\CashierExtended\CashierExtendedServiceProvider" --tag="migrations"
然后运行它们
php artisan migrate
如前所述,我们对 Cashier 包的使用方式做了一些更改,以下将详细介绍。
Billable 特性已更新,应使用新命名空间
<?php // use Laravel\Cashier\Billable; use SteadfastCollective\CashierExtended\Billable;
以下 Webhook 已注册以保持数据更新
- charge.expired
- charge.failed
- charge.refund.updated
- charge.refunded
- charge.succeeded
- charge.updated
- payment_intent.succeeded
- payment_intent.created
- payment_intent.payment_failed
要使用新的 Webhook,您需要更新您的 routes\Web.php
路由文件
<?php // Route::post( // 'stripe/webhook', // '\App\Http\Controllers\WebhookController@handleWebhook' // ); Route::post( 'stripe/webhook', '\SteadfastCollective\CashierExtended\Http\Controllers\WebhookController@handleWebhook' );
如果您扩展了或想扩展 WebhookController 并添加额外的 Webhook,可以创建以下文件 app\Http\Controllers\WebhookController.php
<?php namespace App\Http\Controllers; use SteadfastCollective\CashierExtended\Http\Controllers\WebhookController as CashierController; class WebhookController extends CashierController { /** * Handle invoice payment succeeded. * * @param array $payload * @return \Symfony\Component\HttpFoundation\Response */ public function handleInvoicePaymentSucceeded($payload) { // Handle The Event } }
然后务必更新您的 routes\Web.php
文件
<?php Route::post( 'stripe/webhook', '\App\Http\Controllers\WebhookController@handleWebhook' );
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何与安全性相关的问题,请通过电子邮件 dev@steadfastcollective.com 联系,而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。