Stripe API. Net Основная проблема при отмене подписки. Подписка не найдена - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть подписки, хранящиеся в моей базе данных (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);
    }
...