App reviews, troubleshooting, and recommendations
Hi there,
Everything works on dev but when Shopify Apps team tested my app, they are stuck in the billing page (it keeps looping again and again).
Here's my ensure billing middleware:
import express from "express"; import shopify from "../shopify.js"; export async function ensureBillingMiddleware( req: express.Request, res: express.Response, next: express.NextFunction ) { const session = res.locals.shopify.session const result = await ensureBilling(session) if (result.paymentUrl) { res.status(403); res.header("X-Shopify-API-Request-Failure-Reauthorize", "1"); res.header("X-Shopify-API-Request-Failure-Reauthorize-Url", result.paymentUrl); res.end(); return } next() } async function ensureBilling( session: any, isProdOverride = process.env.ENV === 'production' ) { let hasPayment = true; let confirmationUrl: string | null = null; if (shopify.api.config.billing) { hasPayment = await shopify.api.billing.check({ session, plans: Object.keys(shopify.api.config.billing), isTest: !isProdOverride, }); if (!hasPayment) { // Realistically, if there are more than one plan to choose from, you should redirect to // a page that allows the merchant to choose a plan. // For this example, we'll just redirect to the first plan confirmationUrl = await shopify.api.billing.request({ session, plan: Object.keys(shopify.api.config.billing)[0], isTest: !isProdOverride, }); } } return { hasPayment: hasPayment, paymentUrl: confirmationUrl }; }
app.use("/api/*", ensureBillingMiddleware)
Anyone faced the same issue?
Thanks!
I am having the same issues, did you manage to find a resolution?
Hi @yadsgroup - did you ever find a solution for this? Currently experiencing the same problem.
Transform this holiday season into a shopping spree. Plus, learn how to effortlessly open ...
By Jasonh Dec 8, 2023Make the shift from discounts to donations, and witness your business not only thrive fina...
By Holly Dec 4, 2023On our Shopify Expert Marketplace, you can find many trusted third party developers and fr...
By Arno Nov 27, 2023