Accept test payments on prod app

Topic summary

Main issue: App approval is blocked because the production app rejects test payments, but reviewers use test payments to change the pricing plan during review.

Current setup: Using Shopify Remix billing.check with isTest: false to verify active subscriptions and require real charges in production. A code snippet showing this check is central to understanding the problem.

Impact: Reviewers cannot change the pricing plan using test payments, leading to submission rejection despite the app intentionally disallowing test charges on prod.

Key questions raised:

  • Should isTest be set to true on production to allow test charges during review?
  • If so, how can the app detect whether a subscription/payment is test vs. real, since APP_SUBSCRIPTIONS_UPDATE does not expose this info?
  • Or should the app always allow isTest: true in production without differentiation?

Status: No resolution yet; seeking guidance on best practice for handling test charges in production and identifying test payments.

Summarized with AI on January 2. AI used: gpt-5.

Hi,
We have problem with approving our application. We are using latest remix-app-template, for checking current active subscriptions we are using https://shopify.dev/docs/api/shopify-app-remix/v2/apis/billing#billing-propertydetail-check

await billing.check({
    plans: [MONTHLY_PLAN],
    isTest: false,
  });

that’s how our code on prod looks like, but our submission is rejected because they cannot change pricing Plan. The reason of that is that they use test payments (even though we require not test payment during init of charge process), and we do not accept test payments on prod version (isTest: false).

So my questions:

  1. Should I set isTest: true on prod version?
  2. If yes, then how I can know that payment is “test” since webhook APP_SUBSCRIPTIONS_UPDATE does not provide any informations regarding type of payment (test or real)
  3. Or I should just use isTest:true on prod and that’s it?