Skip to main content

Standard Notifications

The Standard webhook is the main webhook for payment lifecycle events, including how to set it up and what each notification contains.

This page describes the Standard webhook, the main webhook for payment lifecycle events in your Adyen integration.

What the Standard webhook is

For most payment integrations, you sign up for the Standard webhook. It notifies your server about the lifecycle of payments, such as authorizations, captures, refunds, cancellations, and disputes. It has a set of default event types that cannot be disabled, plus non-default event types you can enable as needed. For the full list, see Event Types.

Setting it up

You configure and subscribe to webhooks in the Adyen Customer Area. Valpay can help enable the webhook for your account. At a high level:

  1. Expose an HTTPS endpoint on your server. Adyen requires HTTPS with TLS 1.2 or TLS 1.3. The URL must be publicly accessible.

  2. Create the webhook in the Customer Area under Developers > Webhooks, then add the Standard webhook.

  3. Configure the server settings: your endpoint URL, the method (JSON or HTTP POST), and the encryption protocol.

  4. Configure security: generate an HMAC key, and optionally set basic authentication or OAuth 2.0. See Security (HMAC Validation).

  5. Select the events you want to receive, then save the configuration.

Test and live

Webhooks are configured separately per environment. Adyen does not copy configurations from test to live, so you set up your subscriptions again in the live Customer Area. Each environment also uses its own HMAC key, so generate a new key when you go live. During development, run a test payment and confirm you receive the matching webhook before going live.

Structure of a notification

A Standard webhook payload contains:

  • live: whether the event happened on the test or live environment.

  • notificationItems: an array of notification items. A JSON or HTTP POST webhook contains a single NotificationRequestItem.

Each notification item includes:

  • eventCode: the event type, for example AUTHORISATION.

  • success: the outcome of the event, true or false.

  • pspReference: Adyen's unique reference for the transaction.

  • merchantReference: your own reference for the order.

  • amount: the value and currency.

  • eventDate: when the event occurred.

  • additionalData: extra information, including the hmacSignature used to verify the message.

{
  "live": "false",
  "notificationItems": [
    {
      "NotificationRequestItem": {
        "eventCode": "AUTHORISATION",
        "success": "true",
        "pspReference": "7914073381342284",
        "merchantReference": "ORDER-12345",
        "amount": { "value": 1130, "currency": "EUR" },
        "eventDate": "2024-05-06T17:15:34.121+02:00",
        "additionalData": { "hmacSignature": "..." }
      }
    }
  ]
}

For how to process these notifications, see Handling Webhooks.

Did this answer your question?