Laravel Cashier — это официальный пакет Laravel, который предоставляет удобный интерфейс для работы с платежами и подписками через Stripe и Paddle. Он позволяет легко реализовывать подписки, одноразовые платежи, обработку счетов и многое другое. В этом руководстве мы рассмотрим, как использовать Laravel Cashier для реализации подписок и платежей в Laravel-приложениях.
Шаг 1: Установка Laravel Cashier
Для начала, убедитесь, что у вас установлен Laravel 5.5 или выше, так как Laravel Cashier требует Laravel 5.5 или новее.
Установите Laravel Cashier с помощью Composer:
composer require laravel/cashier
Шаг 2: Настройка базы данных
Laravel Cashier требует, чтобы у вас была таблица users
с полями stripe_id
и card_brand
. Если вы используете стандартную миграцию пользователей Laravel, эти поля уже будут доступны. В противном случае, убедитесь, что ваша таблица users
содержит эти поля.
Шаг 3: Настройка Stripe или Paddle
Выберите Stripe или Paddle в качестве вашего провайдера платежей и настройте его в файле .env
:
CASHIER_DRIVER=stripe
STRIPE_KEY=your_stripe_key
STRIPE_SECRET=your_stripe_secret
или для Paddle:
CASHIER_DRIVER=paddle
PADDLE_VENDOR_ID=your_paddle_vendor_id
PADDLE_VENDOR_AUTH_CODE=your_paddle_vendor_auth_code
Шаг 4: Подготовка модели User
Добавьте трейт Billable
к вашей модели User
:
use Laravel\Cashier\Billable;
class User extends Authenticatable
{
use Billable;
}
Шаг 5: Создание подписок
Чтобы создать подписку для пользователя, вы можете использовать метод newSubscription
:
$user = User::find(1);
$user->newSubscription('default', 'premium')->create($creditCardToken);
Шаг 6: Обработка вебхуков
Laravel Cashier автоматически обрабатывает вебхуки Stripe и Paddle, но вам нужно будет настроить маршруты для вебхуков в вашем routes/web.php
:
Route::post(
'stripe/webhook',
'\Laravel\Cashier\Http\Controllers\WebhookController@handleWebhook'
);
или для Paddle:
Route::post(
'paddle/webhook',
'\Laravel\Cashier\Http\Controllers\WebhookController@handleWebhook'
);
Шаг 7: Тестирование
После настройки и реализации подписок и платежей, убедитесь, что вы тщательно протестируете весь процесс, чтобы убедиться, что все работает корректно.
Заключение
Laravel Cashier предлагает мощный и удобный способ реализации подписок и платежей в Laravel-приложениях. Это позволяет легко интегрировать платежи и подписки через Stripe и Paddle, упрощая процесс управления подписками и платежами.
0 комментариев