Heim PHP-Framework Laravel Laravel-Entwicklung: Wie werden Abonnementzahlungen mit Laravel Cashier abgewickelt?

Laravel-Entwicklung: Wie werden Abonnementzahlungen mit Laravel Cashier abgewickelt?

Jun 14, 2023 am 09:38 AM
laravel cashier 订阅付款

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.

  1. Laravel Cashier installieren

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
Nach dem Login kopieren
  1. Stripe-API-Schlüssel konfigurieren

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'),
],
Nach dem Login kopieren

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
Nach dem Login kopieren
  1. Erstellen Sie einen Abonnementplan

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,
        ],
    ]);
}
Nach dem Login kopieren

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.

  1. Abonnements und Zahlungen

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');
Nach dem Login kopieren

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.

  1. Abonnementinformationen anzeigen

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
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Apr 01, 2025 pm 02:45 PM

Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Mar 31, 2025 pm 11:24 PM

Laravel -Zeitplan -Aufgabe Ausführen nicht reagierende Fehlerbehebung Bei Verwendung der Zeitplanung von Laravel -Zeitplänen werden viele Entwickler auf dieses Problem stoßen: Zeitplan: Run ...

Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Mar 31, 2025 pm 11:48 PM

Die Methode zum Umgang mit Laravels E -Mail -Versagen zum Senden von Verifizierungscode besteht darin, Laravel zu verwenden ...

So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? Apr 01, 2025 am 07:09 AM

So implementieren Sie die Tabellenfunktion von benutzerdefiniertem Klicken, um Daten in dcatadmin (laravel-admin) hinzuzufügen, wenn Sie DCAT verwenden ...

Laravel – Dump-Server Laravel – Dump-Server Aug 27, 2024 am 10:51 AM

Laravel – Dump-Server – Der Laravel-Dump-Server wird mit der Version von Laravel 5.7 geliefert. Die Vorgängerversionen enthalten keinen Dump-Server. Der Dump-Server wird eine Entwicklungsabhängigkeit in der Laravel-/Laravel-Composer-Datei sein.

Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Apr 01, 2025 am 07:45 AM

Die Auswirkungen des Austauschs von Redis -Verbindungen im Laravel -Framework und der Auswahl von Methoden bei Verwendung von Laravel -Framework und Redis können Entwickler auf ein Problem stoßen: Durch Konfiguration ...

Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Apr 01, 2025 am 09:09 AM

Benutzerdefinierte Mieterdatenbankverbindung in Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis beim Erstellen von Multi-Mandanten-Anwendungen mit Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis, ...

Laravel – Aktions-URL Laravel – Aktions-URL Aug 27, 2024 am 10:51 AM

Laravel – Aktions-URL – Laravel 5.7 führt eine neue Funktion namens „Aufrufbare Aktions-URL“ ein. Diese Funktion ähnelt der in Laravel 5.6, die String-in-Action-Methoden akzeptiert. Der Hauptzweck der neuen Syntax, die Laravel 5.7 eingeführt hat, besteht darin, direktl

See all articles