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.
-
For HTML-based Client-Side Encryption and Hosted Payment Pages, the device fingerprint is calculated and submitted automatically.
-
For JavaScript-only Client-Side Encryption and Classic API, you need to manually calculate and submit the fingerprint.
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:
- 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.
- Add a hidden field with any
id
to your page. -
Calculate a fingerprint for the hidden field by calling the
dfDo
function with the field'sid
as a parameter.If you want to calculate the device fingerprint dynamically, for example after the DOM is loaded, use the
dfSet
function instead ofdfDo
.
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.