我正在使用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,
};
}
1条答案
按热度按时间368yc8dk1#
不,订阅
metadata
不会传播到生成的发票或这些发票中使用的付款意向。如果您希望在其中任何一个上使用metadata
,您需要设置一个流程,以使用您自己的代码更新它。例如,您可以使用webhook进行设置。您可以监听
invoice.paid
webhook,然后检索订阅以获取metadata
并更新与该发票相关的付款意向。