Hi
I am using managed pricing for the billing. Currently what is happening the user installs app and is redirected to the pricing page hosted by shopify from there they approve payment and have the access of app.The issue i am facing is the charges are not showing in the billing section. And the only place they are showing it is as upcoming charges even if i removed free trial
in the events we can see that subscription is charged
but as u can see below it is not added in shopify bill due to which it wont be deducted after the cycle
when clicked on view charge table only then charges show but as upcoming but it showing be deducted or atleast added in bill cause date have passed and client appved
i cannot figure this issue out i dont know what seem to be the issue
the below is the loader code that checks that if sub
export const loader = async ({ request }) => {
const { session, admin } = await authenticate.admin(request);
if (!session) {
throw new Response("Unauthorized", { status: 401 });
}
const url = new URL(request.url);
const host = url.searchParams.get(“host”);
if (!host) {
return redirect(
\`https://${session.shop}/admin/apps/${process.env.SHOPIFY_API_KEY}\`,
);
}
let hasActivePayment = false;
let subscriptionDetails = null;
try {
const response = await admin.graphql(\`
query {
appInstallation {
activeSubscriptions {
name
status
trialDays
currentPeriodEnd
}
}
}
\`);
if (response && response.status === 200) {
const data = await response.json();
if (data && data.data && data.data.appInstallation) {
subscriptionDetails = data.data.appInstallation.activeSubscriptions;
hasActivePayment =
subscriptionDetails &&
subscriptionDetails.length > 0 &&
subscriptionDetails.some(
(sub) =>
sub.status === "ACTIVE" ||
sub.status === "ACCEPTED" ||
sub.status === "PENDING" ||
sub.trialDays > 0,
);
}
}
} catch (error) {
console.log("Error checking subscription:", error);
hasActivePayment = false;
}
return {
apiKey: process.env.SHOPIFY_API_KEY || "",
host,
hasActivePayment,
subscriptionDetails,
shopName: session.shop.replace(".myshopify.com", ""),
// appHandle: "sale-app2-1",
appHandle: process.env.APP_HANDLE
};
};
as we know managed pricing itself managed the billing logic



