在網路時代,訂閱模式已成為一種主要的商業模式之一。很多公司都可以透過訂閱模式來獲得更穩定的收入流。而Laravel Cashier則提供了一種方便的方式來處理訂閱付款。
Laravel Cashier是由Taylor Otwell創建的Laravel元件,它可以協助開發者處理基於Stripe的訂閱付款。 Stripe是一種受歡迎的線上支付服務,它提供安全、靈活和強大的支付處理功能。在這篇文章中,我們將介紹如何使用Laravel Cashier在Laravel專案中處理訂閱付款。
首先,我們需要使用composer安裝Laravel Cashier。在終端機中執行以下命令即可完成安裝:
composer require laravel/cashier
接下來,我們需要在Laravel專案中設定Stripe API金鑰。在Stripe網站上建立帳號後,可以在「API」選單下找到Stripe API金鑰。開啟config/services.php文件,加入以下程式碼:
'stripe' => [ 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ],
這個設定檔將Stripe API金鑰儲存在.env檔中,確保.env檔中含有以下內容:
STRIPE_KEY=your_stripe_key STRIPE_SECRET=your_stripe_secret
在Stripe網站上建立訂閱計畫後,我們需要將這些計畫新增至Laravel應用程式以便可以使用它們作為付款選項。打開app/Providers/AppServiceProvider.php文件,新增以下程式碼:
use LaravelCashierCashier; public function boot() { Cashier::useSubscriptionModel(YourSubscriptionModel::class); Cashier::useCurrency('usd', '$'); Cashier::usePlans([ 'monthly' => [ 'name' => 'Monthly Subscription', 'description' => 'Monthly subscription', 'price' => 10, ], 'yearly' => [ 'name' => 'Yearly Subscription', 'description' => 'Yearly subscription', 'price' => 50, ], ]); }
這個程式碼區塊包含兩個關鍵元素:第一個元素使用訂閱模型定義您的訂閱,您需要建立該模型作為應用的一部分;第二個元素定義了您的訂閱計劃,用於建立和顯示所有可用的訂閱選項。
現在,我們可以為網路應用程式中的使用者建立訂閱。 Laravel Cashier提供了幾個方便的方法,使我們能夠輕鬆地管理用戶訂閱:
// 为用户创建订阅 $user->newSubscription('main', 'monthly')->create($token); // 获取用户当前订阅 $user->subscription('main'); // 取消用户订阅 $user->subscription('main')->cancel(); // 恢复用户订阅 $user->subscription('main')->resume(); // 对用户订阅进行切换 $user->subscription('main')->swap('yearly');
在上面的程式碼範例中,我們首先使用newSubscription()方法為用戶創建了一個新的訂閱,該方法的第一個參數指定訂閱名稱,第二個參數指定計畫名稱。然後,我們使用create()方法來處理付款,傳遞一個Stripe令牌作為參數。我們也可以使用subscription()方法執行其他操作,例如取得、取消、復原和切換使用者訂閱。
最後,我們可以在使用者的個人資料頁面上顯示他們目前的訂閱資訊。以下是一個簡單的程式碼範例:
@if ($user->subscribed('main')) <p><b>Plan:</b> {{ $user->subscription('main')->stripe_plan }}</p> <p><b>Renewal Date:</b> {{ $user->subscription('main')->ends_at->toFormattedDateString() }}</p> @endif
這個程式碼區塊包含了一個簡單的條件語句,用於檢查使用者是否已訂閱應用程式。如果用戶已經訂閱,我們可以顯示用戶的方案名稱和續訂日期。
總結
在本文中,我們介紹如何使用Laravel Cashier處理訂閱付款。首先,我們安裝了Laravel Cashier並配置了Stripe API金鑰。然後,我們創建了幾個訂閱方案並用它們取代了Laravel Cashier內建的方案。接下來,我們使用一些方法讓使用者建立、取消和恢復訂閱。最後,我們在用戶個人資料頁面上顯示他們目前的訂閱資訊。希望這篇文章對你有幫助,如果你有任何問題或建議,請在下面的評論區留言。
以上是Laravel開發:如何使用Laravel Cashier處理訂閱付款?的詳細內容。更多資訊請關注PHP中文網其他相關文章!