【问题标题】:How do you preview a proration using Stripe.NET?如何使用 Stripe.NET 预览按比例分配?
【发布时间】:2019-09-08 06:09:10
【问题描述】:

我正在遵循 Previewing Proration 上的 Stripe 文档中提供的示例,使用 Stripe.NET 库来尝试查找客户从计划 A 升级到计划 B 时将收取的金额。

但是,当我使用文档中的代码示例时,出现错误:

UpcomingInvoiceOptions options = new UpcomingInvoiceOptions()
{
    CustomerId = "cus_XXXXXXXXXXXXX",
    SubscriptionProrationDate = DateTime.UtcNow,
    SubscriptionItems = new List<InvoiceSubscriptionItemOptions>()
    {
        new InvoiceSubscriptionItemOptions()
        {
            Id = "si_XXXXXXXXXXXXXX", // Current Sub Item
            PlanId = "plan_XXXXXXXXXXXX" // New plan
        }
    }
};
InvoiceService service = new InvoiceService();
var result = service.Upcoming(options);

最后一行抛出 Stripe.StripeExceptionYou cannot update a subscription item without a subscription.

【问题讨论】:

    标签: c# stripe-payments


    【解决方案1】:

    如果您不先调用service.Get,那么options.SubscriptionId 是此操作的必填字段。

    以下代码产生正确的结果:

    UpcomingInvoiceOptions options = new UpcomingInvoiceOptions()
    {
        CustomerId = "cus_XXXXXXXXXXXXX",
        SubscriptionId = "sub_XXXXXXXXXXXX",
        SubscriptionProrationDate = DateTime.UtcNow,
        SubscriptionItems = new List<InvoiceSubscriptionItemOptions>()
        {
            new InvoiceSubscriptionItemOptions()
            {
                Id = "si_XXXXXXXXXXXXXX", // Current Sub Item
                PlanId = "plan_XXXXXXXXXXXX" // New plan
            }
        }
    };
    InvoiceService service = new InvoiceService();
    var result = service.Upcoming(options);
    

    【讨论】:

      猜你喜欢
      • 2021-07-02
      • 2021-04-15
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多