Skip to main content

Architecture Overview

How the parts of an online payments integration fit together: your server, your client, the Adyen Checkout API, and webhooks.

An online payments integration with Valpay and Adyen is made up of a few components that work together: your backend, your frontend, the Adyen Checkout API, and a webhook endpoint. This page explains what each part does and how a payment moves through the system.

The components

  • Payments server (your backend): makes authenticated requests to the Adyen Checkout API and processes the responses. It authenticates with your API key and sends your merchant account and Store ID on transactions. These credentials stay on the server and are never exposed to the client.

  • Client (your website or app): uses Adyen's Drop-in or Components to securely collect the shopper's payment details and pass them to your server. The client uses your client key.

  • Webhook server (your endpoint): an endpoint you expose to receive webhooks from Adyen with payment status updates.

How a payment moves through the system

  1. The client collects the shopper's payment details using Drop-in or Components.

  2. Your server calls the Adyen Checkout API (for example /sessions or /payments), including your merchant account and Store ID.

  3. Adyen processes the request and returns a result. If an extra step is needed, such as 3D Secure, the client completes that action.

  4. Adyen sends a webhook to your webhook endpoint with the final, authoritative outcome of the payment (for example an AUTHORISATION notification).

Why webhooks are part of the architecture

Many payment flows are asynchronous, which means the final status may not be known at the moment Adyen responds to your API call. Webhooks push the outcome to your endpoint as soon as it is available, so it is best practice to confirm the final payment outcome from the webhook and not to rely on the synchronous API response by itself. Your endpoint must acknowledge each webhook with a 2xx HTTP response, store the message, and then process it. Payment events such as authorization and capture are delivered this way.

Environments and endpoints

  • Test: the Adyen Checkout API base URL is https://checkout-test.adyen.com/v71. Test transactions do not reach the card networks.

  • Live: live Checkout endpoints use an account-specific prefix.

Use the credentials, merchant account, and Store ID that Valpay provisions for the matching environment.

Did this answer your question?