billing
Troubleshoot billing and entitlements
Learn how to troubleshoot billing and entitlements with a safe Juniper & Trail example, shopper impact, options, and recovery checks. If billing succeeds but a feature remains locked, confirm the correct shop, refresh the active subscription, and inspect entitlement status. Do not repeat hosted approvals while the prior change is pending.
Before you begin
- Shop-owner billing permission
- The feature and usage requirement
- Awareness that Shopify presents and confirms app charges
Confirm the shop, current status, and intended consequence before changing anything. Use read-only status, preview, or history evidence first.
Step-by-step setup

Review the Free plan limits and included capabilities.
Compare the Essential plan, price, limits, and support level.
Compare the Pro plan and its unlimited campaign capabilities.
Check current usage against lifetime campaign, product, and AI-credit limits.
- Open Settings Billing and Plans for the intended shop and confirm the current record and status.
- Check normalized plan, Active/Pending/Frozen/Declined/Expired/Cancelled status, test-charge badge, billing configuration, and current-period wording.
- Read the inline summary, warning, or preflight before submitting; do not repeat a command while background work is running.
- Refresh subscription sync before repeating hosted approval; a suspended/frozen plan must not display healthy entitlement.
- Confirm the resulting status and History/audit evidence, then spot-check Shopify or the storefront when the action has external effects.
If billing succeeds but a feature remains locked, confirm the correct shop, refresh the active subscription, and inspect entitlement status. Do not repeat hosted approvals while the prior change is pending.
Juniper & Trail example
Juniper & Trail checks whether troubleshoot billing and entitlements is needed for its planned recurring promotion and confirms current price and approval on Shopify's hosted billing page. The documentation fixture uses realistic products, inventory states, variants, collections, and protected exclusions so the preview exercises the same decisions as a merchant catalog.
What shoppers will see
Billing changes do not directly alter the storefront; avoid changing plans in a way that interrupts a scheduled feature without first reviewing its campaign. Check the relevant result from product through cart where applicable. For shopper-facing work, compare desktop and mobile and verify both an eligible and an ineligible item.
Common mistakes and troubleshooting
- Acting on the wrong shop. Confirm the Shopify store and campaign before following Troubleshoot billing and entitlements.
- Trusting a stale preview. Refresh after catalog, schedule, discount, theme, locale, or market changes.
- Repeating a background command. Read status and History first; retry only when Badgy presents a recoverable failure.
- Skipping the consequence check. Confirm what changes for shoppers and what the end or restore path will do.
If the status reports revoked authorization, reconnect Shopify before retrying. If the result still differs from the preview, preserve the campaign ID and approximate time, then open support from this identified shop. Never send customer data, access tokens, or full catalog exports in feedback.
Related guides
Options reference
| Option | Use it when | Consequence | | --- | --- | --- | | Pending | Approval/sync not complete | Wait/finish hosted flow | | Frozen | Paid plan suspended | Entitlements suspended | | Declined/Expired/Cancelled | Charge not active | Choose valid plan | | Billing unconfigured | Selection URL unavailable | Operator configuration required |
Badgy behavior in this guide is reviewed against the repository's shipped UI, service rules, and feature design documents. Shopify-owned theme, Markets, Flow, billing, and discount behavior can also depend on the store's Shopify configuration; consult the Shopify Help Center for that platform configuration.