Fingerprint is an anti-fraud protection available on the new checkout widget. It requires a fingerprint generated by fingerprint.com just before loading the payment widget. The information gathered from the client at this step helps us identify fraud and decline it discreetly.
Integrate Fingerprint
To integrate, it requires the following integration steps:
[Client Side] Load fingerprint JS script, ideally globally, on all pages.
[Client Side] Call fp.get() with the fingerprintLinkedId from the order object returned in the OCTO API.
[Fingerprint] A fingerprint is internally generated and sent to Ventrata via webhook.
[Backend] Poll GET /orders/:id request until cardPayments.gateway is no longer null.
[Backend] When step 4 succeeds, load the payment form with the card payment session.
[Backend] Confirm the payment as normal.
📝 NOTES
Fingerprint JS Script
We use fingerprintjs-pro. Read the Quick Start Guide for more information.
You simply need to include the javascript file.Then load it with the following script:
const fp = FingerprintJS.load({
apiKey: "XXXXXXXX",
endpoint: "https://fp.ventrata.com",
scriptUrlPattern: "https://fp.ventrata.com/web/v<version>/<apiKey>/loader_v<loaderVersion>.js",
});The
XXXXXXXX
value is your Public API Key. Please contact your Account Manager to provide your API Key.
Use the ventrata/checkout
capability
To get access to order.fingerprintLinkedId
, needed for the next bit, use the ventrata/checkout
capability in all API requests you make. This will:
Make
cardPayments.gateway
null until we receive a webhook from Fingerprint.Provide the
order.fingerprintLinkedId
value.
Should you have any questions, do not hesitate to reach out to the Ventrata team.