条纹发票项目未添加到待处理发票

Stripe invoice items not adding to pending invoice

我在 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 移动到创建订阅后时它起作用了。

这是预期的行为。您拥有的代码创建了一个发票项目,然后是一个带有试用版的订阅。该试用版创建了一张 0 美元的发票,该发票会自动提取待处理的发票项目,包括您刚刚创建的发票项目。如果您想在试用期内收取费用,这就是您要使用的流程。

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