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

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

王林
Freigeben: 2023-06-14 09:38:43
Original
1338 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage