Laravel開發:如何使用Laravel Cashier實現訂閱付款?
Jun 13, 2023 pm 01:35 PMLaravel是一個非常流行的PHP框架,被廣泛應用於Web開發領域。 Laravel Cashier是一個提供訂閱付款功能的擴充包,讓開發人員可以輕鬆處理訂閱和付款相關的邏輯,可以大幅提升開發效率。
本文將介紹如何使用Laravel Cashier實現訂閱付款功能。
- 安裝Laravel Cashier
#首先,需要安裝Laravel Cashier。透過Composer安裝,只需要在終端機輸入以下指令:
composer require laravel/cashier
安裝完成後,需要發佈Cashier的設定檔與資料庫遷移檔:
php artisan vendor:publish --provider="LaravelCashierCashierServiceProvider" --tag="cashier-migrations" php artisan migrate
- 設定Stripe
#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中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)