Zoeken…
Opmerkingen
Laravel Cashier kan worden gebruikt voor abonnementsfacturering door een interface te bieden voor de abonnementsdiensten van zowel Braintree als Stripe. Naast basisabonnementbeheer kan het worden gebruikt voor het verwerken van coupons, het uitwisselen van abonnementen, hoeveelheden, opzegtermijnen en het genereren van PDF-facturen.
Streep instellen
Initiële setup
Om Stripe te gebruiken voor het afhandelen van betalingen moeten we het volgende toevoegen aan de composer.json
vervolgens de composer update
van de composer.json
uitvoeren:
"laravel/cashier": "~6.0"
De volgende regel moet dan worden toegevoegd aan config/app.php
, de serviceprovider:
Laravel\Cashier\CashierServiceProvider
Databse-instelling
Om kassier te gebruiken, moeten we de databases configureren, als er nog geen gebruikerstabel bestaat, moeten we er een maken en moeten we ook een abonnemententabel maken. In het volgende voorbeeld wordt een bestaande users
gewijzigd. Zie Welsprekende modellen voor meer informatie over modellen.
Maak een nieuwe migratie om kassier te gebruiken en voeg het volgende toe waarmee het bovenstaande wordt bereikt:
// 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();
});
We moeten dan php artisan migrate
om onze database bij te werken.
Model instellen
Vervolgens moeten we de factureerbare eigenschap toevoegen aan het gebruikersmodel in app/User.php
en het volgende wijzigen:
use Laravel\Cashier\Billable;
class User extends Authenticatable
{
use Billable;
}
Streeptoetsen
Om ervoor te zorgen dat we het geld op onze eigen Stripe-account beëindigen, moeten we dit instellen in het bestand config/services.php
door de volgende regel toe te voegen:
'stripe' => [
'model' => App\User::class,
'secret' => env('STRIPE_SECRET'),
],
De STRIPE_SECRET
vervangen door uw eigen geheime sleutel.
Na het voltooien van deze kassier en strip is ingesteld, zodat u kunt doorgaan met het instellen van abonnementen.