Laravel開發:如何使用Laravel Cashier實現訂閱付款?
Laravel是一個非常流行的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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

Laravel - Artisan 指令 - Laravel 5.7 提供了處理和測試新指令的新方法。它包括測試 artisan 命令的新功能,下面提到了演示?

Laravel - Artisan Console - Laravel 框架提供了三種主要的命令列互動工具,分別是:Artisan、Ticker 和 REPL。本章詳細介紹了 Artisan。

Laravel - 分頁自訂 - Laravel 包含分頁功能,可協助使用者或開發人員包含分頁功能。 Laravel 分頁器與查詢產生器和 Eloquent ORM 整合。自動分頁方法

Laravel郵件發送失敗時的退信代碼獲取方法在使用Laravel開發應用時,經常會遇到需要發送驗證碼的情況。而在實�...

Laravel計劃任務運行無響應排查在使用Laravel的計劃任務調度時,不少開發者會遇到這樣的問題:schedule:run...

在dcatadmin(laravel-admin)中如何實現自定義點擊添加數據的表格功能在使用dcat...

Laravel - 轉儲伺服器 - Laravel 轉儲伺服器隨 Laravel 5.7 版本提供。先前的版本不包括任何轉儲伺服器。轉儲伺服器將成為 laravel/laravel Composer 檔案中的開發依賴項。
