目錄
>條紋計費過程
>註冊頁:
>升級頁面:
帖子頁面:
laravel收銀員是一個有力的工具,可以簡化管理訂閱賬單的過程。它為Stripe和Braintree的訂閱計費服務提供了一種表現力,流利的界面。它處理您正在恐懼寫作的幾乎所有樣板訂閱計費代碼。 Laravel收銀員可以處理優惠券,交換訂閱,訂閱“數量”,取消寬限期,甚至生成發票PDFS。 'LL需要創建一個條紋帳戶並通過作曲家安裝收銀員包。您還需要將可計費特徵添加到您的模型定義中 - 此特徵提供了各種方法,以允許您執行常見的計費任務,例如創建訂閱,應用優惠券和更新卡信息。我將Laravel收銀員集成到我現有的Laravel項目中?
Laravel Abasier具有內置功能來處理失敗的付款。如果付款失敗,收銀員將自動重試付款。如果付款繼續失敗,則將取消訂閱。但是,您也可以通過聆聽相關事件並採取適當的措施來手動處理這些事件。
>
>如何使用Laravel收銀員生成發票?您可以通過在發票實例上調用下載方法來訪問發票的可下載PDF版本,它將將PDF寫入磁盤或將其流式傳輸到瀏覽器中。
>我如何處理Laravel Abasier的訂閱數量?
首頁 後端開發 php教程 Laravel收銀員的會員資格

Laravel收銀員的會員資格

Feb 21, 2025 am 11:34 AM

Laravel收銀員的會員資格

在本教程中,我們將看到使用Laravel Araver套餐創建基本付費會員網站的容易。您可以在此處查看該應用程序的演示,然後在此處下載源代碼。

>

鑰匙要點

    Laravel收銀員通過管理訂閱賬單,處理優惠券,交換訂閱,取消寬限期和生成發票PDFS來簡化基本付費會員網站的創建。
  • >
  • >要將Laravel收銀員集成到現有的Laravel項目中,通過作曲家安裝包裹,運行遷移以在用戶表中添加必要的列,設置API鍵,然後將計費性狀添加到模型中。 Laravel Abasier可以通過自動重試付款來處理失敗的付款。如果付款繼續失敗,則將取消訂閱。
  • > Laravel Abasier目前僅支持Stripe和Braintree,但可以擴展到與其他付款網關合作,並以良好的了解Laravel和付款網關的API。
  • 設置工作環境
  • 我們需要創建一個佈置項目才能開始,我們可以通過兩種不同的方式來做:>

我們可以克隆github repo到我們的項目文件夾。 >

>假設您已經安裝了作曲家(請查看安裝指南以獲取更多詳細信息)。

我們運行作曲家create-project laravel/laravel laravel_membership-首發,這將在我們的laravel_membership文件夾中創建一個laravel樣板項目。

  • >現在,我們需要通過將“ Laravel/Cashier”:“ 〜1.0”添加到我們的Composer.json上的“要求”部分和運行作曲家更新以更新我們的依賴項,從而需要Laravel收銀員包。 之後,我們需要告訴我們的應用程序加載收銀員服務提供商類。我們可以通過在config/app.php文件上的提供商數組中添加“ LaravelCashierCashierServiceProvider”來做到這一點。
  • 注意:您必須運行Composer dump-autoload才能更新Classmap軟件包。

  • >使用遷移創建數據庫
如果您不熟悉Laravel遷移,請務必檢查文檔。

我們將使用兩個表:

帖子表:

- int id

- 字符串標題

- long_text內容

- bool is_premium

>用戶表:
- int id

- Varchar(60)電子郵件

- varchar(60)密碼

Laravel Artisan命令行工具使創建和管理遷移類都很容易。

>然後我們填充schema ::創建回調函數參數,並帶有看起來像

的必要代碼


要讓Laravel Cashier知道我們的可計費表,我們需要為此創建一個特定的遷移。 Laravel Cashier為此目的具有內置命令。

現在,我們準備遷移我們的數據庫

<span>php artisan migrate:make create_posts_table --create="posts"
</span><span>
</span><span>php artisan migrate:make create_users_table --create="users"</span>
登入後複製
登入後複製
登入後複製

如果打開用戶表,則在執行軟件包遷移時會看到一堆字段。
- Stripe_active如果您有活動訂閱。
- Stripe_ID用戶ID上的Stripe Server上。
- Stripe_plan Stripe訂閱計劃。
- last_four信用卡最後四位數。
- 如果您指定試用期,則存儲結束日期。
- subscription_ends_at subscription結束日期。

>現在,我們將使用一些虛擬數據播種數據庫來開始。檢查github上的最終結果。

>條紋計費過程

處理付款可能會很痛苦,條紋可以幫助您,他們使用令牌代替卡號等。 。

>注意:檢查您所在國家是否支持條紋,但您仍然可以使用它進行測試。

>

要開始,我們需要先獲取一個帳戶。 Stripe沒有訂閱的月費,只有在獲得付款時付款。

>

現在,在獲得帳戶後,您需要為您的申請創建計劃(每月,每年,銀,金…)。

>

Laravel收銀員的會員資格

>每個領域都是自我解釋的,因此讓我們創建一個金色會員資格,價格為40美元,基本會員資格為10美元。他們每月都會被收費。

>我們已經在用戶表中添加了必要的列,現在我們需要讓Laravel Cashier知道我們將使用用戶類用作計費類。

<span>Schema::create('posts', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('title');
</span><span>    $table->longText('content');
</span><span>    $table->boolean("is_premium");
</span><span>    $table->timestamps();
</span><span>});
</span><span>
</span><span>Schema::create('users', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('email', 100)->unique();
</span><span>    $table->string('password', 60);
</span><span>    $table->timestamps();
</span><span>});</span>
登入後複製
登入後複製
登入後複製
注意:我們使用的是Billabretrait,並且特質需要5.4或更高的php。

>現在,我們必須設置Stripe API訪問密鑰,您可以從帳戶>帳戶設置> API鍵中獲取並複制測試秘密密鑰。

>

Laravel收銀員的會員資格>通過使用BillabRetrait,我們可以訪問用戶:: setStripekey(鍵)方法,該方法可以在我們的代碼中的任何地方稱為,但是首選的方法是在您的配置目錄下創建一個services.php文件,然後返回像這:

> GetStripeKey嘗試加載鑰匙時,它將尋找一個稱為StripeKey的屬性。如果找不到的話,它將自動加載您的服務文件。
<span>php artisan cashier:table users</span>
登入後複製
登入後複製
登入後複製

創建我們的頁面

為了使事情變得簡單,我們將僅創建幾頁: - 註冊:用戶可以使用會員計劃(基本,黃金)註冊的地方。

- 登錄:會員登錄頁面。

- 升級:從基本會員升級到黃金會員資格。
- 帖子:顯示一個帖子頁面。
為了加快流程,我們將使用Bootsnipp。您可以從github存儲庫中獲取最終代碼。

登錄頁面:

登錄頁面具有一個基本的電子郵件和密碼字段,帶有登錄控制器頁面,看起來像這樣:

<span>php artisan migrate:make create_posts_table --create="posts"
</span><span>
</span><span>php artisan migrate:make create_users_table --create="users"</span>
登入後複製
登入後複製
登入後複製

>註冊頁:

Laravel收銀員的會員資格

>註冊頁面具有用於分配用戶計劃的訂閱計劃字段。
我們還有一個信用卡號,到期日期,CVC。 正如我們之前所說的,我們將永遠不必處理任何付款或驗證過程,我們將這些值傳遞給Stripe Server以照顧充電和驗證過程。

返回值是成功的令牌,否則我們會收到一條錯誤消息,我們可以向用戶顯示。

>讓我們看看前端代碼的外觀:

首先,我們包括JavaScript API文件,然後我們設置了我們從Stripe儀表板設置中獲取的公共密鑰。

<span>Schema::create('posts', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('title');
</span><span>    $table->longText('content');
</span><span>    $table->boolean("is_premium");
</span><span>    $table->timestamps();
</span><span>});
</span><span>
</span><span>Schema::create('users', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('email', 100)->unique();
</span><span>    $table->string('password', 60);
</span><span>    $table->timestamps();
</span><span>});</span>
登入後複製
登入後複製
登入後複製
接下來,我們將回調函數附加到我們的提交表單(請確保您的表單ID匹配事件處理程序上使用的表單),以防止雙重提交我們禁用提交按鈕。

stripe.card.createToken接受兩個參數,第一個是JSON對象,具有一些必需和可選的值。 >

必需的值:


>數字:卡號作為沒有任何分離器的字符串。

> exp_month:代表卡的到期月的兩個數字編號。
    >
  • exp_year:代表卡的到期年度的兩個或四位數編號。
  • >可選值:
> CVC:卡安全碼作為字符串,CVC編號是可選的,但建議有助於防止欺詐。 >

>名稱:持卡人名稱。

    adversion_line1:帳單地址行1.
  • adversion_line2:計費地址行2。
  • adversion_city:帳單地址城市。
  • address_state:計費地址狀態。
  • advelly_zip:按zip為字符串。
  • >
  • adversion_country:帳單地址國家。
  • 您可以注意到,我們正在傳遞表單對象而不是JSON對象,您可以選擇手動捕獲值或在輸入上使用數據 - 條紋HTML5屬性,而條紋將使用一些幫助者方法自動為您獲取這些值。例如:
  • 第二個參數傳遞給stripe.card.createToken方法是一個回調函數,可以處理響應。
  • >如果失敗,脫衣舞索Handler將嘗試找到一個帶有一類peays_errors的元素,以向用戶顯示一些描述性錯誤。
如果成功,將將隱藏輸入的隱藏輸入附加到表格中,並將在提交中提供。 >
<span>php artisan cashier:table users</span>
登入後複製
登入後複製
登入後複製
其他選項

>試驗期:正如我們之前說的,當您創建一個新計劃時,您可以選擇指定試用期供用戶測試您的產品,直到指定期限經過。
>優惠券:您可以通過儀表板菜單創建優惠券,您可以在其中指定固定金額或通過百分比,並提供其他一些有用的選項。

>

現在,讓我們轉到我們的IngeupController,看看我們將如何處理。
<span>php artisan migrate:make create_posts_table --create="posts"
</span><span>
</span><span>php artisan migrate:make create_users_table --create="users"</span>
登入後複製
登入後複製
登入後複製

我們將跳過驗證過程以保持簡單。

>

創建新用戶並保存它後,我們現在可以選擇將用戶訂閱為新的會員計劃。訂閱方法接受已經註冊的計劃作為一個參數,可以是planInterface或字符串並返回條紋egateway。
創建方法接受令牌作為參數;我們通過名稱exteToken的新隱藏輸入值。

>升級頁面:

Laravel收銀員的會員資格

升級頁面將提交給看起來像這樣的升級器:

>
<span>Schema::create('posts', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('title');
</span><span>    $table->longText('content');
</span><span>    $table->boolean("is_premium");
</span><span>    $table->timestamps();
</span><span>});
</span><span>
</span><span>Schema::create('users', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('email', 100)->unique();
</span><span>    $table->string('password', 60);
</span><span>    $table->timestamps();
</span><span>});</span>
登入後複製
登入後複製
登入後複製

>我們檢查用戶是否首先登錄,然後我們使用新計劃創建一個新訂閱,我們稱之為交換方法,顯然在一個真實的項目中,您將有一些費用調整和降級選項,但它應該有效同樣的方式。

帖子頁面:

Laravel收銀員的會員資格

> PostController檢查帖子IS_Premium是否,如果是的,我們測試用戶是否是可以看到帖子的黃金成員,否則我們會返回一個簡單的錯誤消息。

當然,在我們的routes.php文件中,我們需要添加一個驗證過濾器,以防止未身份驗證的用戶訪問頁面。
<span>php artisan cashier:table users</span>
登入後複製
登入後複製
登入後複製
我們的路線文件看起來像這樣:


其他有用的方法
<span>php artisan migrate</span>
登入後複製

> withCoupon:我們之前說過,我們有可能創建折扣優惠券,在我們的示例中,我們可以這樣做:
<span>use Laravel\Cashier\BillableInterface;
</span><span>use Laravel\Cashier\BillableTrait;
</span><span>
</span><span>class User extends Eloquent implements BillableInterface {
</span><span>
</span><span>    use BillableTrait;
</span><span>    protected $dates = ['trial_ends_at', 'subscription_ends_at'];</span>
登入後複製
取消:您可以使用此方法輕鬆地取消訂閱,但是您必須檢查用戶是否ongraceperiod才能確保不會立即阻止它們:
<span>return [
</span><span>    'stripe' => [
</span><span>            'secret'    => 'Your key'
</span><span>        ]
</span><span>];</span>
登入後複製
ONPLAN:查看用戶是否在某個計劃中。
    trial:查看用戶是否仍在試用期。
  • >
  • 取消:如果用戶已取消其訂閱。 >
  • getlastfourcarddigits:獲取用戶卡的最後四位數。
  • >
  • > getSubscriptionEndDate:獲取訂閱結束日期。
  • >
  • getTrialendDate:獲取試用日期。
  • >發票:獲取用戶發票的列表。
  • findInvoice:通過ID查找發票。
  • > downloadinvoice:通過ID生成可下載的發票
  • 結論
  • 在本教程中,我們探討了Laravel Abasier如何緩解計費過程並幫助您更輕鬆地管理客戶。
  • >我們當然沒有在這裡介紹所有內容,但是這是您挖掘源代碼以探索您還能做什麼的開始。如果您想查看此應用程序的一硝基託管演示,請參見此處。
>

關於Laravel Asasier會員資格的常見問題(常見問題解答) Laravel收銀員如何處理訂閱賬單?

laravel收銀員是一個有力的工具,可以簡化管理訂閱賬單的過程。它為Stripe和Braintree的訂閱計費服務提供了一種表現力,流利的界面。它處理您正在恐懼寫作的幾乎所有樣板訂閱計費代碼。 Laravel收銀員可以處理優惠券,交換訂閱,訂閱“數量”,取消寬限期,甚至生成發票PDFS。 'LL需要創建一個條紋帳戶並通過作曲家安裝收銀員包。您還需要將可計費特徵添加到您的模型定義中 - 此特徵提供了各種方法,以允許您執行常見的計費任務,例如創建訂閱,應用優惠券和更新卡信息。我將Laravel收銀員集成到我現有的Laravel項目中?

>將Laravel Cashier整合到您現有的Laravel項目中很簡單。首先,您需要通過作曲家安裝軟件包。然後,您需要通過運行遷移來準備數據庫,該遷移將幾列添加到您的用戶表中。之後,您需要設置API鍵,並將可計費性狀添加到模型中。最後,您可以使用可計費特徵提供的各種方法來管理您的訂閱。

Laravel Abasier處理失敗的付款方式如何?

Laravel Abasier具有內置功能來處理失敗的付款。如果付款失敗,收銀員將自動重試付款。如果付款繼續失敗,則將取消訂閱。但是,您也可以通過聆聽相關事件並採取適當的措施來手動處理這些事件。

>我可以與其他付款網關一起使用Laravel Abasier嗎?

>

>

>當前,Laravel Cashier僅支持Stripe和Stripe腦溪。但是,如果您願意,您可以將收銀員擴展到與其他付款網關合作。這將需要對Laravel和付款網關的API進行充分的了解。

>我如何使用Laravel Abasier取消訂閱?

>您可以使用用戶訂閱上的CANCAL取消訂閱來取消訂閱。當取消訂閱時,收銀員將自動將訂閱的結束日期設置為當前計費周期的結束。

>我可以提供Laravel Abasier的試用期嗎?支持試用期。您可以在創建訂閱時設置試用期。在試用期結束之前,將不會向用戶收費。

>如何使用Laravel收銀員生成發票?您可以通過在發票實例上調用下載方法來訪問發票的可下載PDF版本,它將將PDF寫入磁盤或將其流式傳輸到瀏覽器中。

我可以使用Laravel Cashier將優惠券應用於訂閱中嗎?是的,Laravel Cashier支持將優惠券應用於訂閱。您可以在創建新的訂閱時使用withCoupon方法來執行此操作。

>我如何處理Laravel Abasier的訂閱數量?

Laravel Aravel Cashier允許您處理訂閱數量,這可以有用用於“每個座位”類型訂閱。您可以在訂閱實例上使用updateQuantity方法更新訂閱的數量。

>

以上是Laravel收銀員的會員資格的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? 說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

See all articles