Get device fingerprint
Products
Products is your entry on all things related to payment products. You will be able to retrieve all relevant payment products, based on your configuration and provided filters, their associated fields and potential directories. You can retrieve all of the information in one call or do calls on individual payment products. The data returned is designed to give you all the required information to build up your interface towards your consumers in a dynamic fashion. By doing it like that you know that you will be ready for future changes and new payment products without much effort.
Request
In case you use your own payment pages and you want to use device fingerprinting to assess the risk based on the device that the consumer is using you will need to include a piece of JavaScript in your page. Using this API you retrieve a transaction specific JavaScript snippet that you need to include in your payment page. The snippet returned in html already contains the deviceFingerprintTransactionId that is specific to one single transaction.
Depending on the provider used for the device fingerprinting it might be possible to execute another JavaScript function in the collectorCallback property that will be executed after the request.
PayloadDeviceFingerprintRequest
Properties
|
|||
Property | Type | Required | Details |
---|---|---|---|
collectorCallback | string | no | read close |
close
DescriptionYou can supply a JavaScript function call that will be called after the device fingerprint data collecting using the provided JavaScript snippet is finished. This will then be added to the snippet that is returned in the property html.
|
Request example
This scenario you will probably use the most
-
DeviceFingerprintRequest body = new DeviceFingerprintRequest(); DeviceFingerprintResponse response = client.v1().merchant("merchantId").products().deviceFingerprint(1, body);
Responses
Please find below an overview of the possible responses.
Response 200 - OKDeviceFingerprintResponse
Returns html containing a transaction specific code snippet for injecting into your own payment page. This snippet already contains the deviceFingerprintTransactionId which must be submitted again when you submit the payment request through CreatePayment.fraudFields.deviceFingerprintTransactionId. It is also possible to submit the deviceFingerprintTransactionId in the Risk Assessment calls.
Properties
|
|||
Property | Type | Required | Details |
---|---|---|---|
deviceFingerprintTransactionId | string | yes | read close |
close
DescriptionContains the unique id which is used by the device fingerprint collector script. This must be used to set the property fraudFields.deviceFingerprintTransactionId in either in the CreatePayment.order.customer.device.deviceFingerprintTransactionId, the CreateRiskAssessmentCards.order.customer.device.deviceFingerprintTransactionId or the CreateRiskAssessmentBankaccounts.order.customer.device.deviceFingerprintTransactionId.
|
|||
html | string | yes | read close |
close
DescriptionContains the ready-to-use device fingerprint collector script. You have to inject it into your page and call it when the customer presses the final payment submit button. You should only call it once per payment request.
|
Response example
This scenario you will probably use the most
-
{ "html" : "<DEVICE FINGERPRINT HTML SCRIPT TAG>", "deviceFingerprintTransactionId" : "2f6a0ceb-4ab4-44e0-b76b-cf4b8f2afcdd" }
Response 400 - Bad requestErrorResponse
Properties
|
|||
Property | Type | Required | Details |
---|---|---|---|
errorId | string | yes | read close |
close
DescriptionUnique reference, for debugging purposes, of this error response
|
|||
array of object | yes | read close | |
close
DescriptionList of one or more errors
|
|||
object | no | read close | |
category | string | no | read close |
close
DescriptionCategory the error belongs to. The category should give an indication of the type of error you are dealing with.
Possible values:
|
|||
code | string | yes | read close |
close
DescriptionError code
|
|||
httpStatusCode | integer | no | read close |
close
DescriptionHTTP status code for this error that can be used to determine the type of error
|
|||
id | string | no | read close |
close
DescriptionID of the error. This is a short human-readable message that briefly describes the error.
|
|||
message | string | no | read close |
close
DescriptionHuman-readable error message that is not meant to be relayed to customer as it might tip off people who are trying to commit fraud
|
|||
propertyName | string | no | read close |
close
DescriptionReturned only if the error relates to a value that was missing or incorrect.
Contains a location path to the value as a JSonata query. Some common examples:
|
|||
requestId | string | no | read close |
close
DescriptionID of the request that can be used for debugging purposes
|
Response example
This scenario you will probably use the most
-
{ "errorId" : "15eabcd5-30b3-479b-ae03-67bb351c07e6-00000092", "errors" : [ { "code" : "20000000", "propertyName" : "bankAccountBban.accountNumber", "message" : "PARAMETER_NOT_FOUND_IN_REQUEST" } ] }
Response 404 - Not foundErrorResponse
The paymentProductId you submitted does not exist or does not have device fingerprint enabled.
Properties
|
|||
Property | Type | Required | Details |
---|---|---|---|
errorId | string | yes | read close |
close
DescriptionUnique reference, for debugging purposes, of this error response
|
|||
array of object | yes | read close | |
close
DescriptionList of one or more errors
|
|||
object | no | read close | |
category | string | no | read close |
close
DescriptionCategory the error belongs to. The category should give an indication of the type of error you are dealing with.
Possible values:
|
|||
code | string | yes | read close |
close
DescriptionError code
|
|||
httpStatusCode | integer | no | read close |
close
DescriptionHTTP status code for this error that can be used to determine the type of error
|
|||
id | string | no | read close |
close
DescriptionID of the error. This is a short human-readable message that briefly describes the error.
|
|||
message | string | no | read close |
close
DescriptionHuman-readable error message that is not meant to be relayed to customer as it might tip off people who are trying to commit fraud
|
|||
propertyName | string | no | read close |
close
DescriptionReturned only if the error relates to a value that was missing or incorrect.
Contains a location path to the value as a JSonata query. Some common examples:
|
|||
requestId | string | no | read close |
close
DescriptionID of the request that can be used for debugging purposes
|
Response example
This scenario you will probably use the most
-
{ "errorId" : "3caa7750-a076-48b2-9402-3cb9eea613a6-00001532", "errors" : [ { "code" : "1424", "message" : "DEVICE_FINGERPRINT_NOT_ENABLED" } ] }