Maison cadre php Laravel 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 ?

Jun 14, 2023 am 09:47 AM
laravel cashier braintree

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
Copier après la connexion
  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'),
],
Copier après la connexion
  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);
Copier après la connexion

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,
    ]);
}
Copier après la connexion

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Apr 01, 2025 pm 02:45 PM

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? Mar 31, 2025 pm 11:24 PM

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Mar 31, 2025 pm 11:48 PM

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Apr 01, 2025 am 07:09 AM

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Serveur de vidage Laravel - Serveur de vidage Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Apr 01, 2025 am 07:45 AM

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Apr 01, 2025 am 09:09 AM

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravel – URL de l'action Laravel – URL de l'action Aug 27, 2024 am 10:51 AM

Laravel - URL d'action - Laravel 5.7 introduit une nouvelle fonctionnalité appelée « URL d'action appelable ». Cette fonctionnalité est similaire à celle de Laravel 5.6 qui accepte la méthode string in action. L'objectif principal de la nouvelle syntaxe introduite par Laravel 5.7 est de diriger

See all articles