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.
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
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
在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(); } }
以上代码创建了一个月度订阅计划,价格为。
在Laravel中,可以使用如下代码创建订阅:
$user = User::find(1); $user->newSubscription('monthly', 'monthly-plan')->create($paymentMethod);
以上代码创建了一个名为“monthly”的订阅,关联的是前文创建的订阅计划。
这里需要传递一个$paymentMethod
参数,表示用户的支付方式。Laravel Cashier支持多种支付方式,包括信用卡、银行卡和支付宝等。
取消订阅同样非常简单,只需要调用cancel()
$user->subscription('monthly')->cancel();
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 $.
$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. #🎜🎜#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!