INNER CODE UNIT · JavaScript

updateSubscriptionState

adeekshith/watomatic · functions/index.js:1104

async function updateSubscriptionState(userId, purchaseToken, subscription, notificationType, eventTimeMillis = null, source = 'rtdn') {
    const lineItem = subscription.lineItems?.[0];
    if (!lineItem) {
        logger.warn('No line items in subscription', { userId });
        return;
    }

    const expiryTime = lineItem.expiryTime ? new Date(lineItem.expiryTime).getTime() : 0;
    const productId = lineItem.productId;
    const basePlanId = lineItem.offerDetails?.basePlanId;
    const subscriptionState = subscription.subscriptionState;

    // Determine if subscription is active
    const activeStates = [
        'SUBSCRIPTION_STATE_ACTIVE',
        'SUBSCRIPTION_STATE_IN_GRACE_PERIOD',
    ];
    const isActive = activeStates.includes(subscriptionState) && expiryTime > Date.now();

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…