braintree-web-drop-in
braintree-web-drop-in copied to clipboard
(Documentation error) Collecting deviceData only returns "correlation_id" but not "device_session_id"
General information
- SDK/Library version: 1.30.1
- Environment: Sandbox
- Browser and OS: macOS Big Sur, latest versions of Safari, Firefox, and Chrome
Issue description
Dear Braintree folks,
I'm testing collecting device data for better fraud detection. I use your Drop-in module, version 1.30.1 (latest as of today; 2021-06-22).
In my sandbox, I have "Fraud Protection" enabled (not the "Advanced"). As far as I know, I do not have anything configured for "Kount", which I even think it's deprecated?
I'm following the instructions here to the letter: https://developer.paypal.com/braintree/docs/guides/premium-fraud-management-tools/client-side#drop-in
When I set the dataCollector field to true (in dropin.create), I do receive in the payload a field "deviceData". However, this stringified object only has the "correlation_id" value. I do not receive anything else, in particular I do not get any "device_session_id".
Moreover, when I check the transaction in braintree sandbox GUI, the interface tells me that indeed no device data was collected.
The strange thing, however, is that if I set dataCollector = {kount: true} (in dropin.create), I do eventually receive a "deviceData" field, which also has the expected "device_session_id" value.
Is this expected? What am I doing wrong?
More info
Even in this CodePen example prepared by you, I observe the same behavior:
- With no
dataCollectorfield, I do not receive any payload'sdeviceData(expected). - With
dataCollector: true, I do receive the fielddeviceData, but it only has inside thecorrelation_idand no thedevice_session_id(wrong?) - With
dataCollector: {kount: true}, I receivedeviceDatawith everything includingdevice_session_id` (???) - With
dataCollector: {kount: false}, again I receivedeviceDatawith onlycorrelation_id, nodevice_session_id` (???)
This is all expected. device_session_id is only for Kount.
PayPal's advanced fraud tooling is enabled by default with Data Collector, so you'll get the correlation_id param unless you explicitly opt out of it with dataCollector: { paypal: false, kount: true }
Thank you @crookedneighbor for looking into this.
In that case, this documentation is wrong: https://developer.paypal.com/braintree/docs/reference/request/transaction/sale#device_data
(The highlighting is mine).
This value will contain a Device Session ID as the unique identifier for a customer device. If using Kount Custom, it will also contain a Fraud Merchant ID as the unique, numeric identifier for your Kount account.
Moreover, in my experience, only with correlation_id braintree GUI shows me that there was no device data collected.
It would also be great to have more documentation in https://developer.paypal.com/braintree/docs/guides/premium-fraud-management-tools/client-side about the expected "form" of the received deviceData.
Finally, Kount Custom appears to be deprecated.
Are you saying that, at least for new accounts without the old Kount custom integration, we should only expect correlation_id in deviceData ?
I very much appreciate your input in this.
I agree the documentation could use some updating. I'll re-open this issue until we can get it fixed up.
Correct, you should only be seeing a correlation_id in the device data if you are not using Kount. (which at this point should only be used by a small set of merchants who have been using it for a long time)
@juanmirocks did you ever get this working as expected?
Like you, the "deviceData" I get from BT is a stringified object with only the "correlation_id" value.
Sounds like that is expected.
But my problem is that all my transactions in the BT sandbox under "Premium Fraud Management Tools Information" are reporting "Device Data Captured" as "false".
closing for inactivity. If you continue to encounter errors, please contact Support