Maison  >  Article  >  cadre php  >  Développement Laravel : Comment gérer les paiements d'abonnement à l'aide de Laravel Cashier ?

Développement Laravel : Comment gérer les paiements d'abonnement à l'aide de Laravel Cashier ?

王林
王林original
2023-06-14 09:38:431318parcourir

À l'ère d'Internet, le modèle d'abonnement est devenu l'un des modèles économiques majeurs. De nombreuses entreprises peuvent obtenir une source de revenus plus stable grâce à un modèle d'abonnement. Laravel Cashier offre un moyen pratique de gérer les paiements d'abonnement.

Laravel Cashier est un composant Laravel créé par Taylor Otwell qui aide les développeurs à traiter les paiements d'abonnement basés sur Stripe. Stripe est un service de paiement en ligne populaire qui offre des capacités de traitement des paiements sécurisées, flexibles et puissantes. Dans cet article, nous expliquerons comment utiliser Laravel Cashier pour gérer les paiements d'abonnement dans un projet Laravel.

  1. Installer Laravel Cashier

Tout d'abord, nous devons installer Laravel Cashier à l'aide de composer. Exécutez la commande suivante dans le terminal pour terminer l'installation :

composer require laravel/cashier
  1. Configure Stripe API Key

Ensuite, nous devons configurer l'API Stripe clé dans la clé API Configure Stripe du projet Laravel. Après avoir créé un compte sur le site Stripe, vous pouvez trouver la clé API Stripe dans le menu « API ». Ouvrez le fichier config/services.php et ajoutez le code suivant :

'stripe' => [
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],

Ce fichier de configuration stocke la clé API Stripe dans le fichier .env. Assurez-vous que le fichier .env contient le contenu suivant : #🎜. 🎜#

STRIPE_KEY=your_stripe_key
STRIPE_SECRET=your_stripe_secret

    Create Subscription Plans
Après avoir créé les plans d'abonnement sur le site Stripe, nous devons ajouter ces plans à l'application Laravel afin qu'ils puissent être utilisé comme option de paiement. Ouvrez le fichier app/Providers/AppServiceProvider.php et ajoutez le code suivant :

use LaravelCashierCashier;

public function boot()
{
    Cashier::useSubscriptionModel(YourSubscriptionModel::class);
    Cashier::useCurrency('usd', '$');
    Cashier::usePlans([
        'monthly' => [
            'name' => 'Monthly Subscription',
            'description' => 'Monthly subscription',
            'price' => 10,
        ],
        'yearly' => [
            'name' => 'Yearly Subscription',
            'description' => 'Yearly subscription',
            'price' => 50,
        ],
    ]);
}

Ce bloc de code contient deux éléments clés : Le premier élément définit votre abonnement à l'aide du modèle d'abonnement, que vous devez créer comme Une partie de l'application ; le deuxième élément définit votre plan d'abonnement et est utilisé pour créer et afficher toutes les options d'abonnement disponibles.

    Abonnements et paiements
Nous pouvons désormais créer des abonnements pour les utilisateurs dans l'application Web. Laravel Cashier propose plusieurs méthodes pratiques qui nous permettent de gérer facilement les abonnements des utilisateurs :

// 为用户创建订阅
$user->newSubscription('main', 'monthly')->create($token);

// 获取用户当前订阅
$user->subscription('main');

// 取消用户订阅
$user->subscription('main')->cancel();

// 恢复用户订阅
$user->subscription('main')->resume();

// 对用户订阅进行切换
$user->subscription('main')->swap('yearly');

Dans l'exemple de code ci-dessus, nous créons d'abord un nouvel abonnement pour l'utilisateur en utilisant la méthode newSubscription() , le premier paramètre de cette méthode spécifie le nom de l'abonnement et le deuxième paramètre spécifie le nom du plan. Nous utilisons ensuite la méthode create() pour gérer le paiement, en passant un jeton Stripe en paramètre. Nous pouvons également utiliser la méthode souscription() pour effectuer d'autres opérations telles que l'obtention, l'annulation, la restauration et le changement d'abonnement utilisateur.

    Afficher les informations d'abonnement
Enfin, nous pouvons afficher les informations d'abonnement actuelles de l'utilisateur sur sa page de profil. Voici un exemple de code simple :

@if ($user->subscribed('main'))
    <p><b>Plan:</b> {{ $user->subscription('main')->stripe_plan }}</p>
    <p><b>Renewal Date:</b> {{ $user->subscription('main')->ends_at->toFormattedDateString() }}</p>
@endif

Ce bloc de code contient une simple instruction conditionnelle qui vérifie si l'utilisateur est abonné à l'application. Si l'utilisateur est déjà abonné, nous pouvons afficher le nom du forfait et la date de renouvellement de l'utilisateur.

Summary

Dans cet article, nous avons expliqué comment utiliser Laravel Cashier pour gérer les paiements d'abonnement. Tout d'abord, nous avons installé Laravel Cashier et configuré la clé API Stripe. Nous avons ensuite créé plusieurs plans d'abonnement et remplacé ceux intégrés à Laravel Cashier par ceux-ci. Ensuite, nous utilisons certaines méthodes permettant aux utilisateurs de créer, d'annuler et de reprendre des abonnements. Enfin, nous affichons les informations d'abonnement actuelles de l'utilisateur sur sa page de profil. J'espère que cet article vous sera utile. Si vous avez des questions ou des suggestions, veuillez les laisser dans la zone de commentaires ci-dessous.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn