Update subscription cancellation logic

The previous implementation attempted to cancel a subscription without checking its status. This commit adds a check to see if the subscription is already cancelled before attempting to cancel it, avoiding unnecessary cancellation requests. This improves the efficiency and reliability of the subscription management process.
This commit is contained in:
gbuomprisco
2024-07-14 11:05:18 +08:00
parent f48c6993dd
commit 837a0bb02e

View File

@@ -23,7 +23,14 @@ class BillingWebhooksService {
async handleSubscriptionDeletedWebhook(subscription: Subscription) {
const gateway = createBillingGatewayService(subscription.billing_provider);
await gateway.cancelSubscription({
const subscriptionData = await gateway.getSubscription(subscription.id);
const isCanceled = subscriptionData.status === 'canceled';
if (isCanceled) {
return;
}
return gateway.cancelSubscription({
subscriptionId: subscription.id,
});
}