Laravel ist ein sehr beliebtes PHP-Framework, das im Bereich der Webentwicklung weit verbreitet ist. Laravel Cashier ist ein Erweiterungspaket, das Abonnementzahlungsfunktionen bereitstellt und es Entwicklern ermöglicht, die abonnement- und zahlungsbezogene Logik einfach zu verwalten, was die Entwicklungseffizienz erheblich verbessern kann.
In diesem Artikel erfahren Sie, wie Sie mit Laravel Cashier die Abonnementzahlungsfunktion implementieren.
Zuerst müssen Sie Laravel Cashier installieren. Zur Installation über Composer müssen Sie lediglich den folgenden Befehl im Terminal eingeben:
composer require laravel/cashier
Nach Abschluss der Installation müssen Sie die Konfigurationsdatei und die Datenbankmigrationsdatei von Cashier veröffentlichen:
php artisan vendor:publish --provider="LaravelCashierCashierServiceProvider" --tag="cashier-migrations" php artisan migrate
Laravel Cashier verwendet Stripe ist standardmäßig die Zahlungsplattform, daher ist es erforderlich, ein Konto bei Stripe zu registrieren und den API-Schlüssel (geheimer Schlüssel) und den öffentlichen Schlüssel (veröffentlichbarer Schlüssel) zu erhalten.
Legen Sie die relevanten Stripe-Kontoinformationen in der Datei .env
fest: .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();
In Laravel können Sie den folgenden Code verwenden, um ein Abonnement zu erstellen:
namespace AppProviders; use IlluminateSupportServiceProvider; class AppServiceProvider extends ServiceProvider { public function boot() { IlluminateNotificationsNotification::observe(function ($notification) { $notification->setChannels(['mail']); }); } }
Der obige Code erstellt ein monatliches Abonnement mit einem Preis von 10 $.
rrreee
Der obige Code erstellt ein Abonnement mit dem Namen „monatlich“, das mit dem Abonnement verknüpft ist zuvor erstellter Plan. 🎜🎜Sie müssen hier einen$ paymentMethod
-Parameter übergeben, der die Zahlungsmethode des Benutzers darstellt. Laravel Cashier unterstützt eine Vielzahl von Zahlungsmethoden, darunter Kreditkarten, Bankkarten und Alipay. 🎜cancel()
auf: 🎜rrreee🎜🎜Zahlung konnte nicht verarbeitet werden🎜🎜🎜Wenn Wenn die Zahlung fehlschlägt, sendet Laravel Cashier automatisch eine E-Mail, um den Benutzer daran zu erinnern und ihn aufzufordern, seine Zahlungsinformationen zu aktualisieren. Entwickler können E-Mail-Vorlagen im System einrichten und E-Mail-Inhalte einfach anpassen. 🎜rrreee🎜Der obige Code weist Laravel Cashier an, nur E-Mail-Benachrichtigungen zu verwenden. 🎜🎜🎜Fazit🎜🎜🎜Laravel Cashier bietet Laravel-Entwicklern eine effiziente und stabile Abonnement-Zahlungsfunktion, wodurch Doppelarbeit bei der Entwicklung von Zahlungsfunktionen selbst vermieden wird. Dies ist sehr nützlich für Geschäftsszenarien wie Online-Einkaufszentren und Abonnementdienste. 🎜Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie implementiert man Abonnementzahlungen mit Laravel Cashier?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!