Sök…
Anmärkningar
Laravel Cashier kan användas för abonnemangsfakturering genom att tillhandahålla ett gränssnitt till abonnemangstjänsterna för både Braintree och Stripe. Förutom grundläggande prenumerationshantering kan den användas för att hantera kuponger, utbyta prenumerationer, kvantiteter, avbeställningsperioder och PDF-fakturaproduktion.
Stripe Setup
Första installationen
För att använda Stripe för att hantera betalningar måste vi lägga till följande i composer.json
sedan köra composer update
:
"laravel/cashier": "~6.0"
Följande rad måste sedan läggas till till config/app.php
, tjänsteleverantören:
Laravel\Cashier\CashierServiceProvider
Inställning av databse
För att använda kassör måste vi konfigurera databaserna, om en användartabell inte redan finns måste vi skapa en och vi måste också skapa en prenumerationstabell. Följande exempel ändrar en befintlig users
. Se vältalande modeller för mer information om modeller.
För att använda kassör ska du skapa en ny migrering och lägga till följande för att uppnå ovanstående:
// 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();
});
Vi måste sedan köra php artisan migrate
att uppdatera vår databas.
Model Setup
Vi måste sedan lägga till den fakturerbara egenskapen till användarmodellen som finns i app/User.php
och ändra den till följande:
use Laravel\Cashier\Billable;
class User extends Authenticatable
{
use Billable;
}
Randnycklar
För att säkerställa att vi slutar pengarna till vårt eget Stripe-konto måste vi ställa in dem i filen config/services.php
genom att lägga till följande rad:
'stripe' => [
'model' => App\User::class,
'secret' => env('STRIPE_SECRET'),
],
STRIPE_SECRET
med din egen randhemliga nyckel.
När du har slutfört denna Cashier är Strip inställd så att du kan fortsätta med att ställa in prenumerationer.