PHPackages                             adyen/php-webhook-module - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. adyen/php-webhook-module

ActiveLibrary[Payment Processing](/categories/payments)

adyen/php-webhook-module
========================

Webhook module for Adyen Payment Integrations

1.1.0(10mo ago)62.1M—1.6%4[5 PRs](https://github.com/Adyen/php-webhook-module/pulls)2MITPHPCI passing

Since Jun 30Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/Adyen/php-webhook-module)[ Packagist](https://packagist.org/packages/adyen/php-webhook-module)[ RSS](/packages/adyen-php-webhook-module/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (9)Dependencies (2)Versions (23)Used By (2)

Webhook Module for PHP
======================

[](#webhook-module-for-php)

Adyen library for handling notification webhooks.

Installation
------------

[](#installation)

You can use [Composer](https://getcomposer.org/). Follow the [installation instructions](https://getcomposer.org/doc/00-intro.md) if you do not already have Composer installed.

```
composer require adyen/php-webhook-module
```

In your PHP script, make sure to include the autoloader:

```
require __DIR__ . '/vendor/autoload.php';
```

Alternatively, you can download the [release on GitHub](https://github.com/Adyen/php-webhook-module/releases).

Usage
-----

[](#usage)

#### Authenticate and validate incoming webhook request:

[](#authenticate-and-validate-incoming-webhook-request)

```
// Setup NotificationReceiver with dependency injection or create an instance as follows
$notificationReceiver = new \Adyen\Webhook\Receiver\NotificationReceiver(new \Adyen\Webhook\Receiver\HmacSignature);

// Authorize notification
if (!$notificationReceiver->isAuthenticated(
    $request['notificationItems'][0]['NotificationRequestItem'],
    YOUR_MERCHANT_ACCOUNT,
    YOUR_NOTIFICATION_USERNAME,
    YOUR_NOTIFICATION_PASSWORD
)) {
    throw new AuthenticationException();
}

// Process each notification item
foreach ($request['notificationItems'] as $notificationItem) {
    // validate the notification
    if ($notificationReceiver->validateHmac($notificationItem, YOUR_HMAC_KEY)) {
       // save notification to your database
       $this->databaseService->saveNotification($notificationItem);
    }
}

return new JsonResponse('[accepted]');
```

#### Process notification to get new payment state:

[](#process-notification-to-get-new-payment-state)

```
$notificationItem = \Adyen\Webhook\Notification::createItem([
    'eventCode' => $notification['eventCode'],
    'success' => $notification['success']
]);

$processor = \Adyen\Webhook\Processor\ProcessorFactory::create(
    $notificationItem,
    $currentPaymentState,
    $this->logger
);

$newState = $processor->process();
```

NB: set `$currentPaymentState` to one of the values in `\Adyen\Webhook\PaymentStates`

Documentation
-------------

[](#documentation)

Visit our [documentation page](https://docs.adyen.com/development-resources/webhooks/understand-notifications) to learn more about handling notifications.

Contributing
------------

[](#contributing)

We encourage you to contribute to this repository, so everyone can benefit from new features, bug fixes, and any other improvements. Have a look at our [contributing guidelines](https://github.com/Adyen/.github/blob/develop/CONTRIBUTING.md) to find out how to raise a pull request.

Support
-------

[](#support)

If you have a feature request, or spotted a bug or a technical problem, [create an issue here](https://github.com/Adyen/php-webhook-module/issues/new/choose). For other questions, [contact our Support Team](https://www.adyen.help/hc/en-us/requests/new?ticket_form_id=360000705420).

Licence
-------

[](#licence)

This repository is available under the [MIT license](https://github.com/Adyen/php-webhook-module/blob/master/LICENSE).

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance74

Regular maintenance activity

Popularity47

Moderate usage in the ecosystem

Community27

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~145 days

Recently: every ~295 days

Total

11

Last Release

328d ago

Major Versions

0.8.0 → 1.0.02024-04-08

### Community

Maintainers

![](https://www.gravatar.com/avatar/2a674866db88faaf42f9f90e4fe7b85026fdaf61bafecc33b4f1ec218b6d6733?d=identicon)[Adyen](/maintainers/Adyen)

---

Top Contributors

[![peterojo](https://avatars.githubusercontent.com/u/5240725?v=4)](https://github.com/peterojo "peterojo (14 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (12 commits)")[![raoulritter](https://avatars.githubusercontent.com/u/59527829?v=4)](https://github.com/raoulritter "raoulritter (11 commits)")[![candemiralp](https://avatars.githubusercontent.com/u/20255503?v=4)](https://github.com/candemiralp "candemiralp (8 commits)")[![AlexandrosMor](https://avatars.githubusercontent.com/u/16090523?v=4)](https://github.com/AlexandrosMor "AlexandrosMor (6 commits)")[![Morerice](https://avatars.githubusercontent.com/u/11156828?v=4)](https://github.com/Morerice "Morerice (3 commits)")[![pveiga2](https://avatars.githubusercontent.com/u/64362156?v=4)](https://github.com/pveiga2 "pveiga2 (2 commits)")[![rikterbeek](https://avatars.githubusercontent.com/u/5948499?v=4)](https://github.com/rikterbeek "rikterbeek (1 commits)")[![cyattilakiss](https://avatars.githubusercontent.com/u/42297201?v=4)](https://github.com/cyattilakiss "cyattilakiss (1 commits)")[![khushboo-singhvi](https://avatars.githubusercontent.com/u/7098889?v=4)](https://github.com/khushboo-singhvi "khushboo-singhvi (1 commits)")[![leandromagnabosco](https://avatars.githubusercontent.com/u/105861049?v=4)](https://github.com/leandromagnabosco "leandromagnabosco (1 commits)")[![michaelpaul](https://avatars.githubusercontent.com/u/156021?v=4)](https://github.com/michaelpaul "michaelpaul (1 commits)")[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (1 commits)")[![acampos1916](https://avatars.githubusercontent.com/u/15349721?v=4)](https://github.com/acampos1916 "acampos1916 (1 commits)")

---

Tags

adyenpayment-integrationphpwebhook

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/adyen-php-webhook-module/health.svg)

```
[![Health](https://phpackages.com/badges/adyen-php-webhook-module/health.svg)](https://phpackages.com/packages/adyen-php-webhook-module)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
