条纹:预览即将发布的发票以更新订阅

时间:2019-01-09 10:20:27

标签: php api stripe-invoices

在升级/降级订阅时,如何正确获取我要支付的即将到来的发票(账单大小)?因此,它将考虑已应用的优惠券,当前余额/信用(降级后)等。

尝试如下:

\Stripe\Invoice::upcoming([
    "customer" => $user->stripe_id,
    "subscription" => 'sub_XXXXXXXXXXX', // current user subscription (monthly)
    "subscription_prorate" => true,
    "subscription_items" => [
        ["plan" => "plan_XXXXXXXXXXX"] // plan for upgrade (annually)
    ]
]);

但是我收到“ Stripe \ Error \ InvalidRequest:此订阅的所有计划中的货币和时间间隔字段必须匹配。在时间间隔字段中发现不匹配。”
我了解自己错了,所以请告诉我该怎么做?

1 个答案:

答案 0 :(得分:0)

我最近在使用.NET客户端时遇到了类似的错误,并且可以肯定问题是相同的。如果要更新订阅计划,则它们必须全部具有相同的币种和间隔。例如,订阅不能在月度计划中包含一项,而在年度计划中包含另一项。如果要预览不同时间间隔的计划之间的切换,则必须明确删除旧计划。我的PHP生锈了,但是我猜是这样的:

"subscription_items" => [
    ["id" => "currentPlanId", deleted => true]
    ["plan" => "plan_XXXXXXXXXXX"] // plan for upgrade (annually)
]

查看条纹仪表板中的“更新订阅”表单有助于我更好地理解这一点。可以肯定的是,以前版本的API不能以这种方式工作。