我正在从我的 API 取回发票,并且我注意到如果有 2 个整月的计费周期,一切都很好 - 但我总是得到一个开始/结束日期和创建日期相同的发票。
所以,我最终显示它并且它没有意义......即。
假设用户在 2016 年 7 月 19 日创建了一个帐户......对于其中一张发票(其他发票很好),我得到了这个。
amount: 0
billingDate:"2016-07-19T23:20:33.000Z"
endDate:"2016-07-19T23:20:33.000Z"
startDate:"2016-07-19T23:20:33.000Z"
Run Code Online (Sandbox Code Playgroud)
我应该如何处理这个问题,或者这是一个有效的回应?请记住,我的帐单是在 8 号。我只是有点害怕:-),如果开始/结束/创建日期都相同,则省略它。
事实上,stripe 文档说:
period_end:将发票项目添加到此发票的使用期限结束。
period_start:发票项目添加到此发票的使用期的开始时间。
所以它们根本不是订阅期。
要找到实际的订阅周期,如前面答案的评论中所述,我们需要过滤此发票的行项目。具体来说,我们需要非按比例分配的项目,因为这是描述正常订阅周期的项目。如:
find item in invoice.lines.data where item.proration==False
-> item.period.end
-> item.period.start
Run Code Online (Sandbox Code Playgroud)
如果没有订阅项目,就像我们配置的周期中期更改的情况一样pending_invoice_item_interval,任何项目的周期都可以,因为它们将属于当前正在修改的周期。
的current_period_end和current_period_start对应于发票期间。作为 Stripe 结束时的规则,发票总是针对“上一个”期间,而订阅的行项目总是针对新月份。
这意味着,如果您在当月 1 日订阅了月度订阅,则 11 月 1 日的发票将是 10 月 1 日至 11 月 1 日,而订阅的行项目将是 11 月 1 日至12 月 1 日。
第一张发票有一个例外。由于没有“过去”的发票,current_period_end并current_period_start会在这种情况下,并对应于订阅的创建日期等。
如果您要显示发票对应期间的日期,我建议您使用订阅的行项目期间。
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |