2016-03-06 36 views
1

我在Stripe中有现有客户,我们计划为客户添加订阅。首先,我想添加一个发票项目,以便订阅在创建时选择它并将其添加到待定发票。下面的代码按顺序运行,但是,条带中的发票项目显示为立即付款,而不是添加到订阅上的待定发票。文档说,据我所知,我认为它是正确的,任何想法为什么发票项目未添加到待定发票?条状发票商品未添加到待定发票

try { 
    \Stripe\InvoiceItem::create(
     array(
      "customer" => $customer['stripe_customer_id'], 
      "amount" => $invoice_item_amount, 
      "currency" => "usd", 
      "description" => $product['description'] 
     ) 
    ); 
} catch(Error $e) { 
    // do something 
} 

try { 
    $result = $stripe_customerObj->subscriptions->create(
     array(
      "coupon" => $coupon, 
      "plan"  => $plan_id, 
      "quantity" => $quantity, 
      "trial_end" => $trial_end_timestamp, 
      "metadata" => $metadata 
     ) 
    ); 
} catch(Error $e) { 
    // do something 
} 

它在我将InvoiceItem::create移到创建订阅后起作用。

回答

1

这是预期的行为。您创建的代码创建发票项目,然后通过试用订阅。该试用版将创建一个0美元的发票,该发票自动提取待开发的发票商品(包括您刚刚创建的发票商品)。例如,如果您想在试用期内收取费用,则可以使用此流程。

如果您希望将待处理的发票项目添加到下一张发票中,您应该在订阅后创建它。