Risk-team icon

Device fingerprinting

Device fingerprinting lets you log the attributes of the shopper device and analyze them during repeat visits of the same shopper.

Using the device fingerprint is optional.

The only risk rule that can take the device fingerprint into account as one of the variables is the velocity rule Shopper initiated a transaction more than X times within a time period.

If you decide to use the device fingerprint in this risk check, we recommend that you use it in combination with the other variables.

Integration types

If you just started integrating with Adyen, or if you are already using one of our online payments integrations, we recommend that you use one or more of the other variables (shopper email address, shopper IP or persistent cookie) for the risk check Shopper initiated a transaction more than X times within a time period.

Adyen provides the options listed below to submit the device fingerprint for classic integration types.

Get the fingerprint

These instructions apply to JavaScript-only Client-Side Encryption and Classic API integrations.

First, calculate a fingerprint on a client side and submit it to your server, along with other payment details.

Calculating the device fingerprint might take some time varying on the shopper's computer speed and Internet connection. Run fingerprinting on page load to ensure that the fingerprint is successfully calculated while a shopper fills out payment details.

To get the device fingerprint:

  1. Add a reference to the https://live.adyen.com/hpp/js/df.js script to your Checkout page. Browsers typically cache JavaScript files, so we recommend specifying the current date (YYYYMMDD) in the URL (for instance, https://live.adyen.com/hpp/js/df.js?v=20171130). This ensures you benefit from future updates to the calculation of the device fingerprint.
  2. Add a hidden field with any id to your page.
  3. Calculate a fingerprint for the hidden field by calling the dfDo function with the field's id as a parameter.

    If you want to calculate the device fingerprint dynamically, for example after the DOM is loaded, use the dfSet function instead of dfDo.

Below is an example form that calculates the device fingerprint using the bar hidden field.

    <html>
      <head>
        <title>Your Website</title>
      </head>
      <body><p>Your Checkout page.</p>
        <script type="text/javascript" src="https://live.adyen.com/hpp/js/df.js?v=20171130"></script>
        <form action="http://www.yourdomain.com/checkout" method="POST">
          <!--
          Your other payment related fields
          -->
          <input type="hidden" name="foo" id="bar" />
          <input type="submit" value="Submit" />
        </form>
        <script>
          //<![CDATA[
          dfDo("bar");
          //]]>
        </script>
      </body>
    </html>

Submit the fingerprint to Adyen

These instructions apply to JavaScript-only Client-Side Encryption and Classic API integrations.

After the device fingerprint is calculated and submitted to your server, include this fingerprint into the payment request in the deviceFingerprint field value. The Adyen payments platform then uses this fingerprint for fraud checks on the payment request.