Laravel開發:如何使用Laravel Cashier實現訂閱付款?
Laravel是一款受歡迎的PHP框架,能夠大幅簡化Web應用程式的開發流程。 Laravel Cashier是一個付款處理庫,它提供了處理訂閱付款的功能。它可以與Stripe集成,使用戶能夠運行具有訂閱功能的應用程式。本文將介紹如何使用Laravel Cashier實現訂閱付款。
- 建立Stripe帳號
在使用Laravel Cashier前,需要先建立一個Stripe帳號。 Stripe是一個處理線上支付的雲端平台,它的API可以輕鬆與Laravel Cashier整合。造訪Stripe網站,建立帳戶,然後登入控制台。在控制台中,可以找到API金鑰,這是在Laravel Cashier中整合Stripe所需的關鍵資訊。
- 安裝Laravel Cashier
使用Composer在Laravel專案中安裝Laravel Cashier。在終端中,進入Laravel專案的根目錄並執行以下命令:
composer require laravel/cashier
執行上述命令後,Composer將自動安裝所需的依賴項,並將Laravel Cashier新增至專案。
- 設定Laravel Cashier
在安裝Laravel Cashier之後,需要設定它以正確地使用Stripe API。首先,在專案中開啟config/services.php文件,然後將以下程式碼新增至文件:
'stripe' => [ 'model' => AppModelsUser::class, 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ],
以上程式碼為Laravel Cashier提供了必要的設定信息,包括使用Stripe所需的API金鑰和使用者模型。
然後,在.env檔案中配置Stripe API金鑰和Stripe Connect客戶端ID:
STRIPE_KEY=your-stripe-key STRIPE_SECRET=your-stripe-secret STRIPE_CLIENT_ID=your-stripe-client-id
- #建立訂閱計畫
在整合Stripe API之後,需要建立訂閱計劃以在應用程式中使用。在Stripe控制台中,導覽至「Products」選項卡,然後按一下「New Product」以建立一個產品。在建立產品後,開啟「Billing」選項卡,然後按一下「New Plan」以建立計畫。根據需要填寫計劃名稱、價格和週期,然後按一下「Create Plan」。
- 更新使用者模型
Laravel Cashier使用使用者模型來管理訂閱。因此,在繼續之前,需要在使用者模型中包含一些方法。開啟使用者模型並將以下程式碼加入檔案結尾:
use LaravelCashierBillable; class User extends Model implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword, Billable; }
以上程式碼在使用者模型中使用了Laravel Cashier的Billable trait。這允許在使用者模型中使用與Laravel Cashier相關的方法。
- 實作訂閱功能
使用Laravel Cashier實作訂閱功能非常簡單。在檢視中,只需新增以下表單:
<form method="POST" action="{{ route('subscribe') }}"> {{ csrf_field() }} <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="{{ config('services.stripe.key') }}" data-amount="999" data-name="My Awesome Website" data-description="Monthly Subscription" data-image="https://stripe.com/img/documentation/checkout/marketplace.png" data-locale="auto"> </script> </form>
以上程式碼為您的網站新增一個Stripe訂閱按鈕。當使用者點擊該按鈕時,將跳到Stripe頁面,以完成訂閱流程。
在控制器中,只需新增以下程式碼,即可將訂閱資訊與使用者模型關聯起來:
public function subscribe(Request $request) { $user = $request->user(); $user->newSubscription('main', 'plan_id')->create($request->stripeToken); return redirect()->back(); }
以上程式碼會建立一個新的訂閱、將其與使用者模型關聯,並將訂閱付款資訊儲存在Stripe中。然後,將使用者重新導向回頁面,並繼續運行應用程式。
- 取消訂閱
在Laravel Cashier中,取消訂閱非常簡單。只需在控制器中新增以下程式碼,即可取消特定的訂閱:
public function cancel(Request $request) { $user = $request->user(); $user->subscription('main')->cancel(); return redirect()->back(); }
以上程式碼將取消特定訂閱,並將使用者重新導向回頁面。
結論
Laravel Cashier是一個強大的付款處理庫,可以大幅簡化訂閱付款的流程。透過使用Stripe API,Laravel Cashier能夠輕鬆地將訂閱流程整合到Laravel應用程式中。透過本文的指導,您可以輕鬆地使用Laravel Cashier實現訂閱付款功能。
以上是Laravel開發:如何使用Laravel Cashier實現訂閱付款?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

Laravel框架中Redis連接的共享與select方法的影響在使用Laravel框架和Redis時,開發者可能會遇到一個問題:通過配置...

在Laravel多租戶擴展包stancl/tenancy中自定義租戶數據庫連接使用Laravel多租戶擴展包stancl/tenancy構建多租戶應用時,...

LaravelEloquent模型檢索:輕鬆獲取數據庫數據EloquentORM提供了簡潔易懂的方式來操作數據庫。本文將詳細介紹各種Eloquent模型檢索技巧,助您高效地從數據庫中獲取數據。 1.獲取所有記錄使用all()方法可以獲取數據庫表中的所有記錄:useApp\Models\Post;$posts=Post::all();這將返回一個集合(Collection)。您可以使用foreach循環或其他集合方法訪問數據:foreach($postsas$post){echo$post->

在Laravel6項目中如何檢查Redis連接的有效性是一個常見的問題,特別是在項目依賴於Redis進行業務處理時。以下是...

Laravel數據庫遷移過程中出現類重複定義問題在使用Laravel框架進行數據庫遷移時,開發者可能會遇到“類已使用�...
