statamic-rad-pack/shopify
Statamic addon that connects your Shopify store, imports products as Statamic entries, and keeps catalog data in sync so you can build fast, editable storefronts with Laravel and Statamic.
Architecture fit — This is a Statamic add-on (a Laravel package) that bridges a Statamic site to Shopify: catalog/product sync, order and customer ingestion, webhooks, and storefront/control-panel surfaces. It is not a general-purpose Laravel library, so fit is scoped to teams running Statamic 4/5 on Laravel 10/11. v8.0.0 replaces the underlying Shopify client with the official shopify/shopify-app-php package. Architecturally that is the right direction — it moves a bespoke HTTP/auth layer onto a vendor-maintained one — but it is a full replacement of the layer that handles credentials, request signing, and API transport, which is the riskiest part of an e-commerce integration.
Integration feasibility — Feasible for a standard deployment, but not a drop-in. The swap plausibly touches: how the API client/session is constructed, OAuth and session-token handling, webhook HMAC verification, config keys (config/shopify.php shape), and the namespaces of any classes the host app or custom add-ons extend. Whether it is a same-day upgrade or a multi-day project depends on how much custom code sits on top of the package's internals.
Technical risk — High-to-moderate. A major version bump combined with an SDK substitution is a textbook breaking change; semantic versioning here should be read literally. Specific risks:
shopify/shopify-app-php carries its own PHP and Guzzle/PSR constraints. Composer resolution against an existing Laravel/Statamic lockfile is a plausible blocker, especially with pinned Guzzle versions from other packages.Key questions
shopify/shopify-app-php version constraints, and does the lockfile resolve cleanly?Stack fit — Assumes PHP 8.1+ (likely 8.2+ given the official SDK), Laravel 10/11, Statamic 4/5, and a queue worker for sync jobs. Confirm before committing; a PHP floor bump alone can cascade into infrastructure changes.
Migration path — Treat as a planned upgrade, not a patch:
statamic-rad-pack/shopify to 8.0.0 in a staging environment with a non-production Shopify store.composer update statamic-rad-pack/shopify --with-dependencies and inspect the full dependency diff, not just the package line.7.13.1 retained as a rollback pin in the lockfile.Compatibility — Highest-risk areas are custom code extending package classes, custom webhook endpoints, and any stored credential format. Also check multi-site/multi-store installs and any cached config (config:cache) that would hold stale auth keys. Third-party add-ons depending on this package's internals may not yet declare v8 support.
Sequencing — Do the dependency resolution check first (cheap, can kill the project). Then auth/reinstall validation (this is where most teams get stuck). Then sync correctness, then throughput. Defer production cutover until webhook verification and at least one full product+order cycle have been observed end-to-end.
Maintenance — Net positive long-term: the official SDK absorbs Shopify API version churn, which is otherwise a recurring bespoke maintenance tax. The trade-off is a new upstream release cadence you don't control, and a second vendor to track for security advisories.
Support — Expect a support spike at rollout: users hitting re-authorization prompts, stale-credential errors, and "my products stopped syncing" reports that are actually auth failures. Pre-write the reinstall/re-auth runbook and a customer-facing note before shipping. Internal support familiarity with the official Shopify app model (OAuth, session tokens, embedded app expectations) is a prerequisite, not a nice-to-have.
Scaling — Re-verify rate-limit behavior and concurrency under the new transport. If the SDK introduces stricter or differently-shaped throttling, large catalogs may sync slower or need batch-size retuning. Queue-backed syncs should be load-tested at realistic catalog size rather than assumed equivalent to v7.
Failure modes
Ramp-up — Moderate. The package's own surface is small; the learning cost sits in the official Shopify app model and in the upgrade guide's gaps. Budget a day of engineering for the dependency + auth investigation, and a second for full-cycle validation in staging. If v8 ships without a migration guide, treat that absence itself as a risk signal and read the PR (#358) and CHANGELOG directly.
How can I help you explore Laravel packages today?