Laravel是一個非常流行的PHP框架,被廣泛應用於Web開發領域。 Laravel Cashier是一個提供訂閱付款功能的擴充包,讓開發人員可以輕鬆處理訂閱和付款相關的邏輯,可以大幅提升開發效率。
本文將介紹如何使用Laravel Cashier實現訂閱付款功能。
#首先,需要安裝Laravel Cashier。透過Composer安裝,只需要在終端機輸入以下指令:
composer require laravel/cashier
安裝完成後,需要發佈Cashier的設定檔與資料庫遷移檔:
php artisan vendor:publish --provider="LaravelCashierCashierServiceProvider" --tag="cashier-migrations" php artisan migrate
#Laravel Cashier預設使用Stripe作為支付平台,因此需要在Stripe上註冊帳號,並且取得API金鑰(Secret key)和公鑰(Publishable key)。
在.env
檔案中設定相關的Stripe帳號資訊:
STRIPE_KEY=your-stripe-publishable-key STRIPE_SECRET=your-stripe-secret-key
在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(); } }
以上程式碼建立了一個月度訂閱計劃,價格為$10。
在Laravel中,可以使用以下程式碼建立訂閱:
$user = User::find(1); $user->newSubscription('monthly', 'monthly-plan')->create($paymentMethod);
以上程式碼建立了一個名為「monthly」的訂閱,關聯的是前文所建立的訂閱計畫。
這裡需要傳遞一個$paymentMethod
參數,表示使用者的支付方式。 Laravel Cashier支援多種支付方式,包括信用卡、銀行卡和支付寶等。
取消訂閱同樣非常簡單,只需要呼叫cancel()
方法:
$user->subscription('monthly')->cancel();
如果用戶的付款失敗,Laravel Cashier會自動發送郵件提醒用戶,要求用戶更新付款資訊。開發人員可以在系統中設定郵件模板,並且可以輕鬆地自訂郵件內容。
namespace AppProviders; use IlluminateSupportServiceProvider; class AppServiceProvider extends ServiceProvider { public function boot() { IlluminateNotificationsNotification::observe(function ($notification) { $notification->setChannels(['mail']); }); } }
以上程式碼告訴Laravel Cashier只使用郵件通知方式。
Laravel Cashier為Laravel開發人員提供了一個高效能、穩定的訂閱付款功能,避免了自行開發付款功能的重複勞動,對於線上商城、訂閱服務等業務場景非常有用。
以上是Laravel開發:如何使用Laravel Cashier實現訂閱付款?的詳細內容。更多資訊請關注PHP中文網其他相關文章!