.net 条带化优先订阅付款缺少 meta数据

qxsslcnc  于 2023-02-01  发布在  .NET
关注(0)|答案(1)|浏览(142)

我正在使用stripe API和.net创建订阅。
我的问题是,当我创建一个订阅 meta数据是保存在订阅而不是被保存在付款.有没有办法保存元数据在这第一订阅付款代替?
这就是我迄今所作的努力:

var subscriptionOptions = new SubscriptionCreateOptions
        {
            Customer = customerID,
            Items = new List<SubscriptionItemOptions>
            {
                new SubscriptionItemOptions
                {
                    Price = priceID,
                    Quantity = 1
                },
            },
            PaymentBehavior = "default_incomplete",
            Metadata = new Dictionary<string, string>
                {
                    { "id", "123"},
                    { "name", "david" },
                },
        };
        subscriptionOptions.AddExpand("latest_invoice.payment_intent");
        var subscriptionService = new SubscriptionService();
        try
        {
            Subscription subscription = await subscriptionService.CreateAsync(subscriptionOptions);

            return new SubscriptionCreateResponse
            {
                SubscriptionId = subscription.Id,
                ClientSecret = subscription.LatestInvoice.PaymentIntent.ClientSecret,
            };
        }
368yc8dk

368yc8dk1#

不,订阅metadata不会传播到生成的发票或这些发票中使用的付款意向。如果您希望在其中任何一个上使用metadata,您需要设置一个流程,以使用您自己的代码更新它。
例如,您可以使用webhook进行设置。您可以监听invoice.paid webhook,然后检索订阅以获取metadata并更新与该发票相关的付款意向。

相关问题