- What is renoki-co/laravel-aws-webhooks used for?
- It is a Laravel package that catches AWS SNS webhook notifications at your application's HTTP ingress so you can process AWS events inside your own Laravel code. It handles the AWS-specific plumbing such as verifying message signatures and responding to subscription confirmation requests. Instead of writing that boilerplate yourself, you route incoming events to your own handlers.
- How do I install laravel-aws-webhooks with Composer?
- Install it with Composer using composer require renoki-co/laravel-aws-webhooks. Then publish any package configuration with the vendor:publish Artisan command so you can point it at your AWS credentials and topic settings. Confirm the resolved version matches your Laravel and PHP versions before committing the lockfile.
- Which Laravel and PHP versions does laravel-aws-webhooks support?
- Version 5.2.0 supports Laravel 9 and Laravel 10 on PHP 8.1 and 8.2. That release dropped Laravel 8 and PHP 8.0 support, so older applications must upgrade their runtime and framework first. Always check the exact Composer constraints in the package's composer.json before planning an upgrade.
- Does laravel-aws-webhooks verify AWS SNS message signatures?
- Yes, signature verification is a core part of what the package does, which is why it is preferable to a hand-rolled webhook controller. It validates that incoming SNS notifications genuinely originate from AWS before your handlers run. You should still test verification behaviour in staging with real or replayed SNS payloads.
- How does laravel-aws-webhooks handle SNS subscription confirmations?
- The package responds to SNS SubscriptionConfirmation requests so your topic subscription can complete the AWS handshake automatically. This removes the most common manual step when wiring an SNS topic to a Laravel endpoint. Validate the endpoint publicly in staging first, since confirmation only succeeds if AWS can reach your URL.
- Can I route different AWS webhook events to my own handlers?
- Yes, the package is designed to hand incoming events off to handlers you define, so your business logic stays in your application rather than in package code. This keeps the package at the edge as an ingress layer while your existing jobs and events do the work. Keep handlers small and idempotent, and queue heavy processing.
- Should I process AWS webhooks in the queue in Laravel?
- Yes, acknowledge the webhook quickly and push the actual work onto a Laravel queue. AWS retries on slow or non-2xx responses, so long-running synchronous handlers risk timeouts and retry storms. Monitor queue depth, processing latency, and failed or dead-letter job counts in production.
- How do I deal with duplicate webhook deliveries and idempotency?
- AWS can deliver the same notification more than once, so your handlers must be idempotent. Store a processed message identifier and skip work you have already completed for that ID. Note that the package handles verification and routing, not your domain-level deduplication logic.
- Is laravel-aws-webhooks safe for production webhook ingestion?
- It is a reasonable fit for production when your application is on Laravel 9 or 10 and PHP 8.1 or 8.2, and your handlers are idempotent. Add alerting on non-2xx response rates, signature validation failures, queue backlogs, and AWS throttling. Also confirm vendor support policy and release cadence, since compatibility bumps are periodic.
- How hard is it to migrate to version 5.2.0 from an older release?
- Version 5.2.0 is a platform-compatibility release that adds Laravel 10 and PHP 8.2 support while dropping Laravel 8 and PHP 8.0. If your host application still runs Laravel 8 or PHP 8.0, upgrade the framework and runtime first, including CI images and local Docker environments. If you are already on Laravel 9 or 10 with PHP 8.1 or 8.2, treat it as a dependency pin plus regression testing.