Download the PHP package acefolio/laravel-shopify without Composer
On this page you can find all versions of the php package acefolio/laravel-shopify. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download acefolio/laravel-shopify
More information about acefolio/laravel-shopify
Files in acefolio/laravel-shopify
Package laravel-shopify
Short Description A comprehensive Laravel package replicating Shopify CLI core functionality with App Bridge 4 and Token Exchange support.
License MIT
Informations about the package laravel-shopify
Laravel Shopify App
A comprehensive Laravel package that replicates the core functionality of the Shopify CLI (Node/Remix version). Handles the entire Shopify app lifecycle within the Laravel framework, adhering to 2026 Shopify standards — App Bridge 4 and Token Exchange.
Requirements
- PHP 8.2+
- Laravel 10 or 11
- Shopify Partner Account
Installation
Publish Assets
Run Migrations
Configuration
Add these to your .env file:
See config/shopify-app.php for all available options.
Authentication & Session Management
Token Exchange (No OAuth Redirects)
This package uses Shopify's Token Exchange flow — the 2026 standard that replaces legacy OAuth redirect loops. The frontend obtains a session token from App Bridge, and the backend exchanges it for an access token.
No redirect pages, no flashing, no auth callback routes needed for the primary flow.
Middleware
verify.shopify
Validates the session token from the Authorization: Bearer header, performs token exchange or refresh as needed, and binds the shop context to the request.
Access the shop context in your controllers:
verify.billing
Checks for an active billing plan. If none exists, returns a 402 with the App Bridge redirect header pointing to Shopify's checkout page.
verify.webhook.hmac
Validates the HMAC signature on incoming Shopify webhooks.
verify.app.proxy
Validates the signature on Shopify App Proxy requests.
Expiring Offline Access Tokens
The package fully supports Shopify's expiring offline tokens with automatic refresh token rotation. When a token is about to expire (within the configurable buffer window), the middleware automatically refreshes it.
Artisan Commands
shopify:app:dev
Start a full development environment — tunnel, app URL update, Laravel server, and Vite dev server.
shopify:app:deploy
Bundle assets, optimize Laravel, and prepare for production.
shopify:generate:webhook
Scaffold a webhook Job class and register it in the config.
shopify:generate:extension
Scaffold Theme App Extensions or UI Extensions.
API Client
GraphQL Client (with Leaky Bucket Rate Limiting)
REST Client
Facade
Both clients implement the Leaky Bucket algorithm for automatic rate-limit handling with configurable retry logic.
Billing
Configuration
Programmatic Usage
App Bridge Redirect Pattern
All billing redirects use the Link header pattern for App Bridge iframe breakout:
Webhooks
Declarative Registration
Webhooks are automatically registered with Shopify when a shop installs your app.
Webhook Jobs
Generated job:
CSRF Exemption
Add the webhook path to your VerifyCsrfToken middleware exceptions:
Frontend Integration
Blade Layout (App Bridge 4)
React/Inertia Layout
Use the React-optimized layout:
Add the Inertia data-sharing middleware to your stack:
Vite Plugin
Publish and use the included Vite plugin:
The plugin automatically:
- Injects the App Bridge 4 CDN script
- Configures HMR for embedded iframe context
- Provides
getSessionToken()andauthenticatedFetch()helpers
Navigation Bridge
Sync Laravel routes with the Shopify Admin address bar:
In Blade views, include the sync script:
Events
The package dispatches lifecycle events you can listen for:
| Event | When |
|---|---|
ShopInstalled |
First-time token exchange for a shop |
ShopUninstalled |
(Dispatch in your APP_UNINSTALLED webhook job) |
ShopTokenRefreshed |
Token refreshed for an existing shop |
Helpers
Shop Domain Utilities
HMAC Verification
Package Structure
License
MIT
All versions of laravel-shopify with dependencies
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0
illuminate/http Version ^10.0|^11.0|^12.0
illuminate/routing Version ^10.0|^11.0|^12.0
illuminate/console Version ^10.0|^11.0|^12.0
guzzlehttp/guzzle Version ^7.5
firebase/php-jwt Version ^6.8
lcobucci/jwt Version ^5.0