如何从“试用期”中重命名Stripe订阅发票行项目的描述

时间:2019-07-04 10:04:35

标签: ruby stripe-payments

我有一个计划,可以为其生成带有试用期的订阅。

在此试用期内,Stripe生成的订单项为0 $的发票, 的试用期为 description 。我想重命名此描述,因为我的客户是法国人(而且您知道,我们法国人的英语说得不太好,但这是另一回事了。)

当我尝试更新商品说明时

Stripe::InvoiceItem.update("sli_xyz",
                           { description: "Essai..." })

我遇到错误Stripe::InvalidRequestError: When passing an invoice's line item id, you may only update tax_rates.

我也不能删除此类订单项,因为这是一个订阅项,我也无法删除说明。

我在这里想念什么?有办法解决吗?

1 个答案:

答案 0 :(得分:1)

这里有两个Stripe概念:InvoiceInvoiceItem

InvoiceItem本质上是要招标的单个项目/服务的行项目。 Invoice可以包含许多InvoiceItem。假设Invoice是完整收据,而InvoiceItem是单个杂货。

通常,您可以在附加到InvoiceItem之前更新Invoice,也可以在附加Invoice后再更新description(在此之前,也可以通过{客户)。

条带不允许您更新已关闭/最终确定的InvoiceItem中的description,因为作为商家,发票是您向客户出售(和接收)商品的记录,并且一旦客户支付了发票,您就无法更改。

想象一下,如果您的发票原本是50杯啤酒,但是在他们付款之后,您决定更新发票说5杯啤酒!这对您的客户有多公平?

您唯一的解决方案是在为以后的发票开具发票之前,确保为法国客户正确定义InvoiceItem的法语。

无法解决过去#include <map> template <typename K, typename V> using Map = std::map<K, V>; using String = std::string; using ParameterMap = Map<String, String>; ParameterMap someFunc(); 个问题。