【问题标题】:Can Stripe have status as active and trialing at the same time?Stripe 是否可以同时处于活动状态和试用状态?
【发布时间】:2018-03-09 03:27:33
【问题描述】:

是否可以同时处于活动状态和试用状态? 以下代码适用于活动订阅,但我也想检索状态为“试用”的数据。

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

                );

【问题讨论】:

    标签: wordpress stripe-payments php-7


    【解决方案1】:

    文档特别说明了“其中一个...”,因此您每次通话只能选择一种状态。您需要对每种状态类型进行两次调用,或者使用状态 "all" 来获取所有类型(也将返回 cancelledpast_dueunpaid),然后过滤掉那些你不想要。

    $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
    }
    

    来源:Stripe API Reference

    【讨论】:

    • 感谢@spartacus 的帮助。你能解释一下 $sub->status 是做什么的吗?据我所知 $all_subs 是 JSON 而 $statuses 是数组。还有其他解决方案吗?
    • 其实我的回答有误。已编辑。 $all_subs,因为您使用的是 PHP Stripe 库,所以不是 JSON,而是 PHP 对象。该对象包含一些键/值对,然后是一个订阅对象数组。您需要遍历该数组,即$all_subs->data,然后使用$sub->status获取每个订阅的状态
    • 非常感谢@spartacus。明白了
    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 2011-01-17
    • 2012-03-06
    • 2016-09-30
    • 1970-01-01
    • 2020-01-11
    • 2016-01-10
    • 2019-12-10
    相关资源
    最近更新 更多