Php 条带API订阅
我很难用新计划更新订阅。 我想做的是: 检查订阅是否仍处于试用模式。获取试用结束时间戳Php 条带API订阅,php,api,stripe-payments,subscriptions,Php,Api,Stripe Payments,Subscriptions,我很难用新计划更新订阅。 我想做的是: 检查订阅是否仍处于试用模式。获取试用结束时间戳 如果审判尚未结束。创建新计划。向客户订阅新计划。不要按比例分配任何东西。为新计划进行试验。(换句话说,在试用期结束之前不要向客户收费。) 如果试用结束已通过,则创建新计划,将客户分到新计划。按比例分配新计划。携带下一个账单日期。(也就是说,现在不向客户收费,而是将按比例的金额添加到下一张发票中) 以下是我目前掌握的代码: //CREATE NEW PLAN $plan = \Stripe\Plan::crea
//CREATE NEW PLAN
$plan = \Stripe\Plan::create(array(
"id" => $usremail.'_'.time(),
"name" => $usremail.'-'.time(),
"currency" => "usd",
"amount" => $totalamount,
"interval" => "month",
));
$planid = $plan->id;
$proration_date = time();
//UPDATE SUBSCRIPTION
$subscription = \Stripe\Subscription::retrieve($subid);
$subscription->plan = $planid;
$subscription->proration_date = $proration_date;
$subscription->save();
当我这样做时,如果客户正在试用订阅并注册一个新计划,订阅将变为活动,并立即向客户收取新计划的金额
我相信这是件容易的事,只是想不出来。
非常感谢您的帮助
T您将需要执行上一次订阅的
试用期
日期,并将其包含在您正在进行的更新呼叫中 thx@floatingLomas我现在已经把那个部分搞定了。如果试用期已经结束怎么办?我也需要带账单日期吗?或者stripe会通过我上面发布的更新来解决这个问题吗?此外,他们是否会将按比例计算添加到下一个计费日期?如果试用期已结束,您可以忽略试用期结束
值。如果按比例分配,则最终的计费日期将与您升级/降级的日期相同。这就是我目前掌握的情况:$planid=$plan->id;$proration_date=time();$subscription=\Stripe\subscription::retrieve($subid);$trial\u end=$subscription->trial\u end;$subscription->plan=$planid;if($subscription->trial\u end=$proration\u date;}否则{$subscription->trial\u end=$trial\u end;}/$subscription->proration\u date=$proration\u date;$subscription->trial\u end=$trial\u end;$subscription->save()
我能够确认,在试用期间,试用结束后是否能正常工作。仍在等待试用期结束后,是否将按比例分摊到下一个原始计费日期。我唯一担心的是,我不希望立即收取按比例分摊的费用