Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
shopify-app-webhooks
kyon147/laravel-shopify
claude-code
api
sdk
driver
shopify
laravel
facade
webhook
laravel-package
shopify-api
laravel-shopify
callback-url
scripttags
shopify-app

Registering and handling Shopify webhooks in a Laravel app using kyon147/laravel-shopify.

Install
php artisan boost:add-skill kyon147/laravel-shopify

Save this content to: .claude/skills/shopify-app-webhooks/SKILL.md

## When to use

You are in a **host Laravel application** with `kyon147/laravel-shopify` and you are configuring **webhooks**: topics and URLs, uninstall / compliance / GDPR flows, queue workers, or custom handlers alongside the package’s default webhook endpoint.

## Declaring webhooks (your published config)

In **published** `config/shopify-app.php`, the `webhooks` array defines GraphQL-style `topic` values and `address` URLs Shopify should call. You can map entries to a custom job class using a `class` key (see commented examples in the package’s default `src/resources/config/shopify-app.php`).

Ensure `address` values are reachable from the internet (ngrok / cloud tunnel in local dev) and match your app’s routes.

## Verification and dispatch (package behavior)

- Incoming webhooks should hit routes protected with `auth.webhook` middleware (`Osiset\ShopifyApp\Http\Middleware\AuthWebhook`) so HMAC verification runs before your logic executes.
- Package `WebhookController` + `Traits/WebhookController` show how payloads are turned into jobs — use as **read-only reference** when adding **your** job classes mapped in config.

## Queues and jobs (your app)

- Configure `queue.php` and workers so webhook jobs actually run in production.
- Package config includes `job_queues` / `job_connections` entries (e.g. `webhooks`) — set `WEBHOOKS_JOB_QUEUE` / `WEBHOOKS_JOB_CONNECTION` in `.env` if you isolate webhook traffic.
- Listen for package events in **your** `config/shopify-app.php` `listen` array (e.g. `AppUninstalledEvent`) and dispatch **your** listeners or jobs for cleanup.

## Do / Don’t

- **Do** register mandatory compliance webhooks required by Shopify for your app type.
- **Don’t** expose webhook URLs without HMAC verification or skip `auth.webhook` on routes that accept Shopify payloads.

When to use

You are in a host Laravel application with kyon147/laravel-shopify and you are configuring webhooks: topics and URLs, uninstall / compliance / GDPR flows, queue workers, or custom handlers alongside the package’s default webhook endpoint.

Declaring webhooks (your published config)

In published config/shopify-app.php, the webhooks array defines GraphQL-style topic values and address URLs Shopify should call. You can map entries to a custom job class using a class key (see commented examples in the package’s default src/resources/config/shopify-app.php).

Ensure address values are reachable from the internet (ngrok / cloud tunnel in local dev) and match your app’s routes.

Verification and dispatch (package behavior)

  • Incoming webhooks should hit routes protected with auth.webhook middleware (Osiset\ShopifyApp\Http\Middleware\AuthWebhook) so HMAC verification runs before your logic executes.
  • Package WebhookController + Traits/WebhookController show how payloads are turned into jobs — use as read-only reference when adding your job classes mapped in config.

Queues and jobs (your app)

  • Configure queue.php and workers so webhook jobs actually run in production.
  • Package config includes job_queues / job_connections entries (e.g. webhooks) — set WEBHOOKS_JOB_QUEUE / WEBHOOKS_JOB_CONNECTION in .env if you isolate webhook traffic.
  • Listen for package events in your config/shopify-app.php listen array (e.g. AppUninstalledEvent) and dispatch your listeners or jobs for cleanup.

Do / Don’t

  • Do register mandatory compliance webhooks required by Shopify for your app type.
  • Don’t expose webhook URLs without HMAC verification or skip auth.webhook on routes that accept Shopify payloads.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core