Laravel Cashier упрощает биллинг подписок и платежей в Stripe: клиенты, подписки, пробный период, инвойсы и webhook. Данные карты вводятся на странице Stripe Checkout и не попадают на ваш сервер.

Установка и тестовый режим

Включите Test mode в Stripe Dashboard, возьмите тестовые API-ключи, создайте продукт и цену (price_...). Тестовые ключи не списывают реальные деньги.

bash
composer require laravel/cashier
php artisan vendor:publish --tag="cashier-migrations"
php artisan migrate

# .env
STRIPE_KEY=pk_test_xxx
STRIPE_SECRET=sk_test_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
CASHIER_CURRENCY=usd
php
<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Laravel\Cashier\Billable;

class User extends Authenticatable
{
    use Billable;
}
Тестовая картаРезультат
4242 4242 4242 4242Успешный платёж
4000 0025 0000 3155Требует подтверждения 3D Secure
4000 0000 0000 9995Недостаточно средств (отказ)

💡 Для тестовых карт подходит любая будущая дата и любой CVC.

Оплата через Checkout

checkout() создаёт сессию в Stripe и перенаправляет пользователя на страницу оплаты. При успехе открывается success_url, при отмене — cancel_url.