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

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

王林
王林original
2023-06-14 09:47:44674parcourir

Laravel Development : Comment gérer les paiements d'abonnement à l'aide de Laravel Cashier et Braintree ?

Dans l'économie des abonnements actuelle, de nombreuses entreprises et startups proposent une variété de services d'abonnement, allant de la musique, des films, des jeux au stockage et aux applications cloud, et bien plus encore. Si vous êtes un développeur, vous devez créer un système capable de gérer les paiements d'abonnement. Dans cet article, nous expliquerons comment y parvenir en utilisant Laravel Cashier et Braintree.

Laravel Cashier est une extension Laravel qui fournit une interface simple mais puissante pour gérer les abonnements et les paiements. Braintree est une plateforme mondiale de traitement des paiements en ligne qui facilite l'acceptation de divers modes de paiement.

Nous utiliserons Laravel 8 et Braintree pour une implémentation spécifique. Vous devez installer les extensions Laravel Cashier et Braintree dans votre projet. Voici les étapes spécifiques de mise en œuvre :

  1. Définir les variables d'environnement

Tout d'abord, vous devez définir des variables d'environnement dans le projet pour stocker le Braintree Clé API et autres paramètres. Vous pouvez définir des variables d'environnement dans des fichiers .env. Voici un exemple d'utilisation de la clé de test de l'API Braintree :

BRAINTREE_ENV=sandbox
BRAINTREE_MERCHANT_ID=your_merchant_id
BRAINTREE_PUBLIC_KEY=your_public_key
BRAINTREE_PRIVATE_KEY=your_private_key
  1. Create Braintree Payment Portal

Ensuite, vous devez créer un paiement Braintree portail dans le panneau de configuration Braintree Créez un portail de paiement. Chaque portail possède un identifiant unique et des informations d'identification qui seront utilisées pour traiter les paiements. Après avoir créé un portail dans le panneau de configuration, copiez et enregistrez vos informations d'identification.

  1. Configuration de Braintree

Ensuite, vous devez ajouter une configuration Braintree dans le fichier config/services.php. Voici un exemple de configuration :

'braintree' => [
    'environment' => env('BRAINTREE_ENV'),
    'merchant_id' => env('BRAINTREE_MERCHANT_ID'),
    'public_key' => env('BRAINTREE_PUBLIC_KEY'),
    'private_key' => env('BRAINTREE_PRIVATE_KEY'),
],
  1. Créer un plan d'abonnement

Vous pouvez maintenant créer un plan d'abonnement en utilisant Laravel Cashier et Braintree. Un plan d'abonnement est un service auquel des frais récurrents sont facturés, par exemple mensuellement ou annuellement. Voici un exemple de comment créer un plan d'abonnement :

use LaravelCashierSubscription;

$subscription = Subscription::create([
    'name' => 'Monthly Subscription Plan',
    'stripe_id' => 'monthly-subscription-plan',
    'stripe_plan' => 'monthly',
    'quantity' => 1,
    'trial_period_days' => 14,
]);

$user->subscriptions()->save($subscription);

Dans cet exemple, nous créons un plan d'abonnement appelé "Plan d'abonnement mensuel" et son stripe_id est "monthly-subscription-plan", stripe_plan est "mensuel". Le paramètre 'quantité' précise la quantité de l'abonnement, et le paramètre 'trial_period_days' précise le nombre de jours de la période d'essai. Après avoir enregistré les informations d'abonnement, l'utilisateur pourra souscrire au forfait.

  1. Traitement des paiements

Enfin, vous devez traiter les paiements de votre abonnement. Heureusement, Laravel Cashier gère déjà les détails du paiement pour nous. Avec Laravel Cashier, vous pouvez facilement traiter les paiements sans vous soucier de la complexité des passerelles de paiement. Voici un exemple de gestion d'un paiement :

use LaravelCashierCashier;

$user = User::find(1);

$paymentMethod = $user->defaultPaymentMethod();

$payment = $user->charge(10, $paymentMethod);

if ($user->subscribed('monthly-subscription-plan')) {
    // 更新用户的订阅和付款信息
    $user->subscription('monthly-subscription-plan')->update([
        'stripe_id' => $payment->id,
        'ends_at' => null,
    ]);
}

Dans cet exemple, nous utilisons la méthode $user->defaultPaymentMethod() pour obtenir le mode de paiement par défaut de l'utilisateur et lui facturer 10 $. Si le plan d'abonnement est « plan d'abonnement mensuel », nous mettrons à jour les informations d'abonnement et de paiement de l'utilisateur.

CONCLUSION

Le traitement des paiements d'abonnement est devenu plus facile avec Laravel Cashier et Braintree. Vous pouvez facilement créer et gérer des plans d'abonnement et traiter les paiements. Bien sûr, ce n’est qu’un exemple simple et vous pouvez ajouter plus de fonctionnalités à vos propres projets. J'espère que cet article vous aidera !

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