Heim > Artikel > PHP-Framework > Laravel-Entwicklung: Wie werden Abonnementzahlungen mit Laravel Cashier abgewickelt?
Im Internetzeitalter hat sich das Abonnementmodell zu einem der wichtigsten Geschäftsmodelle entwickelt. Viele Unternehmen können durch ein Abonnementmodell eine stabilere Einnahmequelle erzielen. Laravel Cashier bietet eine bequeme Möglichkeit, Abonnementzahlungen abzuwickeln.
Laravel Cashier ist eine von Taylor Otwell entwickelte Laravel-Komponente, die Entwickler bei der Verarbeitung von Stripe-basierten Abonnementzahlungen unterstützen kann. Stripe ist ein beliebter Online-Zahlungsdienst, der sichere, flexible und leistungsstarke Zahlungsabwicklungsfunktionen bietet. In diesem Artikel erklären wir, wie Sie mit Laravel Cashier Abonnementzahlungen in einem Laravel-Projekt abwickeln.
Zuerst müssen wir Laravel Cashier mit Composer installieren. Führen Sie den folgenden Befehl im Terminal aus, um die Installation abzuschließen:
composer require laravel/cashier
Als nächstes müssen wir den Stripe-API-Schlüssel im Laravel-Projekt konfigurieren. Nachdem Sie auf der Stripe-Website ein Konto erstellt haben, finden Sie den Stripe-API-Schlüssel im Menü „API“. Öffnen Sie die Datei config/services.php und fügen Sie den folgenden Code hinzu:
'stripe' => [ 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ],
Diese Konfigurationsdatei speichert den Stripe-API-Schlüssel in der .env-Datei. Stellen Sie sicher, dass die .env-Datei den folgenden Inhalt hat:
STRIPE_KEY=your_stripe_key STRIPE_SECRET=your_stripe_secret
in Nachdem wir die Abonnementpläne auf der Stripe-Website erstellt haben, müssen wir diese Pläne zur Laravel-Anwendung hinzufügen, damit sie als Zahlungsoptionen verwendet werden können. Öffnen Sie die Datei app/Providers/AppServiceProvider.php und fügen Sie den folgenden Code hinzu:
use LaravelCashierCashier; public function boot() { Cashier::useSubscriptionModel(YourSubscriptionModel::class); Cashier::useCurrency('usd', '$'); Cashier::usePlans([ 'monthly' => [ 'name' => 'Monthly Subscription', 'description' => 'Monthly subscription', 'price' => 10, ], 'yearly' => [ 'name' => 'Yearly Subscription', 'description' => 'Yearly subscription', 'price' => 50, ], ]); }
Dieser Codeblock enthält zwei Schlüsselelemente: Das erste Element definiert Ihr Abonnement mithilfe des Abonnementmodells, das Sie als Teil Ihrer App erstellen müssen zweites Element Elemente definieren Ihren Abonnementplan und werden zum Erstellen und Anzeigen aller verfügbaren Abonnementoptionen verwendet.
Jetzt können wir Abonnements für Benutzer in der Webanwendung erstellen. Laravel Cashier bietet mehrere praktische Methoden, mit denen wir Benutzerabonnements einfach verwalten können:
// 为用户创建订阅 $user->newSubscription('main', 'monthly')->create($token); // 获取用户当前订阅 $user->subscription('main'); // 取消用户订阅 $user->subscription('main')->cancel(); // 恢复用户订阅 $user->subscription('main')->resume(); // 对用户订阅进行切换 $user->subscription('main')->swap('yearly');
Im obigen Codebeispiel erstellen wir zunächst ein neues Abonnement für den Benutzer mithilfe der Methode newSubscription(), wobei der erste Parameter das Abonnement angibt Name, und der zweite Parameter gibt den Plannamen an. Anschließend verwenden wir die Methode create(), um die Zahlung abzuwickeln, und übergeben dabei einen Stripe-Token als Parameter. Wir können die subscription()-Methode auch verwenden, um andere Vorgänge wie das Abrufen, Stornieren, Wiederherstellen und Wechseln von Benutzerabonnements durchzuführen.
Abschließend können wir die aktuellen Abonnementinformationen des Benutzers auf seiner Profilseite anzeigen. Hier ist ein einfaches Codebeispiel:
@if ($user->subscribed('main')) <p><b>Plan:</b> {{ $user->subscription('main')->stripe_plan }}</p> <p><b>Renewal Date:</b> {{ $user->subscription('main')->ends_at->toFormattedDateString() }}</p> @endif
Dieser Codeblock enthält eine einfache bedingte Anweisung, die prüft, ob der Benutzer die Anwendung abonniert hat. Wenn der Benutzer bereits ein Abonnement hat, können wir den Plannamen und das Verlängerungsdatum des Benutzers anzeigen.
Zusammenfassung
In diesem Artikel haben wir erläutert, wie Sie Laravel Cashier zur Abwicklung von Abonnementzahlungen verwenden. Zuerst haben wir Laravel Cashier installiert und den Stripe-API-Schlüssel konfiguriert. Anschließend haben wir mehrere Abonnementpläne erstellt und die in Laravel Cashier integrierten Pläne durch diese ersetzt. Als Nächstes verwenden wir einige Methoden, mit denen Benutzer Abonnements erstellen, kündigen und fortsetzen können. Abschließend zeigen wir die aktuellen Abonnementinformationen des Benutzers auf seiner Profilseite an. Ich hoffe, dieser Artikel ist hilfreich für Sie. Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie diese bitte im Kommentarbereich unten.
Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie werden Abonnementzahlungen mit Laravel Cashier abgewickelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!