Maison  >  Article  >  cadre php  >  Développement Laravel : Comment mettre en œuvre les paiements d'abonnement à l'aide de Laravel Cashier ?

Développement Laravel : Comment mettre en œuvre les paiements d'abonnement à l'aide de Laravel Cashier ?

王林
王林original
2023-06-13 13:35:06825parcourir

Laravel est un framework PHP très populaire et largement utilisé dans le domaine du développement web. Laravel Cashier est un package d'extension qui fournit des fonctions de paiement par abonnement, permettant aux développeurs de gérer facilement la logique liée aux abonnements et aux paiements, ce qui peut considérablement améliorer l'efficacité du développement.

Cet article explique comment utiliser Laravel Cashier pour implémenter la fonction de paiement d'abonnement.

  1. Installer Laravel Cashier

Tout d'abord, vous devez installer Laravel Cashier. Pour installer via Composer, il vous suffit de saisir la commande suivante dans le terminal :

composer require laravel/cashier

Une fois l'installation terminée, vous devez publier le fichier de configuration Cashier et le fichier de migration de la base de données :

php artisan vendor:publish --provider="LaravelCashierCashierServiceProvider" --tag="cashier-migrations"
php artisan migrate
  1. Configuration Stripe

Laravel Cashier utilise Stripe comme plateforme de paiement par défaut, vous devez donc créer un compte sur Stripe et obtenir la clé API (clé secrète ) et clé publique (Clé publiable).

Définissez les informations pertinentes du compte Stripe dans le fichier .env : .env文件中设置相关的Stripe账户信息:

STRIPE_KEY=your-stripe-publishable-key
STRIPE_SECRET=your-stripe-secret-key
  1. 创建订阅计划

在Stripe的控制面板中,可以创建多个订阅计划。例如,可以创建一个月度订阅、季度订阅或者年度订阅等。

在Laravel中,可以使用如下代码来创建订阅计划:

use IlluminateDatabaseEloquentModel;
use LaravelCashierSubscriptionBuilder;

class Plan extends Model
{
    public function createStripePlan()
    {
        $builder = new SubscriptionBuilder();
        $builder->nickname('Monthly')->interval(SubscriptionBuilder::INTERVAL_MONTH);
        $builder->name('Monthly Plan')->amount(1000);
        $builder->create();
    }
}

以上代码创建了一个月度订阅计划,价格为。

  1. 创建订阅

在Laravel中,可以使用如下代码创建订阅:

$user = User::find(1);

$user->newSubscription('monthly', 'monthly-plan')->create($paymentMethod);

以上代码创建了一个名为“monthly”的订阅,关联的是前文创建的订阅计划。

这里需要传递一个$paymentMethod参数,表示用户的支付方式。Laravel Cashier支持多种支付方式,包括信用卡、银行卡和支付宝等。

  1. 取消订阅

取消订阅同样非常简单,只需要调用cancel()

$user->subscription('monthly')->cancel();

    Créer un plan d'abonnement#🎜 🎜 #
    1. Dans le panneau de configuration de Stripe, vous pouvez créer plusieurs plans d'abonnement. Par exemple, vous pouvez créer un abonnement mensuel, trimestriel ou annuel, etc.
    Dans Laravel, vous pouvez utiliser le code suivant pour créer un plan d'abonnement :

    namespace AppProviders;
    
    use IlluminateSupportServiceProvider;
    
    class AppServiceProvider extends ServiceProvider
    {
        public function boot()
        {
            IlluminateNotificationsNotification::observe(function ($notification) {
                $notification->setChannels(['mail']);
            });
        }
    }

    Le code ci-dessus crée un plan d'abonnement mensuel au prix de 10 $.

      Créer un abonnement
      1. Dans Laravel, vous pouvez utiliser le code suivant pour créer un abonnement :
      rrreee# 🎜🎜# Le code ci-dessus crée un abonnement nommé "mensuel", qui est associé au plan d'abonnement créé précédemment.

      Vous devez passer ici un paramètre $paymentMethod, indiquant le mode de paiement de l'utilisateur. Laravel Cashier prend en charge une variété de méthodes de paiement, notamment les cartes de crédit, les cartes bancaires et Alipay. #🎜🎜#
        #🎜🎜#Annuler l'abonnement#🎜🎜##🎜🎜##🎜🎜#Annuler l'abonnement est également très simple, il suffit d'appeler le cancel() méthode C'est tout : #🎜🎜#rrreee#🎜🎜##🎜🎜#Échec du paiement du traitement#🎜🎜##🎜🎜##🎜🎜#Si le paiement de l'utilisateur échoue, Laravel Cashier enverra automatiquement un e-mail pour rappeler à l'utilisateur et demander à l'utilisateur de mettre à jour les informations de paiement. Les développeurs peuvent configurer des modèles d'e-mails dans le système et personnaliser facilement le contenu des e-mails. #🎜🎜#rrreee#🎜🎜#Le code ci-dessus indique à Laravel Cashier d'utiliser uniquement la notification par e-mail. #🎜🎜##🎜🎜##🎜🎜#Conclusion#🎜🎜##🎜🎜##🎜🎜#Laravel Cashier fournit aux développeurs Laravel une fonction de paiement d'abonnement efficace et stable, évitant la duplication du développement des fonctions de paiement par eux-mêmes. est très utile pour les scénarios commerciaux tels que les centres commerciaux en ligne et les services d'abonnement. #🎜🎜#

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