当有了模型实例,你可以很简单的处理客户订购的 Stripe 里的方案:
$user = User::find(1);
$user->subscription("monthly")->create($creditCardToken);
如果你想在建立订购的时候使用折价券,可以使用 withCoupon 方法:
$user->subscription("monthly")
->withCoupon("code")
->create($creditCardToken);
subscription 方法会自动建立与 Stripe 的交易,以及将 Stripe customer ID 和其他相关帐款信息更新到数据库。如果你的方案有在 Stripe 配置试用期,试用到日期也会自动记录起来。
如果你的方案有试用期间,但是没有在 Stripe 里配置,你必须在处理订购后手动保存试用到日期。
$user->trial_ends_at = Carbon::now()->addDays(14);
$user->save();
自定义额外用户详细数据
如果你想自定义额外的顾客详细数据,你可以将数据数组作为 create 方法的第二个参数传入:
$user->subscription("monthly")->create($creditCardToken, [
"email" => $email, "description" => "Our First Customer"
]);
想知道更多 Stripe 支持的额外字段,可以查看 Stripe 的在线文档 建立客户。