Fraud Intelligence Integration
Fraud Intelligence is a Saferpay module that protects merchants from fraudulent online transactions. It relies on industry-leading AI technology and allows merchants to dynamically react on suspicious behavior and even prevent transactions with malicious intent, during authentication.
This chapter will cover the technical aspects on how to integrate Fraud Intelligence in your application.
Requirements
A corresponding license and thus a valid identification with a username and password for the Saferpay system.
Availability of at least one active Saferpay terminal via which payments can be carried out, and availability of the associated Saferpay TerminalId.
A contract to use the Fraud Intelligence module in Saferpay. Please contact your contractual sales contact on that matter.
Saferpay JSON API SpecVersion 1.20+
Supported Payment Methods and Flows
Currently, the following payment methods are supported:
Visa/VPay
Mastercard/Maestro
American Express
Bancontact
Diners Club
JCB
PayPal
Unionpay
Currently, the following flows are supported:
Transaction Interface, including Saferpay Fields
Data points
In order for the fraud detection to work properly, the system needs to be provided with a set of data points with each transaction. Some are provided automatically by Saferpay, while others need to be submitted by the merchant's system with the initial request, when starting the transaction with either Transaction Initialize or Payment Page Initialize.
All of these datapoints are generally optional. However the detection will work better the more data are provided.
The following data points can be set via the JSON API:
Payment.Amount.Value
Total amount
The transaction amount.
Payment.Amount.CurrencyCode
Currency
The transaction currency.
(see description)
Merchant payment instrument ID
A hash of the used PAN. Note that this value usually comes directly from the card holder, rather than the merchant.
(see description)
BIN country/region ISO
The ISO code of the card issuer country. Only available for Visa, Mastercard, Maestro International, Bancontact and UnionPay transactions.
Payer.DeliveryAddress.Email
Shipping email
The customer's E-Mail address.
Payer.IpAddress
IP address (via Merchant)
The customer's IP-address.
RiskFactors.AccountCreationDate
n/a (used only for scoring)
The customer's date of signup to the merchant shop.
RiskFactors.PasswordLastChangeDate
n/a (used only for scoring)
The date when the customer last changed his/her password.
Order.Items[]
Products
Array of all the shopping cart items.
Order.Items[].Id
Product ID
Identifier of the product. This ID is created and provided by the merchant.
Order.Items[].Description
Product name
Description of the product, given by the merchant.
Order.Items[].UnitPrice
n/a (used only for scoring)
Price of the product.
Order.Items[].Quantity
n/a (used only for scoring)
Quantity ordered of this specific item.
Order.Items[].CategoryName
Category
Product category, given by the merchant.
Order.Items[].Type
Product type
Product type. Has to be one of the following: DIGITAL|PHYSICAL|SERVICE|GIFTCARD
RiskFactors[].DeliveryType
Product shipping method
The used delivery method. Recommended values:
EMAIL: The items are delivered electronically to the customer.
HOMEDELIVERY: The items are delivered to the customer's shipping address.
PICKUP: The customer collects the items from a pickup location.
SHOP: The customer collects the items from a branch shop.
HQ: The customer collects the items from the flagship store.
Payer.BillingAddress.City
City (Billing address)
Billing address city
Payer.BillingAddress.Country
Country/Region (Billing address)
Billing address country
Payer.BillingAddress.FirstName
First name (Billing address)
Billing address first name
Payer.BillingAddress.LastName
Last name (Billing address)
Billing address last name
Payer.BillingAddress.Street
Street 1 (Billing address)
Billing address street
Payer.BillingAddress.Street2
Street 2 (Billing address)
Additional billing address street information (e.g. PO Box)
Payer.BillingAddress.Zip
ZIP code (Billing address)
Billing address zip code
Payer.DeliveryAddress.City
City (Shipping address)
Shipping address city
Payer.DeliveryAddress.Country
Country/Region (Shipping address)
Shipping address country
Payer.DeliveryAddress.FirstName
First name (Shipping address)
Shipping address first name
Payer.DeliveryAddress.LastName
Last name (Shipping address)
Shipping address last name
Payer.DeliveryAddress.Street
Street 1 (Shipping address)
Shipping address street
Payer.DeliveryAddress.Street2
Street 2 (Shipping address)
Additional shipping address street information (e.g. PO Box)
Payer.DeliveryAddress.Zip
ZIP code (Shipping address)
Delivery address zip code
Payer.DeliveryAddress.Email
Shipping email
Delivery address email address
RiskFactors.PayerProfile.FirstName
First name (User)
Payer's first name
RiskFactors.PayerProfile.LastName
Last name (User)
Payer's last name
RiskFactors.PayerProfile.CreationDate
n/a (used only for scoring)
The creation date and time of the payer's account in the merchant's system.
RiskFactors.PayerProfile.Email
Payer's e-mail address.
RiskFactors.PayerProfile.Phone.Main
Phone number (User)
Payer's phone number
RiskFactors.DeviceFingerprintTransactionId
Device ID (via Merchant)
Deprecated Fields
This fields are not in use anymore:
Payer.BillingAddress.DateOfBirthPayer.BillingAddress.DateOfBirth
Order.Items[].VariantIdOrder.Items[].VariantId
Order.Items[].IsPreOrderOrder.Items[].IsPreOrder
Payer.BillingAddress.PhonePayer.BillingAddress.Phone
Payer.DeliveryAddress.PhonePayer.DeliveryAddress.Phone
RiskFactors.PayerProfile.HasAccountRiskFactors.PayerProfile.HasAccount
RiskFactors.PayerProfile.HasPasswordRiskFactors.PayerProfile.HasPassword
RiskFactors.PayerProfile.PasswordForgottenRiskFactors.PayerProfile.PasswordForgotten
RiskFactors.PayerProfile.DateOfBirthRiskFactors.PayerProfile.DateOfBirth
RiskFactors.PayerProfile.LastLoginDateRiskFactors.PayerProfile.LastLoginDate
RiskFactors.PayerProfile.GenderRiskFactors.PayerProfile.Gender
RiskFactors.PayerProfile.SecondaryEmailRiskFactors.PayerProfile.SecondaryEmail
RiskFactors.PayerProfile.Phone.MobileRiskFactors.PayerProfile.Phone.Mobile
RiskFactors.PayerProfile.Phone.WorkRiskFactors.PayerProfile.Phone.Work
Device Fingerprinting
If Devide Fingerprinting is enabled, the following additional data points are available:
Device ID (via Merchant)
The Device ID given by the Merchant
True IP
The identified IP address of the device
Device state
State of the approximate device location
Device city
City of the approximate device location
Device postal code
ZIP code of the approximate device location
Proxy
Example "yes" or "no"
Screen resolution
Example "2560x1440"
Example
Here you can see an example Payment Page Initialize request. Note that the containers and parameters are, of course, consistent throughout the whole API:
Device Fingerprinting
Device Fingerprinting is a process to identify and track devices across websites through a central service. The data collected is used to identify malicious devices and thusly to prevent fraud.
The Saferpay Fraud Intelligence solution does offer possibilities to benefit from such a process, however it needs additional integration steps, in order to function.
Preparation
Before you can start integrating, please contact dl-fraud-team-saferpay@worldline.com in order to get your so called instanceId, which is important for this service to function.
Integration
The integration of the Device Fingerprinting service is done on client-side via JavaScript.
It is imperative, that this script is called before the Saferpay payment is initialized.
Code Sample
Explanation
The above script creates the fingerprint itself and directly submits the data towards the Fraud Intelligence service.
dfpBaseUrl: This URL static and provided by us. It will change shortly and we'll then inform what the new URL is.
session_id: A unique id generated by you which is diferent for each transaction. It is also used by Saferpay, see the next step.
instanceId: The instanceId which was given to you by the DFP support
pageId: This value always needs to be "P" which stands for "Prevention" and helps to route the data to the right location.
Saferpay Integration
Once the above script has been successfully initialized and the necessary device-fingerprint has been created, you can initialize the Saferpay Payment.
It is however important, that you share the unique session_id
you previously created with Saferpay. You do so, by submitting it inside the RiskFactors.DeviceFingerprintTransactionId
parameter, via either the PaymentPage Initialize, or Transaction Initialize request, depending on your integration.
Risk Score
The Fraud Intelligence module uses artificial intelligence to calculate a Risk Score from all available data. This Risk Score is an indicator how risky the transaction is: A transaction with a high Risk Score generally has a higher propability to be fraudulent than a transaction with a low risk score.
Rules
Rules are used to configure the individual risk appetite of a merchant and to make a decision based on the calculated Risk Score and other criteria. For example, a simple rule could block all transactions with a Risk Score higher than x. A rule can also combine multiple conditions such as velocity thresholds and check other data points, which allows to model complex business requirements and manually block specific fraud scenarios.
Responses
Success
In case of a success, the transaction response will also carry additional information inside the FraudPrevention.Result parameter. This can have one of two values: APPROVED and MANUAL_REVIEW.
In both cases, the transaction was indeed successful. However, the latter indicates that there may be issues with this transaction, which need to be reviewed manually.
It is then up to you, the merchant, to either accept or decline this transaction.
Failure
In case of a decline, Saferpay will throw a appropriate error, also containing the reason.
Feedback to Fraud Intelligence Hub
These responses will in return be transferred to the Fraud Intelligence Hub for further Risk analysis and overview purposes.
Note, that this currently only happens for normal debit transactions. Other transactions, like refunds, are currently not included.
Last updated
Was this helpful?