У меня есть подписки, хранящиеся в моей базе данных (user_ids, sub_id, дата создания и т. Д. c), и когда я хочу отменить любую из них, сервер выдает исключение StripeException, сообщающее мне, что подписка не существует: "(ex : sub_123) ".
Это метод отмены подписки:
public async Task CancelSubscription(string subscriptionId, int prorateUsage, string apiKey)
{
StripeConfiguration.ApiKey = apiKey;
var service = new SubscriptionService();
var subs = await GetSubscriptionById(subscriptionId, apiKey);
var subsItem = subs?.Items.FirstOrDefault();
if (subsItem != null)
{
await ReportUsage(subsItem.Id, prorateUsage, apiKey);
await service.CancelAsync(subscriptionId, new SubscriptionCancelOptions
{
InvoiceNow = true,
Prorate = false
});
}
}
В любом случае, как я его называю, он застревает на
var subs = await GetSubscriptionById(subscriptionId,apiKey);
, и я попытался удалить эти строки и жёсткое кодирование идентификаторов в параметрах, но это все равно не будет работать. Вот как я пытаюсь это назвать.
await stripePayment.CancelSubscription(subID,1, apiKey);
Метод GetSubscriptionById:
public async Task<Subscription> GetSubscriptionById(string subscriptionId, string apiKey)
{
StripeConfiguration.ApiKey = apiKey;
var service = new SubscriptionService();
return await service.GetAsync(subscriptionId);
}