this is my graphql query for fetching user active sub:
query sub {
appInstallation {
activeSubscriptions {
id
status
name
currentPeriodEnd
createdAt
test
trialDays
lineItems {
id
plan {
pricingDetails {
__typename
... on AppRecurringPricing {
interval
planHandle
price {
amount
currencyCode
}
}
... on AppUsagePricing {
balanceUsed {
amount
currencyCode
}
cappedAmount {
amount
currencyCode
}
interval
terms
}
}
}
}
}
}
}
But for the test store, I found that it returned some very strange results.
{
"createdAt": "2025-03-28T05:08:51Z",
"currentPeriodEnd": "2025-04-27T05:08:57Z",
"id": "gid://shopify/AppSubscription/xxx",
"lineItems": [
{
"id": "gid://shopify/AppSubscriptionLineItem/xxx?v=1&index=0",
"plan": {
"pricingDetails": {
"__typename": "AppRecurringPricing",
"discount": null,
"interval": "EVERY_30_DAYS",
"planHandle": null,
"price": { "amount": 129.0, "currencyCode": "USD" }
}
},
"usageRecords": null
}
],
"name": "xxx",
"returnUrl": null,
"status": "ACTIVE",
"test": true,
"trialDays": 0
}
I found that it returned a plan with an active status, and the subscription status is also active, but the currentPeriodEnd is a past date.
It looks like it only took effect for one period. I’m not sure if this is the case for official merchants as well.
Is this normal?
I guess that this date might require a real order to trigger an update, but since the test store does not have any subsequent transactions, this causes the date in the test store to not work properly?