0
私は、新しいプランでサブスクリプションを更新するのに少し苦労しています。 私がしようとしていることは次のとおりです:ストライプAPIサブスクリプション
サブスクリプションがトライアルモードであるかどうかを確認してください。 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
thx @floatingLomas私は今、その部分を稼働させました。試用期間がすでに終了している場合はどうなりますか?請求日も守る必要がありますか?または私が上に掲示した更新でストライプはそれを世話しますか?また、次の請求日にプリオレーションを追加しますか? – cnapsys
トライアルが終了した場合は、 'trial_end'値を無視できます。比例配分している場合は、アップグレード/ダウングレード元の請求日と同じ請求日になります。 – floatingLomas
これはこれまで私が持っているものです: '$ planid = $ plan-> id; \t \t $ proration_date = time(); \t \t \t $ subscription = \ Stripe \ Subscription :: retrieve($ subid); \t \t $ trial_end = $ subscription-> trial_end; \t \t $ subscription-> plan = $ planid; \t \t \t \t IF($ trial_end <時間()){ \t \t \t $ subscription-> proration_date = $ proration_date。 \t \t}他{ \t \t \t $ subscription-> trial_end = $ trial_end。 \t \t} \t \t \t \t // $ subscription-> proration_date = $ proration_date。 \t \t $ subscription-> trial_end = $ trial_end; \t \t $ subscription-> save(); ' – cnapsys