我只是将我的项目更新为Laravel 5.2和Cashier 6.0
我已经按照文档添加了新的subscriptions
表,但是当我测试它时,Cashier不设置试用结束列。
在我的条纹计划中,我有14天的试用期,在我的条带帐户中,我可以看到,如果我今天添加新的客户,则第一个帐单将在14天后设置。
这是我的订阅代码:
// Create the user
$user = $this->create( $request->all() );
// Find the plan in the DB
$plan = Plan::find( $request->get( 'plan' ) );
// Charge the user ( 14 days trial )
$user->newSubscription( $plan->slug , $plan->stripe_id )->create( $request->get( 'stripeToken' ),
[
'email' => $request->get( 'email' ),
'description' => ''
] );
$plan->slug
是我与我的计划关联的名称,例如annual
,而$plan->stripe_id
与我在Stripe信息中心设置的名称相同。
如果我注册了新客户,则trials_ends_at
和ands_at
都已设置。
我做错了什么?
答案 0 :(得分:3)
我自己想通了。
新的Casher代码需要手动设置试用期:
trialDays($trialDays)
所以我的代码应该是:
$user->newSubscription( $plan->slug , $plan->stripe_id )->trialDays(14)->create( $request->get( 'stripeToken' ),
[
'email' => $request->get( 'email' ),
'description' => ''
] );