Heim PHP-Framework Laravel Laravel-Entwicklung: Wie kann man mit Laravel Cashier Abonnementzahlungen implementieren?

Laravel-Entwicklung: Wie kann man mit Laravel Cashier Abonnementzahlungen implementieren?

Jun 13, 2023 pm 02:39 PM
laravel cashier 订阅支付

Laravel ist ein beliebtes PHP-Framework, das den Entwicklungsprozess von Webanwendungen erheblich vereinfacht. Laravel Cashier ist eine Zahlungsverarbeitungsbibliothek, die Funktionen zur Verarbeitung von Abonnementzahlungen bereitstellt. Es kann in Stripe integriert werden, um Benutzern die Ausführung von Anwendungen mit Abonnementfunktionen zu ermöglichen. In diesem Artikel wird erläutert, wie Sie mit Laravel Cashier Abonnementzahlungen implementieren.

  1. Erstellen Sie ein Stripe-Konto

Bevor Sie Laravel Cashier verwenden, müssen Sie zunächst ein Stripe-Konto erstellen. Stripe ist eine Cloud-Plattform zur Verarbeitung von Online-Zahlungen und ihre API kann problemlos in Laravel Cashier integriert werden. Besuchen Sie die Stripe-Website, erstellen Sie ein Konto und melden Sie sich bei der Konsole an. In der Konsole finden Sie den API-Schlüssel, der die wichtigsten Informationen darstellt, die für die Integration von Stripe in Laravel Cashier erforderlich sind.

  1. Installieren Sie Laravel Cashier

Verwenden Sie Composer, um Laravel Cashier in Ihrem Laravel-Projekt zu installieren. Gehen Sie im Terminal in das Stammverzeichnis Ihres Laravel-Projekts und führen Sie den folgenden Befehl aus:

composer require laravel/cashier
Nach dem Login kopieren

Nach der Ausführung des obigen Befehls installiert Composer automatisch die erforderlichen Abhängigkeiten und fügt Laravel Cashier zum Projekt hinzu.

  1. Laravel Cashier konfigurieren

Nach der Installation von Laravel Cashier müssen Sie es konfigurieren, um die Stripe-API korrekt zu verwenden. Öffnen Sie zunächst die Datei config/services.php in Ihrem Projekt und fügen Sie der Datei den folgenden Code hinzu:

'stripe' => [
    'model' => AppModelsUser::class,
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],
Nach dem Login kopieren

Der obige Code stellt Laravel Cashier die erforderlichen Konfigurationsinformationen bereit, einschließlich des API-Schlüssels und des Benutzermodells, die für die Verwendung von Stripe erforderlich sind.

Dann konfigurieren Sie den Stripe-API-Schlüssel und die Stripe Connect-Client-ID in der .env-Datei:

STRIPE_KEY=your-stripe-key
STRIPE_SECRET=your-stripe-secret
STRIPE_CLIENT_ID=your-stripe-client-id
Nach dem Login kopieren
  1. Erstellen Sie einen Abonnementplan

Nach der Integration der Stripe-API müssen Sie einen Abonnementplan zur Verwendung in Ihrer Anwendung erstellen. Navigieren Sie in der Stripe-Konsole zur Registerkarte „Produkte“ und klicken Sie auf „Neues Produkt“, um ein Produkt zu erstellen. Öffnen Sie nach dem Erstellen des Produkts die Registerkarte „Abrechnung“ und klicken Sie auf „Neuer Plan“, um einen Plan zu erstellen. Geben Sie den Plannamen, den Preis und den Zeitraum nach Bedarf ein und klicken Sie dann auf „Plan erstellen“.

  1. Benutzermodell aktualisieren

Laravel Cashier verwendet Benutzermodelle, um Abonnements zu verwalten. Bevor Sie fortfahren, müssen Sie einige Methoden in Ihr Benutzermodell aufnehmen. Öffnen Sie das Benutzermodell und fügen Sie den folgenden Code am Ende der Datei hinzu:

use LaravelCashierBillable;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
    use Authenticatable, CanResetPassword, Billable; 
}
Nach dem Login kopieren

Der obige Code verwendet die Billable-Eigenschaft von Laravel Cashier im Benutzermodell. Dies ermöglicht die Verwendung von Laravel Cashier-bezogenen Methoden im Benutzermodell.

  1. Implementierung der Abonnementfunktion

Es ist sehr einfach, die Abonnementfunktion mit Laravel Cashier zu implementieren. Fügen Sie in der Ansicht einfach das folgende Formular hinzu:

<form method="POST" action="{{ route('subscribe') }}">
    {{ csrf_field() }}
    <script
        src="https://checkout.stripe.com/checkout.js" class="stripe-button"
        data-key="{{ config('services.stripe.key') }}"
        data-amount="999"
        data-name="My Awesome Website"
        data-description="Monthly Subscription"
        data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
        data-locale="auto">
    </script>
</form>
Nach dem Login kopieren

Der obige Code fügt Ihrer Website eine Stripe-Abonnieren-Schaltfläche hinzu. Wenn der Benutzer auf die Schaltfläche klickt, springt er zur Stripe-Seite, um den Abonnementvorgang abzuschließen.

Fügen Sie in Ihrem Controller einfach den folgenden Code hinzu, um die Abonnementinformationen mit dem Benutzermodell zu verknüpfen:

public function subscribe(Request $request)
{
    $user = $request->user();
    $user->newSubscription('main', 'plan_id')->create($request->stripeToken);
    return redirect()->back();
}
Nach dem Login kopieren

Der obige Code erstellt ein neues Abonnement, verknüpft es mit dem Benutzermodell und speichert die Abonnementzahlungsinformationen in Stripe. Leiten Sie den Benutzer dann zurück zur Seite und führen Sie die Anwendung weiter aus.

  1. Abmelden

Das Abmelden ist in Laravel Cashier ganz einfach. Fügen Sie einfach den folgenden Code in Ihren Controller ein, um ein bestimmtes Abonnement zu kündigen:

public function cancel(Request $request)
{
    $user = $request->user();
    $user->subscription('main')->cancel();
    return redirect()->back();
}
Nach dem Login kopieren

Der obige Code kündigt ein bestimmtes Abonnement und leitet den Benutzer zurück zur Seite.

Fazit

Laravel Cashier ist eine leistungsstarke Zahlungsverarbeitungsbibliothek, die den Prozess der Abonnementzahlungen erheblich vereinfachen kann. Durch die Verwendung der Stripe-API ist Laravel Cashier in der Lage, den Abonnementprozess einfach in Laravel-Anwendungen zu integrieren. Mithilfe der Anleitung in diesem Artikel können Sie Laravel Cashier problemlos zur Implementierung von Abonnementzahlungsfunktionen verwenden.

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie kann man mit Laravel Cashier Abonnementzahlungen implementieren?. 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 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 eloquent orm bei bangla partieller Modellsuche) Laravel eloquent orm bei bangla partieller Modellsuche) Apr 08, 2025 pm 02:06 PM

Laraveleloquent-Modellab Abruf: Das Erhalten von Datenbankdaten Eloquentorm bietet eine prägnante und leicht verständliche Möglichkeit, die Datenbank zu bedienen. In diesem Artikel werden verschiedene eloquente Modellsuchtechniken im Detail eingeführt, um Daten aus der Datenbank effizient zu erhalten. 1. Holen Sie sich alle Aufzeichnungen. Verwenden Sie die Methode All (), um alle Datensätze in der Datenbanktabelle zu erhalten: UseApp \ Models \ post; $ posts = post :: all (); Dies wird eine Sammlung zurückgeben. Sie können mit der Foreach-Schleife oder anderen Sammelmethoden auf Daten zugreifen: foreach ($ postas $ post) {echo $ post->

Laravels Geospatial: Optimierung interaktiver Karten und großen Datenmengen Laravels Geospatial: Optimierung interaktiver Karten und großen Datenmengen Apr 08, 2025 pm 12:24 PM

Verarbeiten Sie 7 Millionen Aufzeichnungen effizient und erstellen Sie interaktive Karten mit Geospatial -Technologie. In diesem Artikel wird untersucht, wie über 7 Millionen Datensätze mithilfe von Laravel und MySQL effizient verarbeitet und in interaktive Kartenvisualisierungen umgewandelt werden können. Erstes Herausforderungsprojektanforderungen: Mit 7 Millionen Datensätzen in der MySQL -Datenbank wertvolle Erkenntnisse extrahieren. Viele Menschen erwägen zunächst Programmiersprachen, aber ignorieren die Datenbank selbst: Kann sie den Anforderungen erfüllen? Ist Datenmigration oder strukturelle Anpassung erforderlich? Kann MySQL einer so großen Datenbelastung standhalten? Voranalyse: Schlüsselfilter und Eigenschaften müssen identifiziert werden. Nach der Analyse wurde festgestellt, dass nur wenige Attribute mit der Lösung zusammenhängen. Wir haben die Machbarkeit des Filters überprüft und einige Einschränkungen festgelegt, um die Suche zu optimieren. Kartensuche basierend auf der Stadt

See all articles