Device fingerprint collection
The J.P. Morgan Device Fingerprint feature provides an easy way to collect data from your checkout page to aid in fraud detection. A device fingerprint, also known as a machine fingerprint, includes hardware, browser, geographic, and IP address information related to a remote computing device. This allows you to capture device telemetry from your checkout page to input into our fraud risk assessment process and help identify fraud patterns.
Enable device fingerprint collection
You must perform the following steps to enable device fingerprint collection:
Step 1: Add a script tag to install the device fingerprint JavaScript on your checkout page. Add the following to the body of your checkout page - as early as possible, preferably immediately after the opening <body> tag so the SDK has the maximum time to bootstrap before payment submission:
<script src="https://dfp-static.chase.com/static/dfp.js"></script>Step 2: Verify the package by visiting your checkout page in a browser.
- Open Developer Tools and select Network.
- Confirm
dfp.jsshows as loaded with a 200 response. This confirms the file downloaded. Step 3 confirms the SDK executed successfully.
Step 3: Perform the following steps to check for the Session ID. The Session ID is a UUID (e.g., fe76ef6c-3aee-4407-9fa0-625e8e52de8a) stored as a JSON value in localStorage.
- Based on your browser, perform the following:
- Chromium-based browsers (Chrome, Edge, Opera, and Brave):
- Open Developer Tools.
- Select Application.
- Select Local Storage and click on your website.
- Safari and Firefox:
- Open Developer Tools.
- Select Storage.
- Select Local Storage and click on your website.
- Chromium-based browsers (Chrome, Edge, Opera, and Brave):
- The value at key
deviceFingerprintSessionIdis a JSON string containing a timestamp and adeviceFingerprintSessionIdproperty. Parse the JSON and read thedeviceFingerprintSessionIdproperty. Example stored value:
{"timestamp":"2026-08-27T20:02:41.610Z","deviceFingerprintSessionId":"fe76ef6c-3aee-4407-9fa0-625e8e52de8a"}Step 4: Include the deviceFingerprintSessionId value in the risk.consumerDeviceInfo.deviceFingerprintSessionId field of your payment request. On each payment submission, read the JSON string from localStorage at key deviceFingerprintSessionId, parse it, and use the deviceFingerprintSessionId property.
The following table shows the required field for Device Fingerprint:
| Field name | Description |
|---|---|
risk.consumerDeviceInfo.deviceFingerprintSessionId |
An auto-generated fraud session identifier.
|
The following code sample shows a payment request with device fingerprint data:
HTTP Method: POST
Endpoint: /payments
{
"captureMethod": "NOW",
"amount": 1234,
"currency": "USD",
"risk": {
"consumerDeviceInfo": {
"deviceFingerprintSessionId": "fe76ef6c-3aee-4407-9fa0-625e8e52de8a"
}
},
"merchant": {
"merchantId": "991234567890",
"merchantSoftware": {
"companyName": "Payment Company",
"productName": "Application Name",
"version": "1.235",
"softwareId": "string"
},
"merchantCategoryCode": "4819",
"merchantLogoUrl": "string"
},
"paymentMethodType": {
"card": {
"accountNumberType": "PAN",
"accountNumber": "string",
"expiry": {},
"walletProvider": "APPLE_PAY",
"cardType": "VI",
"cardTypeName": "VISA",
"cvv": "string",
"originalNetworkTransactionId": "1c4b1100-4017-11e9-b649-8de064224186",
"isBillPayment": true,
"maskedAccountNumber": "123456XXXXXX9876",
"maskedCardNumber": "string",
"cardTypeIndicators": {
"cardProductTypes": []
}
}
}
}