Laravel-Entwicklung: Wie werden Abonnementzahlungen mit Laravel Cashier und Braintree abgewickelt?
In der heutigen Abonnementwirtschaft bieten viele Unternehmen und Startups eine Vielzahl von Abonnementdiensten an, von Musik, Filmen, Spielen bis hin zu Cloud-Speicher und -Anwendungen und mehr. Wenn Sie Entwickler sind, müssen Sie ein System aufbauen, das Abonnementzahlungen verarbeiten kann. In diesem Artikel erklären wir, wie Sie dies mit Laravel Cashier und Braintree erreichen.
Laravel Cashier ist eine Laravel-Erweiterung, die eine einfache, aber leistungsstarke Schnittstelle zur Abwicklung von Abonnements und Zahlungen bietet. Braintree ist eine globale Online-Zahlungsabwicklungsplattform, die die Akzeptanz verschiedener Zahlungsmethoden erleichtert.
Für die konkrete Umsetzung werden wir Laravel 8 und Braintree nutzen. Sie müssen die Erweiterungen Laravel Cashier und Braintree in Ihrem Projekt installieren. Im Folgenden sind die spezifischen Implementierungsschritte aufgeführt:
Zuerst müssen Sie Umgebungsvariablen im Projekt festlegen, um den Braintree-API-Schlüssel und andere Einstellungen zu speichern. Sie können Umgebungsvariablen in .env-Dateien festlegen. Hier ist ein Beispiel für die Verwendung eines Braintree-API-Testschlüssels:
BRAINTREE_ENV=sandbox BRAINTREE_MERCHANT_ID=your_merchant_id BRAINTREE_PUBLIC_KEY=your_public_key BRAINTREE_PRIVATE_KEY=your_private_key
Als Nächstes müssen Sie im Braintree-Kontrollfeld ein Zahlungsportal erstellen. Jedes Portal verfügt über eine eindeutige Kennung und Anmeldeinformationen, die zur Zahlungsabwicklung verwendet werden. Nachdem Sie im Control Panel ein Portal erstellt haben, kopieren und speichern Sie Ihre Anmeldeinformationen.
Anschließend müssen Sie eine Braintree-Konfiguration in der Datei config/services.php hinzufügen. Hier ist eine Beispielkonfiguration:
'braintree' => [ 'environment' => env('BRAINTREE_ENV'), 'merchant_id' => env('BRAINTREE_MERCHANT_ID'), 'public_key' => env('BRAINTREE_PUBLIC_KEY'), 'private_key' => env('BRAINTREE_PRIVATE_KEY'), ],
Jetzt können Sie mit Laravel Cashier und Braintree einen Abonnementplan erstellen. Ein Abonnement ist ein Dienst, für den eine wiederkehrende Gebühr erhoben wird, beispielsweise monatlich oder jährlich. Hier ist ein Beispiel für die Erstellung eines Abonnementplans:
use LaravelCashierSubscription; $subscription = Subscription::create([ 'name' => 'Monthly Subscription Plan', 'stripe_id' => 'monthly-subscription-plan', 'stripe_plan' => 'monthly', 'quantity' => 1, 'trial_period_days' => 14, ]); $user->subscriptions()->save($subscription);
In diesem Beispiel erstellen wir einen Abonnementplan mit dem Namen „Monatlicher Abonnementplan“, dessen Stripe_ID „Monthly-Subscription-Plan“ und Stripe_plan „Monthly“ lautet. Der Parameter „quantity“ gibt die Menge des Abonnements an und der Parameter „trial_period_days“ gibt die Anzahl der Tage des Testzeitraums an. Nach dem Speichern der Abonnementinformationen kann der Benutzer den Plan abonnieren.
Schließlich müssen Sie Ihre Abonnementzahlungen bearbeiten. Glücklicherweise kümmert sich Laravel Cashier bereits um die Zahlungsdetails für uns. Mit Laravel Cashier können Sie Zahlungen problemlos abwickeln, ohne sich über die Komplexität von Zahlungsgateways Gedanken machen zu müssen. Hier ist ein Beispiel für die Abwicklung einer Zahlung:
use LaravelCashierCashier; $user = User::find(1); $paymentMethod = $user->defaultPaymentMethod(); $payment = $user->charge(10, $paymentMethod); if ($user->subscribed('monthly-subscription-plan')) { // 更新用户的订阅和付款信息 $user->subscription('monthly-subscription-plan')->update([ 'stripe_id' => $payment->id, 'ends_at' => null, ]); }
In diesem Beispiel verwenden wir die Methode $user->defaultPaymentMethod(), um die Standardzahlungsmethode des Benutzers abzurufen und ihm 10 $ in Rechnung zu stellen. Wenn der Abonnementplan „Monatsabonnementplan“ lautet, aktualisieren wir die Abonnement- und Zahlungsinformationen des Benutzers.
Fazit
Die Abwicklung von Abonnementzahlungen ist mit Laravel Cashier und Braintree einfacher geworden. Sie können ganz einfach Abonnements erstellen und verwalten sowie Zahlungen abwickeln. Dies ist natürlich nur ein einfaches Beispiel und Sie können Ihren eigenen Projekten weitere Funktionen hinzufügen. Ich hoffe, dieser Artikel hilft Ihnen!
Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie werden Abonnementzahlungen mit Laravel Cashier und Braintree abgewickelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!