Final scopes: read_orders, read_products, write_products — matches shopify.app.toml (3 scopes, no script_tags)
PASS
External Billing Disclosure
ShopifyInstall billing box (line 266): "Carbonaa does not charge recurring Shopify subscription fees." Terms §13A: confirmed live. ShopifyHome collapsible info: confirmed. Shopify Billing API NOT used — no RecurringApplicationCharge, no AppSubscription anywhere in codebase.
PASS
Shopify API Version (2026-07)
shopify.app.toml api_version = "2026-07". shopifyCallback, shopifyFixWebhooks all use /admin/api/2026-07/
PASS
App Name (Carbonaa Carbon Offsets)
shopify.app.toml name = "Carbonaa Carbon Offsets"
PASS
OAuth Installation
OAuth never completed
⚡ Fix: Install app
FAIL
Access Token Status
No installation record
⚡ Fix: Install app
FAIL
MerchantConfig Record
No canonical MerchantConfig (.myshopify.com)
⚡ Fix: Reinstall app
FAIL
Duplicate MerchantConfig Check
Cannot check without canonical config
WARN
PluginInstallation Record
No PluginInstallation record
⚡ Fix: Re-install at https://carbonaa.net/ShopifyInstall?shop=test-test-1-rvbm77uz.myshopify.com
FAIL
Carbon Offset Plan ID
Not set
⚡ Fix: Reinstall or run shopifyVerifyOffsetProduct
FAIL
Carbon Offset Variant ID
Not set
⚡ Fix: Reinstall or run shopifyVerifyOffsetProduct
FAIL
Webhook Registration
Registered at install: orders/create, orders/cancelled, refunds/create, plans/create, plans/update, app/uninstalled