Skip to content

Billing Verification Checklist

Use this procedure before each submission or release to ensure the Shopify Billing integration behaves as expected.

Prerequisites

  • Development store with app installed.
  • Access to Shopify Admin as the store owner (required to approve charges).
  • Ensure deployment has NODE_ENV=production equivalent (test flag disabled) or temporarily override process.env.TEST_MODE to 0 for validation.

Subscription creation

  1. From the app, navigate to Usage and confirm subscription-required behavior is active (Upgrade/Manage plan CTAs route to billing).
  2. Click Upgrade → redirects to /app/billing.
  3. You should land on Shopify’s hosted Managed Pricing page for the app (top-level redirect).
  4. Select a plan (Starter / Standard / Advanced) and confirm the charge.
  5. Return to the app and verify Usage reflects the upgraded plan name and limits.
  6. In Shopify Admin → Settings → Billing → App and sales channel charges: verify the subscription entry exists.

Subscription cancellation

  1. In Shopify Admin → Settings → Billing → App charges, cancel the Bulk Product Editor subscription.
  2. Refresh the app and confirm subscription-required gating returns (redirect to billing or Upgrade CTA).
  3. Confirm /app/billing loader reflects no active subscription.

Usage gating

  1. With Starter plan active, run jobs until the cap is reached (or set cap low via /app/usage developer controls in staging).
  2. When cap exceeded, app redirect to Usage page with error banner and Upgrade button.
  3. After subscribing, attempt job creation again → succeeds without redirect.

Edge cases

  • Duplicate subscribe click: ensure mutation handles existing active subscription gracefully.
  • Billing confirmation URL missing: app redirects back to /app/billing without crashing.
  • Subscription cancellation via API/webhook: monitor app_subscriptions/update (optional) or re-run loader to pick up changes.

Document results (screenshots or notes) and attach to release checklist.