我正在编写取消订阅的代码,因此以下是代码
var objSubscriptionService = new StripeSubscriptionService(stripekey);
objSubscriptionService.Cancel(ClientID, planId, true);
但我收到错误
消息"客户没有ID"
的订阅
但我的客户附有计划。我可以在条带仪表板上看到它。
此代码有什么问题?
答案 0 :(得分:0)
我认为您正在使用基于代码的Stripe.NET库。在这种情况下,要取消订阅,您需要在此处提供订阅ID sub_XXX
而不是计划ID,因为您可以在documentation
var subscriptionService = new StripeSubscriptionService();
subscriptionService.Cancel(*customerId*, *subscriptionId*); // optional cancelAtPeriodEnd flag
您可以在Customer对象上检索该订阅ID,或按照here所述列出所有客户的订阅:
var subscriptionService = new StripeSubscriptionService();
IEnumerable<StripeSubscription> response = customerService.List(*customerId*); // optional StripeListOptions