---
title: "Classic API integration"
url: "https://docs.adyen.com/online-payments/classic-integrations/classic-api-integration"
source_url: "https://docs.adyen.com/online-payments/classic-integrations/classic-api-integration.md"
canonical: "https://docs.adyen.com/online-payments/classic-integrations/classic-api-integration"
last_modified: "2026-06-01T15:33:14+02:00"
language: "en"
---

# Classic API integration

[View source](/online-payments/classic-integrations/classic-api-integration.md)

**Adyen is no longer developing the Classic API integration**

This page is for the Classic API (`/authorise`) integration, which we no longer accept new integrations with.

We strongly recommend migrating to the newer [Web Drop-in and Components](/online-payments/build-your-integration/advanced-flow?platform=Web) integration. To use this newer integration, you must also [migrate to the Checkout API](/online-payments/upgrade-your-integration/migrate-to-checkout-api).

**Local payment methods**

If you want to learn how to accept local payment methods, see [Directory Lookup](/online-payments/classic-integrations/hosted-payment-pages/directory-lookup).

The Classic API integration lets you accept payments on your website and mobile application, if you support [PCI compliance at Level 1 or 2](/development-resources/pci-dss-compliance-guide). This tutorial explains how you can collect raw card data from your shoppers and pass this data in payment requests to the Adyen API.

When you want to reduce your PCI compliance requirements, we recommend that you integrate with our [Client-Side Encryption](/online-payments/classic-integrations/classic-api-integration/client-side-encryption) library instead.

## Requirements

Before you begin to integrate, make sure you have followed the [Get started with Adyen guide](/get-started-with-adyen) to:

* Get an overview of the steps needed to accept live payments.
* Create your test account.

After you have created your test account, get your [API key](/development-resources/api-credentials#generate-api-key) or [basic authentication](/development-resources/api-credentials#basic-authentication) credentials. Save a copy as you'll need it for API calls you make to the Adyen payments platform.

## Overview

Your card payments go through many stages. The diagram below helps you understand the flow:

![](/user/pages/docs/02.online-payments/60.classic-integrations/01.classic-api-integration/cards-flow-api.png)

If you are integrating the Adyen payments platform of products and services with a third-party system, we strongly recommend you follow [defensive programming](https://en.wikipedia.org/wiki/Defensive_programming) best practices.

## Authorise request

**Test cards**

To test the payment request, use one of our [test credit cards](/development-resources/test-cards-and-credentials/test-card-numbers).

From your server, make an HTTP POST request to the [/authorise](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise) endpoint.

In this request, include [merchantAccount](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise#request-merchantAccount), [reference](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise#request-reference), and the payment [amount](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise#request-amount). The amount's value is in minor units, e.g. 20000 is 200 euros. You can find the number of decimal points per currency in [Currency codes](/development-resources/currency-codes).

In addition, include card information, as shown in the example below.

```json
{
  "card": {
    "number": "4111111111111111",
    "expiryMonth": "03",
    "expiryYear": "2030",
    "cvc": "737",
    "holderName": "John Smith"
  },
  "amount": {
    "value": 1500,
    "currency": "EUR"
  },
  "reference": "payment-2016-9-4-11",
  "merchantAccount": "NewCoCOM"
}
```

To know more about the required fields see [PaymentRequest](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise#request).

## Authorise response

If the message passes validation, the system performs a risk analysis. Depending on the outcome, the system attempts an authorisation and you receive a payment response. The response includes a PSP reference, which uniquely identifies each payment and can be used later for cancel/refund if needed.

```json
{
  "pspReference": "8814689190961342",
  "resultCode": "Authorised",
  "authCode": "83152"
}
```

For other possible response codes and fields of the payment response, refer to [PaymentResult](https://docs.adyen.com/api-explorer/Payment/68/post/authorise#responses).

## Requirements for co-badged cards

[Regulatory guidelines for some regions](/online-payments/co-badged-cards-compliance) require the following:

* When a shopper presents a co-badged card, they must be allowed to select their preferred brand.
* If the shopper selected a preferred brand, the payment must be completed with this brand.

To comply with these guidelines:

1. If a card is co-badged, present all supported brands to the shopper, allowing them to click on the brand they want to pay with.
2. If the shopper makes a choice, pass their selected brand as [selectedBrand](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise#request-selectedBrand) in your [/authorise](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise) request.

## Next steps

[required](/online-payments/capture)

[Capture a payment](/online-payments/capture)

[Capture approved authorisation when it is necessary to complete the payment.](/online-payments/capture)

[required](/development-resources/webhooks)

[Set up webhooks](/development-resources/webhooks)

[Receive confirmation when a payment is authorised or fails.](/development-resources/webhooks)
