shopware/app-php-sdk
A PHP SDK for building Shopware apps. It handles app registration and lifecycle, webhook verification, HMAC request signing, and authenticated communication with the Shopware API, giving PHP developers ready-made tools for secure, reliable app development on the Shopware platform.
Architecture fit
shopware/app-php-sdk is a framework-agnostic toolkit for building the server side of a Shopware 6 app: signature verification, app registration/confirmation handshake, lifecycle event handling, webhook dispatch, Admin API client (OAuth client-credentials token handling), and payment/checkout endpoint contracts. In a Laravel context it is not a Laravel package — it is a domain library you host inside a Laravel application that acts as the app backend Shopware calls out to.ShopRepositoryInterface on Eloquent, and route/middleware on Laravel primitives. It is also the main cost — every integration is glue code we own.Integration feasibility
Psr\Http\Message\ServerRequestInterface and returns ResponseInterface, while Laravel uses Symfony HttpFoundation. Plan for symfony/psr-http-message-bridge + a PSR-17 factory (e.g., nyholm/psr7) at the edge of a dedicated route group.shopware-shop-signature header (HMAC-SHA256 of the raw body with the shop secret), and controllers for registration/confirmation, webhooks, and any payment/checkout verbs.Shopware/ module rather than scattered across controllers.Technical risk
shopware-app-signature rules).shopware/app-bundle; the framework-agnostic SDK is the lower-traffic sibling. Public examples, Stack Overflow answers, and community bug reports for Laravel wiring will be scarce.Key questions
Stack fit
Route::prefix('shopware') group excluded from session/CSRF, with one middleware doing signature verification and shop resolution, and one thin controller layer translating PSR-7 ↔ Laravel responses.ShopRepositoryInterface, HTTP client factories, context resolver) in a dedicated ShopwareServiceProvider. Nothing else in the app should import SDK namespaces, keeping blast radius small on upgrades.Migration path
shopware_shops, shopware_webhook_events), and queue connection. No changes to existing auth, session, or tenancy models — Shopware shops are a separate principal type and must not be conflated with our users.shopware/app-bundle there rather than running two integration styles.Compatibility
nyholm/psr7, and bridge versions in composer.json; add a CI job that runs the signature and registration contract tests against a recorded fixture set.composer why-not checks before any framework upgrade.Sequencing
Maintenance
Support
Scaling
Failure modes
Ramp-up
RegistrationService/WebhookHandler/SignatureService sources, and the Symfony bundle's implementation as a reference architecture (even though we are not using it).Recommendation: proceed only if Shopware 6 is a confirmed distribution channel and we accept owning Laravel glue indefinitely. Start with the 3–5 day spike in step 1 and gate further investment on a clean signature + registration round trip against a real Shopware instance. If the spike exposes friction or the repository activity cannot be verified, the fallback — implementing Shopware's documented signing/registration/webhook contract directly, without the SDK — is small enough that lock-in risk is manageable.
How can I help you explore Laravel packages today?