Описание тега laravel-cashier

Laravel Cashier предоставляет удобный и понятный интерфейс для сервисов биллинга подписок Stripe и Braintree.

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'),
],

Ссылка