Описание тега laravel-cashier
Laravel Cashier предоставляет удобный и понятный интерфейс для сервисов биллинга подписки Stripe. Он обрабатывает почти весь шаблонный платежный код подписки, который вы боитесь писать. В дополнение к базовому управлению подпиской Cashier может обрабатывать купоны, заменять подписку, "количество" подписки, льготные периоды отмены и даже создавать PDF-файлы счетов.
Конфигурация
Композитор
Сначала добавьте пакет "Касса" в свой composer.json
файл и запустите команду обновления композитора:
"laravel/cashier": "~5.0" (For Stripe SDK ~2.0, and Stripe APIs on 2015-02-18 version and later)
"laravel/cashier": "~4.0" (For Stripe APIs on 2015-02-18 version and later)
"laravel/cashier": "~3.0" (For Stripe APIs up to and including 2015-02-16 version)
Поставщик услуг
Затем зарегистрируйте Laravel\Cashier\CashierServiceProvider
поставщика услуг в файле конфигурации вашего приложения.
Миграция
Перед использованием Cashier нам нужно добавить несколько столбцов в вашу базу данных. Не волнуйтесь, вы можете использоватьcashier:table
Команда Artisan для создания миграции для добавления нужного столбца. Например, чтобы добавить столбец в таблицу пользователей, выполните команду:php artisan cashier:table users
.
Настройка модели
Затем добавьте BillableTrait и соответствующие мутаторы даты в определение вашей модели:
use Laravel\Cashier\Billable;
use Laravel\Cashier\Contracts\Billable as BillableContract;
class User extends Eloquent implements BillableContract {
use Billable;
protected $dates = ['trial_ends_at', 'subscription_ends_at'];
}
Добавление столбцов к вашей модели $dates
свойство проинструктирует Eloquent вернуть столбцы как экземпляры Carbon / DateTime вместо необработанных строк.
Полоса Ключ
Наконец, установите ключ Stripe в свой services.php
Файл конфигурации:
'stripe' => [
'model' => 'User',
'secret' => env('STRIPE_API_SECRET'),
],