2014-10-02 46 views
2

我感到困惑出納/條紋訂閱如何與不卡了前面的試驗工作,無卡前面訂閱。 我已經在Stripe上設置了試用期並創建了計劃。 我已將無卡前置模型特徵設置爲false。開始使用Laravel出納及條紋

$user = User::find(1); 

// This doesn't seem to do anything. No sub created in Stripe. 

$user->subscription('yearly_uk'); 

// This throws an error as I am not passing through a card token. 

$user->subscription('yearly_uk')->create(); 

// This throws an nasty api error but strangely does create a customer in Stripe. 

$user->subscription('yearly_uk')->create(null); 

任何想法?

+1

我要回答我自己的問題,希望它能幫助別人。泰勒奧特威爾指出,你只需設置無卡預付費客戶的試用結束日期。在客戶付款之前,Stripe賬戶並不實際創建。 onTrial()函數只是檢查這個日期並作出相應的響應。 – Plasticated 2014-10-02 13:44:08

+0

我遇到了類似的問題。我正在嘗試從下個月的第一天起對Stripe進行收費。我已經這樣做了,所以收銀員將'trial_ends_at'字段設置爲正確的日期(下個月的第一天),但是即使將卡的前期特徵設置爲假,客戶仍然立即收費。你有什麼建議嗎? – 2014-10-27 11:57:04

回答

1

通過您的評論,看起來你已經回答了這一點,但對於未來的讀者,我遇到了類似的問題,用戶可以從幾個方案可供選擇,這一次是免費的。

要解決,添加到您的User型號:

protected $cardUpFront = false; 
protected $trial_ends_at = null; 

,那麼你可以訂閱用戶,但使用空令牌:

$user->subscription('yearly_uk')->create(null); 

我沒有檢查,但我相信它不會拋出相同類型的錯誤,如果/當你移動到付費計劃 - 即他們將能夠改變,但我會猜想Stripe會返回一個錯誤,因爲它會向用戶提供沒有信用卡細節的賬單。

0
 \Stripe\Stripe::setApiKey(env('STRIPE_SECRET')); 

    $user_id = Auth::user()->id; 
    $AuthUser = Auth::user(); 

    $stripe_plan = 'plan_CMFx07YJ96oL6h'; //Free stripe plan 

    $user = User::find($user_id); 
    $user->newSubscription('main',$stripe_plan)->create(null); 

    if($AuthUser->subscribed('main')){ 
     return redirect('subscription')->with('status','You are subscribed successfully.'); 
    } 
+0

它的工作,但當我更新任何計劃,然後它不會更新,我們必須創建一個新的訂閱。 – 2018-02-23 06:48:38