Szukaj…
Uwagi
Laravel Cashier może być wykorzystywany do fakturowania subskrypcji, zapewniając interfejs do usług subskrypcji zarówno Braintree, jak i Stripe. Oprócz podstawowego zarządzania subskrypcjami może służyć do obsługi kuponów, wymiany subskrypcji, ilości, okresów karencji anulowania i generowania faktur PDF.
Konfiguracja pasków
Początkowe ustawienia
Aby użyć Stripe do obsługi płatności, musimy dodać do composer.json
a następnie uruchomić composer update
:
"laravel/cashier": "~6.0"
Następnie należy dodać następujący wiersz do config/app.php
, usługodawcy:
Laravel\Cashier\CashierServiceProvider
Konfiguracja bazy danych
Aby korzystać z kasjera, musimy skonfigurować bazy danych, jeśli tabela użytkowników jeszcze nie istnieje, musimy ją utworzyć, a także musimy utworzyć tabelę subskrypcji. Poniższy przykład zmienia istniejącą tabelę users
. Zobacz Elokwentne modele, aby uzyskać więcej informacji o modelach.
Aby użyć kasjera, utwórz nową migrację i dodaj następujące elementy, które osiągną powyższe:
// Adjust users table
Schema::table('users', function ($table) {
$table->string('stripe_id')->nullable();
$table->string('card_brand')->nullable();
$table->string('card_last_four')->nullable();
$table->timestamp('trial_ends_at')->nullable();
});
//Create subscriptions table
Schema::create('subscriptions', function ($table) {
$table->increments('id');
$table->integer('user_id');
$table->string('name');
$table->string('stripe_id');
$table->string('stripe_plan');
$table->integer('quantity');
$table->timestamp('trial_ends_at')->nullable();
$table->timestamp('ends_at')->nullable();
$table->timestamps();
});
Następnie musimy uruchomić php artisan migrate
aby zaktualizować naszą bazę danych.
Konfiguracja modelu
Następnie musimy dodać płatną cechę do modelu użytkownika znalezionego w app/User.php
i zmienić ją na:
use Laravel\Cashier\Billable;
class User extends Authenticatable
{
use Billable;
}
Klucze w paski
Aby mieć pewność, że pieniądze zostaną przelane na nasze własne konto Stripe, musimy je skonfigurować w pliku config/services.php
, dodając następujący wiersz:
'stripe' => [
'model' => App\User::class,
'secret' => env('STRIPE_SECRET'),
],
Zastąpienie STRIPE_SECRET
własnym tajnym kluczem paskowym.
Po zakończeniu tej czynności Kasjer i Strip zostaną skonfigurowane, aby można było kontynuować konfigurowanie subskrypcji.