Description
Overview
https://shopify.dev/docs/api/shopify-app-remix/v2/apis/billing#example-check
Issue Summary
When calling the billing.check method in our Shopify Remix app, the response does not include trialDays in the appSubscriptions object. This is causing a critical blocker in our development since we have to make a separate GraphQL API call to fetch the missing data.
Code Snippet
const { hasActivePayment, appSubscriptions } = await billing.check({ plans: [MONTHLY_PLAN], isTest: false, }); console.log(hasActivePayment); console.log(appSubscriptions);
Expected Behavior
The response should include trialDays along with other subscription line items.
Actual Behavior
trialDays is missing from the response.
We are forced to make an additional GraphQL API request, which increases response time and causes multiple API calls.
This leads to hitting Shopify’s API rate limits, affecting the overall functionality of our app.
Impact
🚨 Critical blocker
Affects the efficiency of the app due to multiple API calls.
Increases latency and slows down the user experience.
May cause issues with Shopify's API rate limits.
Steps to Reproduce
Call billing.check with an active subscription.
Observe that the response does not include trialDays.
Compare the response with the expected subscription details.
Environment
Shopify App Type: Public app
Framework: Remix
Billing API: Shopify GraphQL
Issue Severity: Critical
Proposed Fix
The billing.check method should return trialDays as part of the appSubscriptions object.
If it's an intentional exclusion, provide an alternative way to retrieve trialDays without requiring a separate GraphQL call.
Additional Context
This issue severely impacts app-wide API efficiency and should be addressed urgently to optimize performance.