Recherche…
Remarques
Laravel Cashier peut être utilisé pour la facturation par abonnement en fournissant une interface aux services d’abonnement de Braintree et de Stripe. En plus de la gestion de base des abonnements, il peut être utilisé pour gérer des coupons, échanger des abonnements, des quantités, des délais de grâce et la génération de factures PDF.
Configuration de la bande
La configuration initiale
Pour utiliser Stripe pour gérer les paiements, nous devons ajouter ce qui suit au composer.json
puis lancer la composer update
:
"laravel/cashier": "~6.0"
La ligne suivante doit ensuite être ajoutée à config/app.php
, le fournisseur de services:
Laravel\Cashier\CashierServiceProvider
Configuration de la base de données
Pour utiliser la caisse, nous devons configurer les bases de données, si une table d'utilisateurs n'existe pas, nous devons en créer une et créer une table d'abonnements. L'exemple suivant modifie une table d' users
existante. Voir Modèles éloquents pour plus d'informations sur les modèles.
Pour utiliser le caissier, créez une nouvelle migration et ajoutez ce qui suit:
// 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();
});
Nous devons ensuite exécuter php artisan migrate
pour mettre à jour notre base de données.
Configuration du modèle
Nous devons ensuite ajouter le trait facturable au modèle d'utilisateur trouvé dans app/User.php
et le modifier comme suit:
use Laravel\Cashier\Billable;
class User extends Authenticatable
{
use Billable;
}
Clés à rayures
Afin de garantir que nous finissons l'argent sur notre propre compte Stripe, nous devons le config/services.php
dans le fichier config/services.php
en ajoutant la ligne suivante:
'stripe' => [
'model' => App\User::class,
'secret' => env('STRIPE_SECRET'),
],
Remplacer le STRIPE_SECRET
par votre propre clé secrète.
Une fois cette opération effectuée, vous pourrez continuer à configurer les abonnements.