Da immer mehr Unternehmen damit beginnen, Verbrauchern Abonnementdienste anzubieten, sind Abonnementzahlungen zu einem wichtigen Bestandteil des modernen Internethandels geworden. Wenn Sie einen Abonnementdienst aufbauen oder einem bestehenden Dienst Abonnementzahlungsfunktionen hinzufügen möchten, bietet Ihnen die Kombination aus Laravel Cashier und Paddle eine geeignete Lösung.
Laravel Cashier ist ein von Laravel entwickeltes Erweiterungspaket, das eine einfache und benutzerfreundliche Schnittstelle für die Abonnementabwicklung und die Integration von Zahlungsgateways bietet. Paddle ist eine globale Zahlungslösung, die es Ihnen ermöglicht, Zahlungen und Abonnements standardkonform abzuwickeln.
In diesem Artikel erfahren Sie, wie Sie mit Laravel Cashier und Paddle Abonnementzahlungen abwickeln, einschließlich der Einrichtung eines Paddle-Kontos und einer Laravel-Projektumgebung, wie Sie Abonnementzahlungen abwickeln und wie Sie Paddle testen.
Richten Sie ein Paddle-Konto ein
Um Paddle als Zahlungsgateway nutzen zu können, müssen Sie zunächst ein Paddle-Konto erstellen. Nachdem Sie ein Paddle-Konto erstellt haben, müssen Sie ein Produkt in Paddle erstellen. Dieses Produkt kann das Hauptprodukt Ihres Abonnementdienstes oder ein Zusatzprodukt oder eine Zusatzdienstleistung sein.
Als nächstes müssen Sie Versandorte und Steuerregeln einrichten. Diese Regeln hängen vom Lokalisierungsumfang Ihres Dienstes und anderen wichtigen Faktoren ab. Schließlich müssen Sie in Paddle einen Preisplan oder ein Abonnement für Ihr Produkt einrichten. In diesem Plan werden der Preis, der Zahlungszyklus und andere relevante Informationen für Ihren Abonnementdienst festgelegt.
Richten Sie die Laravel-Umgebung ein
Bevor Sie die Laravel-Umgebung einrichten, müssen Sie die Anforderungen für die Laravel-Version und die PHP-Version ermitteln. Laravel Cashier muss auf Laravel 5.1 und höher laufen, während Paddle auf PHP 7.0 und höher laufen muss.
Nachdem Sie die Anforderungen an die Laravel- und PHP-Version bestätigt haben, müssen Sie Laravel Cashier in das Laravel-Projekt einführen. Sie können Laravel Cashier installieren, indem Sie den folgenden Befehl ausführen:
composer require laravel/cashier
Nach erfolgreicher Installation müssen Sie den Dienstanbieter und den Alias in config/app.php hinzufügen. Fügen Sie den folgenden Dienstanbieter im Provider-Array hinzu:
LaravelCashierCashierServiceProvider::class,
Fügen Sie den folgenden Alias im Aliases-Array hinzu:
'Cashier' => LaravelCashierFacadesCashier::class,
Als nächstes müssen Sie Ihr Paddle konfigurieren Information. Fügen Sie die folgenden Informationen zu config/services.php hinzu:
'paddle' => [
'vendor_id' => env('PADDLE_VENDOR_ID'), 'vendor_auth_code' => env('PADDLE_VENDOR_AUTH_CODE'),
],
Sie müssen die oben genannten Informationen durch die Informationen Ihres Paddle-Kontos ersetzen. Sie finden diese Informationen auf der Einstellungsseite Ihres Paddle-Kontos.
Abonnementzahlungen verarbeiten
Da Sie nun Ihr Paddle-Konto und die Laravel-Umgebung eingerichtet haben, können Sie mit der Verarbeitung von Abonnementzahlungen über Laravel Cashier und Paddle beginnen.
In Ihrer Anwendung können Sie eine einfache Route zur Bearbeitung von Zahlungsanfragen erstellen. Zum Beispiel:
Route::get('/subscribe', function () {
$plan = request('plan'); $user = auth()->user(); $user->newSubscription('main', $plan)->create(request()->query('email'), [ 'metadata' => [ 'name' => $user->name, 'company' => $user->company, ] ]); return redirect('/');
});
Im obigen Code verwenden wir Cashier, um ein neues Abonnement zu erstellen. Wir erhalten zunächst die E-Mail-Adresse des Benutzers und erstellen dann ein neues Abonnement. Beim Erstellen eines Abonnements fügen wir einige Benutzerinformationen zum Metadaten-Array hinzu.
Sie können auch die Methode „defaultPaymentMethod“ verwenden, um die Standardzahlungsmethode des Benutzers anzugeben:
$user->defaultPaymentMethod('pm_1234567890');
Sie können Stripe-Ereignisse verwenden, um die Zahlung des Benutzers automatisch zu aktualisieren, wenn eine Zahlung eingeht. Status, zum Beispiel:
Route::post('/stripe/webhook', function (Request $request) {
$payload = $request->all(); $event = null; if (isset($payload['type'])) { $event = StripeEvent::constructFrom($payload); } if ($event && $event->type === 'customer.subscription.updated') { $subscription = $event->data->object->id; $customer = $event->data->object->customer; $user = User::where('stripe_id', $customer)->first(); $user->subscriptions()->where('stripe_id', $subscription)->update([ 'stripe_status' => $event->data->object->status, ]); } return response()->json(['success' => true]);
});
Im obigen Code verwenden wir Stripe-Ereignisse, um den Abonnementstatus des Benutzers zu aktualisieren. Informationen zur spezifischen Verwendung finden Sie in der Stripe-Dokumentation.
Testen
Nachdem Sie die oben genannten Schritte ausgeführt und die Abonnementzahlung implementiert haben, sollten Sie Paddle testen, um sicherzustellen, dass alle Funktionen ordnungsgemäß funktionieren.
Bevor Sie testen, müssen Sie ein Paddle-Konto und ein Testprodukt für die Testumgebung konfigurieren. Um sicherzustellen, dass Ihr Code reibungslos in der Testumgebung funktioniert, müssen Sie beim Testen Testbeträge und Testabonnementschleifen verwenden.
Nachdem Sie den Test abgeschlossen haben, können Sie die Testdaten im Paddle-Dashboard anzeigen, um sicherzustellen, dass alles ordnungsgemäß funktioniert. Wenn Sie auf Probleme stoßen, finden Sie weitere Informationen in der Laravel Cashier- oder Paddle-Dokumentation.
Fazit
Die Integration von Laravel Cashier und Paddle bietet Ihnen eine einfache, leicht zu konfigurierende Lösung für die Implementierung der Abonnement-Zahlungsfunktionalität. Unabhängig davon, ob Sie einen neuen Abonnementdienst aufbauen oder einem bestehenden Dienst Abonnementzahlungsfunktionen hinzufügen, bietet Ihnen diese Kombination die richtige Lösung.
Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie werden Abonnementzahlungen mit Laravel Cashier und Paddle abgewickelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!