Heim >PHP-Framework >Laravel >Laravel-Entwicklung: Wie implementiert man Abonnementzahlungen mit Laravel Cashier?

Laravel-Entwicklung: Wie implementiert man Abonnementzahlungen mit Laravel Cashier?

王林
王林Original
2023-06-13 13:35:06856Durchsuche

Laravel ist ein sehr beliebtes PHP-Framework, das im Bereich der Webentwicklung weit verbreitet ist. Laravel Cashier ist ein Erweiterungspaket, das Abonnementzahlungsfunktionen bereitstellt und es Entwicklern ermöglicht, die abonnement- und zahlungsbezogene Logik einfach zu verwalten, was die Entwicklungseffizienz erheblich verbessern kann.

In diesem Artikel erfahren Sie, wie Sie mit Laravel Cashier die Abonnementzahlungsfunktion implementieren.

  1. Laravel Cashier installieren

Zuerst müssen Sie Laravel Cashier installieren. Zur Installation über Composer müssen Sie lediglich den folgenden Befehl im Terminal eingeben:

composer require laravel/cashier

Nach Abschluss der Installation müssen Sie die Konfigurationsdatei und die Datenbankmigrationsdatei von Cashier veröffentlichen:

php artisan vendor:publish --provider="LaravelCashierCashierServiceProvider" --tag="cashier-migrations"
php artisan migrate
  1. Stripe konfigurieren

Laravel Cashier verwendet Stripe ist standardmäßig die Zahlungsplattform, daher ist es erforderlich, ein Konto bei Stripe zu registrieren und den API-Schlüssel (geheimer Schlüssel) und den öffentlichen Schlüssel (veröffentlichbarer Schlüssel) zu erhalten.

Legen Sie die relevanten Stripe-Kontoinformationen in der Datei .env fest: .env文件中设置相关的Stripe账户信息:

STRIPE_KEY=your-stripe-publishable-key
STRIPE_SECRET=your-stripe-secret-key
  1. 创建订阅计划

在Stripe的控制面板中,可以创建多个订阅计划。例如,可以创建一个月度订阅、季度订阅或者年度订阅等。

在Laravel中,可以使用如下代码来创建订阅计划:

use IlluminateDatabaseEloquentModel;
use LaravelCashierSubscriptionBuilder;

class Plan extends Model
{
    public function createStripePlan()
    {
        $builder = new SubscriptionBuilder();
        $builder->nickname('Monthly')->interval(SubscriptionBuilder::INTERVAL_MONTH);
        $builder->name('Monthly Plan')->amount(1000);
        $builder->create();
    }
}

以上代码创建了一个月度订阅计划,价格为。

  1. 创建订阅

在Laravel中,可以使用如下代码创建订阅:

$user = User::find(1);

$user->newSubscription('monthly', 'monthly-plan')->create($paymentMethod);

以上代码创建了一个名为“monthly”的订阅,关联的是前文创建的订阅计划。

这里需要传递一个$paymentMethod参数,表示用户的支付方式。Laravel Cashier支持多种支付方式,包括信用卡、银行卡和支付宝等。

  1. 取消订阅

取消订阅同样非常简单,只需要调用cancel()

$user->subscription('monthly')->cancel();

    Erstellen Sie einen Abonnementplan
    1. Im Stripe-Kontrollfeld können Sie mehrere Abonnements erstellen planen. Sie können beispielsweise ein monatliches, vierteljährliches oder jährliches Abonnement usw. erstellen.

    In Laravel können Sie den folgenden Code verwenden, um ein Abonnement zu erstellen:

    namespace AppProviders;
    
    use IlluminateSupportServiceProvider;
    
    class AppServiceProvider extends ServiceProvider
    {
        public function boot()
        {
            IlluminateNotificationsNotification::observe(function ($notification) {
                $notification->setChannels(['mail']);
            });
        }
    }

    Der obige Code erstellt ein monatliches Abonnement mit einem Preis von 10 $.

        Erstellen Sie ein Abonnement
      In Laravel können Sie den folgenden Code verwenden, um ein Abonnement zu erstellen:

      rrreee

      Der obige Code erstellt ein Abonnement mit dem Namen „monatlich“, das mit dem Abonnement verknüpft ist zuvor erstellter Plan. 🎜🎜Sie müssen hier einen $ paymentMethod-Parameter übergeben, der die Zahlungsmethode des Benutzers darstellt. Laravel Cashier unterstützt eine Vielzahl von Zahlungsmethoden, darunter Kreditkarten, Bankkarten und Alipay. 🎜
        🎜Abonnement kündigen🎜🎜🎜Das Kündigen eines Abonnements ist ebenfalls sehr einfach. Rufen Sie einfach die Methode cancel() auf: 🎜rrreee🎜🎜Zahlung konnte nicht verarbeitet werden🎜🎜🎜Wenn Wenn die Zahlung fehlschlägt, sendet Laravel Cashier automatisch eine E-Mail, um den Benutzer daran zu erinnern und ihn aufzufordern, seine Zahlungsinformationen zu aktualisieren. Entwickler können E-Mail-Vorlagen im System einrichten und E-Mail-Inhalte einfach anpassen. 🎜rrreee🎜Der obige Code weist Laravel Cashier an, nur E-Mail-Benachrichtigungen zu verwenden. 🎜🎜🎜Fazit🎜🎜🎜Laravel Cashier bietet Laravel-Entwicklern eine effiziente und stabile Abonnement-Zahlungsfunktion, wodurch Doppelarbeit bei der Entwicklung von Zahlungsfunktionen selbst vermieden wird. Dies ist sehr nützlich für Geschäftsszenarien wie Online-Einkaufszentren und Abonnementdienste. 🎜

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie implementiert man Abonnementzahlungen mit Laravel Cashier?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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