【发布时间】:2017-07-03 05:42:21
【问题描述】:
我在使用新计划更新订阅时遇到了一些困难。 我正在尝试做的是以下内容:
检查订阅是否仍处于试用模式。获取 trial_end 时间戳
如果 trial_end 尚未发生。创建新计划。为客户订阅新计划。不要按比例分配任何东西。携带新计划的 trial_end。 (换句话说,在试用期结束之前不要向客户收费。)
如果 trial_end 已经通过,则创建新计划,将客户转入新计划。按比例分配新计划。携带下一个结算日期。 (再次表示,不要立即向客户收费,而是将按比例分配的金额添加到下一张发票中)
这是我目前的代码:
//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
【问题讨论】:
标签: php api stripe-payments subscriptions