Search

Are you looking for test card numbers?

Would you like to contact support?

Building Adyen solutions

Identify yourself when building a solution for multiple merchants, so that we can offer better support.

If you're building a solution that allows multiple businesses to process payments with Adyen, make sure that you:

  • Use one of our libraries.
  • Identify yourself, so that we can inform you of relevant updates to our API, and offer other support. The information that we recommend to provide depends on whether you are building a plugin, or a direct integration into a platform.

Building a plugin

When you're building an Adyen plugin for a platform, specify the following information in your /payments call, in the applicationInfo object:

  • adyenPaymentSource.name: The name of your plugin.
  • adyenPaymentSource.version: The version of your plugin.
  • externalPlatform.name: The name of the platform that you're building for.
  • externalPlatform.version: The version of the platform that you're building for.
  • externalPlatform.integrator: The name of your system integrator that is implementing the plugin.
curl https://checkout-test.adyen.com/v49/payments \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
  "applicationInfo":{
     "adyenPaymentSource":{
        "name":"YOUR_PLUGIN",
        "version":"YOUR_PLUGIN_VERSION"
     },
     "externalPlatform":{
        "name":"PLATFORM_NAME",
        "version":"PLATFORM_VERSION",
        "integrator":"YOUR_SYSTEM_INTEGRATOR_NAME"
     }
  }
  ...
}'
# Set your X-API-KEY with the API key from the Customer Area.
adyen = Adyen::Client.new
adyen.api_key = "YOUR_X-API-KEY"

request = {
  :applicationInfo => {
    :adyenPaymentSource => {
      :name => "YOUR_PLUGIN",
      :version => "YOUR_PLUGIN_VERSION"
    },
    :externalPlatform => {
      :name => "PLATFORM_NAME",
      :version => "PLATFORM_VERSION",
      :integrator => "YOUR_SYSTEM_INTEGRATOR_NAME"
    }
  },
  # Add PaymentRequest information here.
}

response = adyen.checkout.payment_methods(request)
// Set your X-API-KEY with the API key from the Customer Area.
Client client = new Client("YOUR_X-API-KEY", Environment.TEST, "null");
Checkout checkout = new Checkout(client);

ApplicationInfo applicationInfo = new ApplicationInfo();

CommonField adyenPaymentSource = new CommonField();
adyenPaymentSource.setName("YOUR_PLUGIN");
adyenPaymentSource.setVersion("YOUR_PLUGIN_VERSION");
applicationInfo.setAdyenPaymentSource(adyenPaymentSource);

ExternalPlatform externalPlatform = new ExternalPlatform();
externalPlatform.setName("PLATFORM_NAME");
externalPlatform.setVersion("PLATFORM_VERSION");
externalPlatform.setIntegrator("YOUR_SYSTEM_INTEGRATOR_NAME");
applicationInfo.setExternalPlatform(externalPlatform);

PaymentsRequest paymentsRequest = new PaymentsRequest();
paymentsRequest.setApplicationInfo(applicationInfo);

// Add PaymentRequest information here.

PaymentsResponse paymentsResponse = checkout.payments(paymentsRequest);
// Set your X-API-KEY with the API key from the Customer Area.
$client = new \Adyen\Client();
$client->setXApiKey("YOUR_X-API-KEY");
$service = new \Adyen\Service\Checkout($client);

$params = array(
    "applicationInfo" => array(
        "adyenPaymentSource" => array(
            "name" => "YOUR_PLUGIN",
            "version" => "YOUR_PLUGIN_VERSION"
        ),
        "externalPlatform" => array(
            "name" => "PLATFORM_NAME",
            "version" => "PLATFORM_VERSION",
            "integrator" => "YOUR_SYSTEM_INTEGRATOR_NAME"
        )
    )
    // Add PaymentRequest information here.
);

$result = $service->payments($params);
# Set your X-API-KEY with the API key from the Customer Area.
adyen = Adyen.Adyen()
adyen.client.xapikey = 'YOUR_X-API-KEY'

request = {
  'applicationInfo': {
    'adyenPaymentSource': {
      'name': 'YOUR_PLUGIN',
      'version': 'YOUR_PLUGIN_VERSION'
    },
    'externalPlatform': {
      'name': 'PLATFORM_NAME',
      'version': 'PLATFORM_VERSION',
      'integrator': 'YOUR_SYSTEM_INTEGRATOR_NAME'
    }
  },
  # Add PaymentRequest information here.
}

response = adyen.checkout.payment_methods(request)
// Set your X-API-KEY with the API key from the Customer Area.
var client = new Client ("YOUR-X-API-KEY", Environment.Test);
var checkout = new Checkout(client);

var paymentsRequest = new Model.Checkout.PaymentRequest();

var applicationInfo = new Model.ApplicationInformation.ApplicationInfo();
var adyenPaymentSource = new Model.ApplicationInformation.CommonField("YOUR_PLUGIN", "YOUR_PLUGIN_VERSION");
applicationInfo.setAdyenPaymentSource(adyenPaymentSource);

var externalPlatform = new Model.ApplicationInformation.ExternalPlatform("PLATFORM_NAME", "PLATFORM_VERSION", "YOUR_SYSTEM_INTEGRATOR_NAME");
applicationInfo.setAdyenPaymentSource(externalPlatform);

var paymentRequest.setApplicationInfo(applicationInfo);

// Add PaymentRequest information here.

var paymentResponse = checkout.Payments(paymentsRequest);

Building a direct integration

When you're building an Adyen integration directly into your platform, specify the following information in your /payments call, in the applicationInfo object:

  • externalPlatform.name: The name of the platform that you're building for.
  • externalPlatform.version: The version of the platform that you're building for.
  • externalPlatform.integrator: The name of your company.
curl https://checkout-test.adyen.com/v49/payments \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
     "externalPlatform":{
        "name":"PLATFORM_NAME",
        "version":"PLATFORM_VERSION",
        "integrator":"YOUR_SYSTEM_INTEGRATOR_NAME"
     }
  }
  ...
}'
# Set your X-API-KEY with the API key from the Customer Area.
adyen = Adyen::Client.new
adyen.api_key = "YOUR_X-API-KEY"

request = {
  :applicationInfo => {
     :externalPlatform => {
      :name => "PLATFORM_NAME",
      :version => "PLATFORM_VERSION",
      :integrator => "YOUR_COMPANY_NAME"
    }
  },
  # Add PaymentRequest information here.
}

response = adyen.checkout.payment_methods(request)
// Set your X-API-KEY with the API key from the Customer Area.
Client client = new Client("YOUR_X-API-KEY", Environment.TEST, "null");
Checkout checkout = new Checkout(client);

ApplicationInfo applicationInfo = new ApplicationInfo();

ExternalPlatform externalPlatform = new ExternalPlatform();
externalPlatform.setName("PLATFORM_NAME");
externalPlatform.setVersion("PLATFORM_VERSION");
externalPlatform.setIntegrator("YOUR_COMPANY_NAME");
applicationInfo.setExternalPlatform(externalPlatform);

PaymentsRequest paymentsRequest = new PaymentsRequest();
paymentsRequest.setApplicationInfo(applicationInfo);

// Add PaymentRequest information here.

PaymentsResponse paymentsResponse = checkout.payments(paymentsRequest);
// Set your X-API-KEY with the API key from the Customer Area.
$client = new \Adyen\Client();
$client->setXApiKey("YOUR_X-API-KEY");
$service = new \Adyen\Service\Checkout($client);

$params = array(
    "applicationInfo" => array(
        "externalPlatform" => array(
            "name" => "PLATFORM_NAME",
            "version" => "PLATFORM_VERSION",
            "integrator" => "YOUR_COMPANY_NAME"
        )
    )
    // Add PaymentRequest information here.
);

$result = $service->payments($params);
#Set your X-API-KEY with the API key from the Customer Area.
adyen = Adyen.Adyen()
adyen.client.xapikey = 'YOUR_X-API-KEY'

request = {
  'applicationInfo': {
    'externalPlatform': {
      'name': 'PLATFORM_NAME',
      'version': 'PLATFORM_VERSION',
      'integrator': 'YOUR_COMPANY_NAME'
    }
  },
  # Add PaymentRequest information here.
}

response = adyen.checkout.payment_methods(request)
// Set your X-API-KEY with the API key from the Customer Area.
var client = new Client ("YOUR-X-API-KEY", Environment.Test);
var checkout = new Checkout(client);

var paymentsRequest = new Model.Checkout.PaymentRequest();

var applicationInfo = new Model.ApplicationInformation.ApplicationInfo();
var externalPlatform = new Model.ApplicationInformation.ExternalPlatform("PLATFORM_NAME", "PLATFORM_VERSION", "YOUR_COMPANY_NAME");
applicationInfo.setAdyenPaymentSource(externalPlatform);

var paymentRequest.setApplicationInfo(applicationInfo);

// Add PaymentRequest information here.

var paymentResponse = checkout.Payments(paymentsRequest);

See also