Developer-resource icon

Application information

Technology partners working with Adyen are required to add application info fields to API requests.

Application information identifies how technology partners connect to Adyen for payment processing. Adyen can use application info to analyze and troubleshoot payments more efficiently, and to provide better support.

Who builds the integration

The fields you're required to include depend on who builds the integration between you and Adyen:

  • Partner-built: you build your own integration.
  • Integrator-built: you outsource building your integration.
  • Pre-built: you are the integrator who customizes a pre-built integration.

Application information fields

The field values you must include depend on who builds the integration:

The following table shows an example in which your company, Best Store Commerce, builds a store application and partners with Adyen to process payments. You built and provide the platform. Your platform has a point of sale (POS) application called Best Instore and an ecommerce application called Best Ecom that connect to Adyen. Your merchants do not use service partners to implement your solution. Include these fields in the applicationInfo object:

Field Description Required Example
externalPlatform.name Your company name or the name of your platform. -white_check_mark- Best Store Commerce
externalPlatform.version The software version of the platform. If your platform has versions. 1.3
externalPlatform.integrator The name of the service partner that built or implemented your integration. -white_check_mark- Best Store Commerce
merchantApplication.name The name of the application or product that a merchant uses. -white_check_mark- Best Instore or Best Ecom
merchantApplication.version The software version of the application. If your application has versions. 2.13.05
merchantDevice.os The operating system of the device that runs the POS application. If your merchant application is a POS application. iOS
merchantDevice.osVersion The software version of the operating system. If your merchant application is a POS application. 16.3

Field value requirements

The values you send in the application info fields can:

  • be between up to 40 characters in length.
  • start with a number or letter.
  • contain letters, digits, dashes, underscores, and spaces.

The formatting of the values must be the same in every request.
For example, if the externalPlatform.name is Best Store Commerce, you can't sometimes specify that value as BestStoreCommerce or BESTSTORECOMMERCE. You must choose one format and stick to it.

Example API requests

See examples for the following types of applications:

Ecommerce application

The following examples shows how to provide application info in the /payments request.

POS application

To add application info to your payment request, you pass data elements in the SaleToAcquirerData field. There are two ways to do that:

  • Option 1: as a JSON object converted to a Base64-encoded string.
  • Option 2: as form-encoded key-value pairs (using & as a separator).

This example shows how to add application info to your payment request as a JSON object converted to a Base64-encoded string:

  1. Create a JSON object with the data elements you want to pass. For example:

    {
      "applicationInfo": {
        "externalPlatform": {
            "name": "Best Store Commerce",
            "version": "1.3",
            "integrator": "AAA Systems"
        },
        "merchantApplication": {
            "name": "Best Instore",
            "version": "1.23.5"
        },
        "merchantDevice": {
            "os": "iOS",
            "osVersion": "16.3"
        }
      }
    }
  2. Encode the JSON object to Base64.

    ewogICAgImFwcGxpY2F0aW9uSW5mbyI6ewogICAgICAgICJleHRlcm5hbFBsYXRmb3JtIjp7CiAgICAgICAgICAgICJuYW1lIjoiQmVzdCBTdG9yZSBDb21tZXJjZSIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjoiMS4zIiwKICAgICAgICAgICAgImludGVncmF0b3IiOiJBQUEgU3lzdGVtcyIKICAgICAgICB9LAogICAgICAgICJtZXJjaGFudEFwcGxpY2F0aW9uIjp7CiAgICAgICAgICAgICJuYW1lIjoiQmVzdCBJbnN0b3JlIiwKICAgICAgICAgICAgInZlcnNpb24iOiIyLjEzLjA1IgogICAgICAgIH0sCiAgICAgICAgIm1lcmNoYW50RGV2aWNlIjp7CiAgICAgICAgICAgICJvcyI6ImlPUyIsCiAgICAgICAgICAgICJvc1ZlcnNpb24iOiIxNi4zIgogICAgICAgIH0KICAgIH0KfQ==
  3. Make a payment request with:

    • SaleData.SaletoAcquirerData: The Base64-encoded JSON object.

    Note that the payment response has the AdditionalResponse in the same format as the SaleToAcquirerData, a Base64-encoded JSON object.

  4. Decode the Base64 string in the AdditionalResponse field of the payment response.
    This contains data resulting from the processing of the payment.

The format of the SaleToAcquirerData, Base64-encoded or key-value pairs, determines the format of the AdditionalResponse that you receive. To always receive the AdditionalResponse in one of those formats, contact our Support Team.

Combining application info and other data elements

Apart from application info, you can also add other information in the SaleToAcquirerData field. For example, you can add tender options or metadata.

To combine application info and other data elements, see Add information to a payment.

See also