Laravel Cashier упрощает биллинг подписок и платежей в Stripe: клиенты, подписки, пробный период, инвойсы и webhook. Данные карты вводятся на странице Stripe Checkout и не попадают на ваш сервер.
Установка и тестовый режим
Включите Test mode в Stripe Dashboard, возьмите тестовые API-ключи, создайте продукт и цену (price_...). Тестовые ключи не списывают реальные деньги.
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
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.