在Stripe

问题描述

我正在制作一个电子商务Web应用程序,用户可以通过stripe购买物理产品,并且用户可以订阅Lite,Premium,Standard等不同的计划。

案例1:对于实际产品的结帐,我使用:

stripe.charges.create()

情况2:对于订阅,我使用:

stripe.subscriptions.create()

我要使用的是检索仅结帐费用的列表(通过情况1,而不是情况2)

stripe.charges.list()

但是它会检索所有不需要的费用,包括不需要的订阅

如何获得所有属于非订阅费用的费用,Stripe中是否有可用的过滤器,或者有其他替代方法可用?

解决方法

不幸的是,List Charges API没有任何可用于指定只需要与发票关联的费用的参数:

https://stripe.com/docs/api/charges/list

尽管如此,您可以列出给定窗口中的所有费用并手动过滤它们。与订阅相关的任何费用都将填充其invoice字段:

https://stripe.com/docs/api/charges/object#charge_object-invoice

也就是说,如果费用链接到发票,则它(最有可能)来自订阅。否则,这是对实物产品的收费。当然,这是假定您不是手动创建一次性发票。