2017-09-27 8 views
1

ステータスをアクティブにしてトライアルすることはできますか? 次のコードはアクティブなサブスクリプションでも機能しますが、ステータスが「試行中」のデータを取得する必要があります。ストライプは、アクティブとトライアルを同時に行うことができますか?

$all_subs = \Stripe\Subscription::all(
        array(
          "plan" => $group_plan_id, 
          "status" => "active", 
          'limit' => 100 
         ) 

       ); 

答えて

0

具体的には「1つの...」と書かれているので、1通話につき1つのステータスしか選択できません。それぞれのステータスタイプで2つのコールを行うか、ステータス"all"を使用して、すべてのタイプを取得します(cancelled,past_due、およびunpaidを返す)。そして、不要なものを除外します。

$all_subs = \Stripe\Subscription::all(
      array(
       "plan" => $group_plan_id, 
       "status" => "all", 
       "limit" => 100 
      ) 
     ); 
$statuses = array('active','trialing'); 
foreach ($all_subs->data as $sub) { 
    if (!in_array($sub->status,$statuses)) { 
     continue; 
    } 

    // do some code here 
} 

出典:ヘルプ@spartacusためStripe API Reference

+0

感謝。 $ sub> statusは何を説明できますか? 私が知っている限り、$ all_subsはJSONで、$ statusesは配列です。他の解決方法はありますか? –

+0

私は実際に私の答えで間違いを犯しました。編集されました。 '$ all_subs'はPHP Stripeライブラリを使用しているため、JSONではなくPHPオブジェクトです。このオブジェクトには、いくつかのキーと値のペアが含まれ、サブスクリプションオブジェクトの配列が含まれます。その配列を '$ all_subs-> data'にループして、' $ sub> status'を使って各サブスクリプションのステータスを取得する必要があります。 – Spartacus

+0

ありがとうございます@spartacus。ゴッチャ –

関連する問題