Heim > Artikel > PHP-Framework > Laravel-Entwicklung: Wie kann man mit Laravel Cashier Abonnementzahlungen implementieren?
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.
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.
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 der Ausführung des obigen Befehls installiert Composer automatisch die erforderlichen Abhängigkeiten und fügt Laravel Cashier zum Projekt hinzu.
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'), ],
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 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“.
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; }
Der obige Code verwendet die Billable-Eigenschaft von Laravel Cashier im Benutzermodell. Dies ermöglicht die Verwendung von Laravel Cashier-bezogenen Methoden im Benutzermodell.
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>
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(); }
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.
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(); }
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!