Skip to main content

Online payments

Verifone Fraud Protect

Last updated: 13-Mar-2024

Overview

Verifone's Fraud Protect provides a risk score and up to five risk insights with the ability to set up an automatic 'Accept for Further Processing' or 'Deny Transaction' fraud score range. The Fraud Score is the indicator of the likelihood or probability of a transaction being fraudulent. The Fraud Score ranges from 0 to 100, where a Fraud Score value of 0 means that the transaction is for sure not fraudulent, and a Fraud Score value of 100 means that the transaction is for sure fraudulent. In practice, as with all probability calculations, the likely value of any given Fraud Score will be in the range of 0 to 100.

Fraud Insights provides you with key indicators on why the transaction was given the score it was given, For example, a key indicator can be 'Email address links to too many accounts' or 'Purchaser has long good order history'.

Based on the transaction's fraud score and the set threshold for accepting or denying a transaction, Fraud Protect will automatically decide the action taken for each transaction.

Availability

Verifone's Fraud Protect can be used for credit card transactions initiated by shoppers on the Hosted Checkout (either the redirect or the Iframe integration), Payment Links, or via the server-to-server API integrations. The Card Verification, Sale, Pre-Authorization, and Final Authorization Transactions are supported.

Activation

To set up Fraud Protect, you need to have a Merchant Admin role and contact Verifone Support. Fraud Protect can only be viewed for the merchant entity for which they were set up, and every child entity inherits the Fraud Protect of the parent entity.

Workflow

Fraud Protect in Verifone Central

To view the Fraud Protect-related information in Verifone Central, you need to have a Merchant Admin role and follow these steps:

  1. Log in to your Verifone Central account.
  2. Navigate to Administration and click on Added Value Services.
  3. In the next window, you can see available Fraud Protect and their statuses.

You can also view the Fraud Protect-related information in the Transaction details tab of all the transactions that use the Fraud Protect service:

  • State - Will be "Failed" for orders blocked by Fraud Protect
  • Response code - The response code will be 9997 in case of an order that was blocked due to its fraud score
  • Response description - A human-readable description of the reason why the transaction received its response. In case of a blocked transaction, this will be "Transaction blocked by fraud validation rules" 
  • Fraud Risk Score - the total score indicating fraud risk
  • Fraud Insights - the list of reasons relevant for the Fraud Risk Score

Notifications

Based on the result of the transaction, a webhook notification will be sent, if configured. The eventTypes that will be used are "TxnSaleDeclined" or "TxnSaleApproved", depending on the result of the transaction. More information can be retrieved via a read transaction API call based on the transaction_id returned in the "eventId" property of the webhook's body.

For email-based notifications, the ID of the transaction will be available in the TRANSACTIONID, which can be used in the GET transaction API call. Depending on the transaction result, the transaction event can be either "Sale Approved" or "Sale Declined". This information is available in the EVENTTYPE property.

Hosted checkout (HPP/Iframe)

To have a transaction processed by Fraud Protect, the fraud_protection_contract needs to be sent in the card object at the root level. 

{
    "amount": 10000,
    "currency_code": "GBP",
    "entity_id": "c0d79cbd-8427-4510-8a4d-164bb9fbb150",
    "customer": "6e6adad0-4244-49db-a7df-4c6264efd71f",
    "configurations": {
        "card": {
            "card_capture_mode": "v2",
            "capture_now": false,
            "payment_contract_id": "9fd4fec6-6881-4b00-8287-beaf8b0d4e6f",
            "fraud_protection_contract": "a159cac3-f913-4a82-9e8f-70b307dac1c6",
            "dynamic_descriptor": "HTTPS TEST",
            "threed_secure": {
                "enabled": false,
                "threeds_contract_id": "9b172036-229c-4280-b125-213c6c3e1bbb",
                "total_items": "01",
                "transaction_mode": "S"
            }
        }
    },
    "merchant_reference": "122222{{RandomNumber}}",
    "return_url": "{{merchantReturnUrl}}",
    "i18n": {
        "default_language": "en",
        "show_language_options": true
    }
}

Once the transaction is completed by the shopper, the Fraud Score will be available in the response for the get Checkout by ID call:

{
  "id": "string",
  "amount": 9007199254740991,
  "entity_id": "string",
  "currency_code": "AED",
  "customer": "string",
  "expiry_time": "2019-08-24",
  "merchant_reference": "string",
  "return_url": "string",
  "configurations": {
    "card": {
      "dynamic_descriptor": "string",
      "account_validation": false,
      "capture_now": true,
      "cvv_required": false,
      "authorization_type": "PRE_AUTH",
      "shopper_interaction": "ECOMMERCE",
      "payment_contract_id": "string",
      "token_preference": {
        "token_scope": "string",
        "token_expiry_date": "2019-08-24",
        "token_type": "REUSE"
      },
      "threed_secure": {
        "account_age_indicator": "01",
        "account_create_date": "2019-08-24",
        "account_change_indicator": "01",
        "account_change_date": "2019-08-24",
        "account_pwd_change_indicator": "01",
        "account_pwd_change_date": "2019-08-24",
        "account_id": "string",
        "account_purchases": 9999,
        "acs_window_size": "01",
        "add_card_attempts": 999,
        "address_match": "Y",
        "alternate_authentication_method": "01",
        "alternate_authentication_date": "2019-08-24",
        "alternate_authentication_data": "string",
        "threeds_contract_id": "string",
        "authentication_indicator": "01",
        "category_code": 9999,
        "challenge_indicator": "01",
        "delivery_email": "string",
        "delivery_time_frame": "01",
        "enabled": true,
        "fraud_activity": "01",
        "gift_card_amount": 999999999999999,
        "gift_card_currency_code": "str",
        "gift_card_count": 99,
        "installment": 2,
        "message_category": "01",
        "payment_use_case": "01",
        "payment_account_indicator": "01",
        "payment_account_age": "2019-08-24",
        "pre_order_indicator": "01",
        "pre_order_date": "2019-08-24",
        "prior_authentication_data": "string",
        "prior_authentication_method": "01",
        "prior_authentication_time": "2019-08-24",
        "prior_authentication_ref": "string",
        "product_code": "PHY",
        "recurring_end": "2019-08-24",
        "recurring_frequency": 9999,
        "reorder_indicator": "01",
        "requestor_id": "string",
        "requestor_name": "string",
        "shipping_address_usage_indicator": "01",
        "shipping_address_usage_date": "2019-08-24",
        "shipping_method_indicator": "01",
        "shipping_name_indicator": "01",
        "total_items": "string",
        "merchant_score": "string",
        "transaction_count_day": 999,
        "transaction_count_year": 999,
        "transaction_mode": "M",
        "version": "1.0.2"
      },
      "mode": "CARD_CAPTURE",
      "card_capture_mode": "v1",
      "card_token": "string",
      "card_last_four": "stri",
      "card_expiry_year": "string",
      "card_expiry_month": "string",
      "card_brand": [
        "string"
      ],
      "card_encryption_key_alias": "string",
      "threeds_authentication_id": "string",
      "token_details": {
        "reuse_token": "string",
        "analytics_token": "string"
      },
      "credit_term": "DEBIT",
      "credit_term_used": "DEBIT",
      "instalment": {
        "max_number_of_instalments": 1,
        "down_payment_amount": 9007199254740991
      },
      "input_overrides": {
        "CVV": {
          "validation_rule": "NONE",
          "usage": "REQUIRED"
        },
        "CREDIT_TERM": {
          "validation_rule": "NONE",
          "usage": "REQUIRED"
        },
        "IDENTITY_CARD_NUMBER": {
          "validation_rule": "NONE",
          "usage": "REQUIRED"
        }
      },
      "instalment_used": {
        "instalment_amount": 9007199254740991,
        "down_payment_amount": 9007199254740991,
        "number_of_instalments": 0
      },
      "stored_credential": {
        "stored_credential_type": "SIGNUP",
        "first_payment": true,
        "consent_text": "string",
        "consent_text_dynamic_values": [
          "string"
        ],
        "processing_model_details": {
          "processing_model": "RECURRING",
          "total_payment_number": 9007199254740991,
          "total_payment_amount": 9007199254740991,
          "first_payment_amount": 9007199254740991,
          "payment_frequency": {
            "time_unit": "DAY",
            "value": 0
          },
          "merchant_signup_code": "string"
        },
        "reference": "string",
        "scheme_reference": "string"
      },
      "reuse_token": "string",
      "encrypted_card": "string",
      "additional_business_data": {
        "addendum1": "string",
        "addendum2": "string"
      }
    },
    "gpp2": {
      "payment_contract_id": "string",
      "shopper_interaction": "ECOMMERCE",
      "card_encryption_key_alias": "string"
    },
    "paypal": {
      "dynamic_descriptor": "string",
      "capture_now": true,
      "payment_contract_id": "string",
      "description": "string",
      "application_context": {
        "landing_page": "BILLING",
        "brand_name": "string",
        "locale": "string"
      }
    },
    "google_pay": {
      "dynamic_descriptor": "string",
      "capture_now": true,
      "account_validation": false,
      "card": {
        "sca_compliance_level": "NONE",
        "threed_secure": {
          "account_age_indicator": "01",
          "account_create_date": "2019-08-24",
          "account_change_indicator": "01",
          "account_change_date": "2019-08-24",
          "account_pwd_change_indicator": "01",
          "account_pwd_change_date": "2019-08-24",
          "account_id": "string",
          "account_purchases": 9999,
          "acs_window_size": "01",
          "add_card_attempts": 999,
          "address_match": "Y",
          "alternate_authentication_method": "01",
          "alternate_authentication_date": "2019-08-24",
          "alternate_authentication_data": "string",
          "threeds_contract_id": "string",
          "authentication_indicator": "01",
          "category_code": 9999,
          "challenge_indicator": "01",
          "delivery_email": "string",
          "delivery_time_frame": "01",
          "enabled": true,
          "fraud_activity": "01",
          "gift_card_amount": 999999999999999,
          "gift_card_currency_code": "str",
          "gift_card_count": 99,
          "installment": 2,
          "message_category": "01",
          "payment_use_case": "01",
          "payment_account_indicator": "01",
          "payment_account_age": "2019-08-24",
          "pre_order_indicator": "01",
          "pre_order_date": "2019-08-24",
          "prior_authentication_data": "string",
          "prior_authentication_method": "01",
          "prior_authentication_time": "2019-08-24",
          "prior_authentication_ref": "string",
          "product_code": "PHY",
          "recurring_end": "2019-08-24",
          "recurring_frequency": 9999,
          "reorder_indicator": "01",
          "requestor_id": "string",
          "requestor_name": "string",
          "shipping_address_usage_indicator": "01",
          "shipping_address_usage_date": "2019-08-24",
          "shipping_method_indicator": "01",
          "shipping_name_indicator": "01",
          "total_items": "string",
          "merchant_score": "string",
          "transaction_count_day": 999,
          "transaction_count_year": 999,
          "transaction_mode": "M",
          "version": "1.0.2"
        },
        "authorization_type": "FINAL_AUTH",
        "shopper_interaction": "ECOMMERCE",
        "payment_contract_id": "string",
        "token_preference": {
          "token_scope": "string",
          "token_expiry_date": "2019-08-24",
          "token_type": "REUSE"
        },
        "card_encryption_key_alias": "string",
        "threeds_authentication_id": "string",
        "token_details": {
          "reuse_token": "string",
          "analytics_token": "string"
        }
      }
    },
    "apple_pay": {
      "dynamic_descriptor": "string",
      "capture_now": true,
      "account_validation": false,
      "card": {
        "sca_compliance_level": "NONE",
        "threed_secure": {
          "account_age_indicator": "01",
          "account_create_date": "2019-08-24",
          "account_change_indicator": "01",
          "account_change_date": "2019-08-24",
          "account_pwd_change_indicator": "01",
          "account_pwd_change_date": "2019-08-24",
          "account_id": "string",
          "account_purchases": 9999,
          "acs_window_size": "01",
          "add_card_attempts": 999,
          "address_match": "Y",
          "alternate_authentication_method": "01",
          "alternate_authentication_date": "2019-08-24",
          "alternate_authentication_data": "string",
          "threeds_contract_id": "string",
          "authentication_indicator": "01",
          "category_code": 9999,
          "challenge_indicator": "01",
          "delivery_email": "string",
          "delivery_time_frame": "01",
          "enabled": true,
          "fraud_activity": "01",
          "gift_card_amount": 999999999999999,
          "gift_card_currency_code": "str",
          "gift_card_count": 99,
          "installment": 2,
          "message_category": "01",
          "payment_use_case": "01",
          "payment_account_indicator": "01",
          "payment_account_age": "2019-08-24",
          "pre_order_indicator": "01",
          "pre_order_date": "2019-08-24",
          "prior_authentication_data": "string",
          "prior_authentication_method": "01",
          "prior_authentication_time": "2019-08-24",
          "prior_authentication_ref": "string",
          "product_code": "PHY",
          "recurring_end": "2019-08-24",
          "recurring_frequency": 9999,
          "reorder_indicator": "01",
          "requestor_id": "string",
          "requestor_name": "string",
          "shipping_address_usage_indicator": "01",
          "shipping_address_usage_date": "2019-08-24",
          "shipping_method_indicator": "01",
          "shipping_name_indicator": "01",
          "total_items": "string",
          "merchant_score": "string",
          "transaction_count_day": 999,
          "transaction_count_year": 999,
          "transaction_mode": "M",
          "version": "1.0.2"
        },
        "authorization_type": "FINAL_AUTH",
        "shopper_interaction": "ECOMMERCE",
        "payment_contract_id": "string",
        "token_preference": {
          "token_scope": "string",
          "token_expiry_date": "2019-08-24",
          "token_type": "REUSE"
        }
      }
    },
    "vipps": {
      "payment_contract_id": "string",
      "dynamic_descriptor": "string",
      "capture_now": true,
      "is_app": false,
      "app_phone_number": "string",
      "card": {
        "sca_compliance_level": "NONE",
        "threed_secure": {
          "account_age_indicator": "01",
          "account_create_date": "2019-08-24",
          "account_change_indicator": "01",
          "account_change_date": "2019-08-24",
          "account_pwd_change_indicator": "01",
          "account_pwd_change_date": "2019-08-24",
          "account_id": "string",
          "account_purchases": 9999,
          "acs_window_size": "01",
          "add_card_attempts": 999,
          "address_match": "Y",
          "alternate_authentication_method": "01",
          "alternate_authentication_date": "2019-08-24",
          "alternate_authentication_data": "string",
          "threeds_contract_id": "string",
          "authentication_indicator": "01",
          "category_code": 9999,
          "challenge_indicator": "01",
          "delivery_email": "string",
          "delivery_time_frame": "01",
          "enabled": true,
          "fraud_activity": "01",
          "gift_card_amount": 999999999999999,
          "gift_card_currency_code": "str",
          "gift_card_count": 99,
          "installment": 2,
          "message_category": "01",
          "payment_use_case": "01",
          "payment_account_indicator": "01",
          "payment_account_age": "2019-08-24",
          "pre_order_indicator": "01",
          "pre_order_date": "2019-08-24",
          "prior_authentication_data": "string",
          "prior_authentication_method": "01",
          "prior_authentication_time": "2019-08-24",
          "prior_authentication_ref": "string",
          "product_code": "PHY",
          "recurring_end": "2019-08-24",
          "recurring_frequency": 9999,
          "reorder_indicator": "01",
          "requestor_id": "string",
          "requestor_name": "string",
          "shipping_address_usage_indicator": "01",
          "shipping_address_usage_date": "2019-08-24",
          "shipping_method_indicator": "01",
          "shipping_name_indicator": "01",
          "total_items": "string",
          "merchant_score": "string",
          "transaction_count_day": 999,
          "transaction_count_year": 999,
          "transaction_mode": "M",
          "version": "1.0.2"
        },
        "authorization_type": "FINAL_AUTH",
        "encrypted_card": "string",
        "card_encryption_key_alias": "string",
        "return_url": "string"
      }
    },
    "klarna": {
      "capture_now": true
    },
    "swish": {
      "app_phone_number": "string",
      "shopper_interaction": "ECOMMERCE"
    },
    "mobile_pay": {
      "dynamic_descriptor": "string",
      "capture_now": true,
      "payment_contract_id": "string",
      "card": {
        "sca_compliance_level": "NONE",
        "threed_secure": {
          "account_age_indicator": "01",
          "account_create_date": "2019-08-24",
          "account_change_indicator": "01",
          "account_change_date": "2019-08-24",
          "account_pwd_change_indicator": "01",
          "account_pwd_change_date": "2019-08-24",
          "account_id": "string",
          "account_purchases": 9999,
          "acs_window_size": "01",
          "add_card_attempts": 999,
          "address_match": "Y",
          "alternate_authentication_method": "01",
          "alternate_authentication_date": "2019-08-24",
          "alternate_authentication_data": "string",
          "threeds_contract_id": "string",
          "authentication_indicator": "01",
          "category_code": 9999,
          "challenge_indicator": "01",
          "delivery_email": "string",
          "delivery_time_frame": "01",
          "enabled": true,
          "fraud_activity": "01",
          "gift_card_amount": 999999999999999,
          "gift_card_currency_code": "str",
          "gift_card_count": 99,
          "installment": 2,
          "message_category": "01",
          "payment_use_case": "01",
          "payment_account_indicator": "01",
          "payment_account_age": "2019-08-24",
          "pre_order_indicator": "01",
          "pre_order_date": "2019-08-24",
          "prior_authentication_data": "string",
          "prior_authentication_method": "01",
          "prior_authentication_time": "2019-08-24",
          "prior_authentication_ref": "string",
          "product_code": "PHY",
          "recurring_end": "2019-08-24",
          "recurring_frequency": 9999,
          "reorder_indicator": "01",
          "requestor_id": "string",
          "requestor_name": "string",
          "shipping_address_usage_indicator": "01",
          "shipping_address_usage_date": "2019-08-24",
          "shipping_method_indicator": "01",
          "shipping_name_indicator": "01",
          "total_items": "string",
          "merchant_score": "string",
          "transaction_count_day": 999,
          "transaction_count_year": 999,
          "transaction_mode": "M",
          "version": "1.0.2"
        },
        "authorization_type": "PRE_AUTH",
        "shopper_interaction": "ECOMMERCE",
        "payment_contract_id": "string",
        "token_preference": {
          "token_scope": "string",
          "token_expiry_date": "2019-08-24",
          "token_type": "REUSE"
        },
        "card_encryption_key_alias": "string",
        "threeds_authentication_id": "string",
        "token_details": {
          "reuse_token": "string",
          "analytics_token": "string"
        },
        "encrypted_card": "string",
        "return_url": "string"
      }
    }
  },
  "created_at": "2019-08-24",
  "updated_at": "2019-08-24",
  "transaction_id": "string",
  "customer_ip": "string",
  "user_agent": "string",
  "i18n": {
    "default_language": "string",
    "fallback_language": "string",
    "show_language_options": true
  },
  "events": [
    {
      "type": "string",
      "id": "string",
      "timestamp": "2019-08-24",
      "details": {}
    }
  ],
  "status": "string",
  "notification_methods": {
    "email": {
      "email_address": "string"
    },
    "sms": {
      "phone_number": "string"
    }
  },
  "display_line_items": true,
  "line_items": [
    {
      "image_url": "string",
      "item_url": "string",
      "image_id": "string",
      "name": "string",
      "quantity": 0,
      "unit_price": 0,
      "unit_price_tax": 0,
      "tax_rate": 0,
      "total_tax_amount": 0,
      "total_amount": 0,
      "sku": "string",
      "description": "string",
      "category": "DIGITAL_GOODS"
    }
  ],
  "interaction_type": "HPP",
  "payment_method_used": "card",
  "url": "string",
  "theme_id": "string",
  "receipt_type": "INVOICE",
  "created_by": "string",
  "fraud_analysis_results": {
    "score": 0.25,
    "reasons": [
      "Good online presence",
      "Buying from safe product categories"
    ]
  }
}

Inside the response object, a new property named fraud_analysis_results provides the score (as a value between 0 and 1), as well as the list of returned insights for the score (under the reason property).

If the shopper reached the Checkout page but did not complete the transaction, then the fraud_analysis_results property will not be available when reading the checkout session information. 

If the transaction is automatically blocked by the configured score threshold, the status of the transaction will be FAILED. 

Server-to-server API 

To have a transaction processed by Fraud Protect, the fraud_protection_contract needs to be sent in a request for creating a new transaction, at the root level.

{
    "sca_exemption": "6",
    "encrypted_card": "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tDQpWZXJzaW9uOiBPcGVuUEdQLmpzIHY0LjEwLjkNCkNvbW1lbnQ6IGh0dHBzOi8vb3BlbnBncGpzLm9yZw0KDQp3WDRENVRzcE1rTlYvMWNTQWdNRTVsSWdVWDhMS2Fhc0p3V2lqSHNkN1RSQ3ZzenNxS1ZkamhWZTVrTnQNCnFFREhPNUQ3OG9wa0d4RU1ReU9GeHRBTHZ5L3pGZkdmWXhJSVUwdDQ2N0xRK3pES1ZJd3lkVyttWHFxcQ0KQ21VOUExMm5vbTEybGZaZW9sakh3OTVYdG9MN3pLT05mUVpwZjYvbXg0WUUyd0krR0pyU3JBRVR5R2JlDQplc3dGRy9lVDl3R0pMaFJIQjZ3YUFIVGQzdFFsQXBOdG5JR2YrSHFUcHdRbDhxWkxIRjVhaWh0enVjVmQNCldEUE5obnVBbTVESFNqcVhndUx0RC9TWEpiVXZGOEhCRkE3S3RsUVk5S1RmZElJMUdnam1JSGROSVdZZQ0KZzA1cWQwVUVYZjZjQ0QrN2RDNUJDWGZwejZRNEFnZGZpWEVsMTVYTzFjLzlVbW1xcmR6LytkUlRVUTUvDQo0YWpicGpndUhhbW9nTGhKaEgybjFpbXNSTDlpTi9GYUlFNHA3bU1aQWpVPQ0KPTVsM24NCi0tLS0tRU5EIFBHUCBNRVNTQUdFLS0tLS0NCg==",
    "amount": 100,
    "auth_type": "FINAL_AUTH",
    "payment_provider_contract": "9fd4fec6-6881-4b00-8287-beaf8b0d4e6f",
    "public_key_alias": "K1896",
    "capture_now": false,
    "customer_ip": "127.0.0.1",
    "currency_code": "GBP",
    "brand_choice": "MERCHANT",
    "shopper_interaction": "ECOMMERCE",
    "fraud_protection_contract": "a159cac3-f913-4a82-9e8f-70b307dac1c6",
    "merchant_reference": "5678",
    "dynamic_descriptor": "TEST AUTOMATION ECOM",
    "card_brand": "VISA",
    "user_agent": "string",
    "threed_authentication": {
        "cavv": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
        "additional_data": {
            "reason_code": "001",
            "challenge_indicator": "01",
            "reason_desc": "sh",
            "acs_operator_id": "MerchantACS",
            "acs_url": "https://0merchantacsstag.cardinalcommerce.com/MerchantACSWeb/creq.jsp",
            "total_items": 1,
            "device_channel": "BROWSER"
        },
        "threeds_version": "2.1.0",
        "signature_verification": "Y",
        "ds_transaction_id": "ea5e8cb3-69c1-4229-b484-2def1be9952c",
        "error_desc": "Success",
        "eci_flag": "05",
        "pares_status": "Y",
        "enrolled": "Y",
        "error_no": "0"
    },
      "line_items": [
        {
            "name": "Testone",
            "quantity": 1,
            "tax_rate": 0,
            "total_amount": 1000,
            "total_tax_amount": 0,
            "category": "PHYSICAL_GOODS",
            "description": "productDescription",
            "discount_amount": 0,
            "image_url": "imageUrl",
            "sku": "productSKU",
            "unit_price": 1000,
            "unit_price_tax": 0
        }
    ]
}

Once a transaction is received via the create transaction API call, the response will contain the result of the Fraud Protect review together with the insights. The status of the transaction will reflect if the transaction was accepted or denied automatically:

 {
  "id": "76944d4b-89e6-48d2-ac04-675383c3eedf",
  "payment_provider_contract": "30b8bec8-5042-4e67-939c-5453fbe41711",
  "amount": 10000,
  "blocked": false,
  "created_at": "2021-08-24T14:15:22Z",
  "customer": "string",
  "merchant_reference": "string",
  "payment_product": "string",
  "payment_product_type": "string",
  "processor_reference": "string",
  "processor_details": {},
  "status": "AUTHORIZED",
  "status_reason": "string",
  "shipping_information": {
    "address": "3732  Metz Lane",
    "city": "West Roxbury",
    "country": "US",
    "postal_code": "1114",
    "email": "user@example.com",
    "first_name": "Thelma",
    "last_name": "Tatro",
    "phone": 8577532706,
    "state": "MA"
  },
  "arn": "string",
  "authorization_code": "5B1D4C",
  "avs_result": "5",
  "card": "string",
  "created_by": "string",
  "cvv_present": true,
  "cvv_result": "1",
  "cavv_result": "99",
  "stored_credential": {
    "contract": "ONE_CLICK",
    "reference": "string",
    "name": "string",
    "processing_model": "CREDENTIAL_ON_FILE",
    "stored_credential_type": "string",
    "details": "CREDENTIAL_ON_FILE"
  },
  "details": {
    "auto_capture": true,
    "mid": "363162200000049"
  },
  "reason_code": "stri",
  "rrn": "200211654321",
  "shopper_interaction": "ECOMMERCE",
  "stan": "string",
  "threed_authentication": {
    "eci_flag": "02",
    "enrolled": "Y",
    "cavv": "stringstringstringstringstri",
    "cavv_algorithm": "string",
    "pares_status": "A",
    "xid": "string",
    "threeds_version": "1.0.2",
    "ds_transaction_id": "string"
  },
  "reversal_status": "NONE",
  "geo_location": [
    "52.370216",
    "4.895168"
  ],
  "city": "West Roxbury",
  "country_code": "US",
  "additional_data": {
    "acquirer_response_code": "stri",
    "initiator_trace_id": "000001"
  },
  "fraud_analysis_results": {
    "score": 0.25,
    "reasons": [
      "Good online presence",
      "Buying from safe product categories"
    ]
  },
  "token_details": {
    "reuse_token": "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tDQpWZXJzaW9uOiBPcGVuUEdQLmpzIHY0LjEwLjgNCkNvbW1lbnQ6IGh0dHBzOi8vb3BlbnBncGpzLm9yZw0KDQp3WDRENVRzcE1rTlYvMWNTQWdNRXd2ODltY3NaZnVLbnJsZ1JjZHJzelBVZVJJQVoveGh1d2tkUU1QMlENCmpOUjZJbEkrckRicUdFbEZwbzc4OTRtUmFqdEg3OFBqbG4zZ0lZbkY2aVUvdmpEY3czc1VHZEsvMEtZMg0KQWJ0c1JCMy9KQUlRdTRsZ2gxa2ZnRXArVlJFWWpVMWJvOVI4Um9SV0lBUGI3TlpXUXVmU3JBSHJCTkNqDQo3Qkp6all4VWZYMGpHbG1sWHNuUkpnZ3Q3WEVueGd6VkZ5d0pkaXFXSmNCT3REb2JvQjd5c0F4TG5vMWINClJPbnZZVnUxR04yeVdHK2E5eWYrZWZTcGZkUjZQK2tWd3hLdTlGMmMwWHcwbEtZMmZNZWJVeEcyQWs3Yw0KYkZGUkZWcmxhU2pucFpVd0lERFhZYzczb3o3UlRVbFkzWmZ5WjFjZXlsYktqeEFoZGVFNzRzUWQyVDJoDQpySU40bTN6OW1jMWlxREVqRkxOSVIwZ3hhZWs2eUU2YmRpeldldGxrWTZJPQ0KPUxXWVQNCi0tLS0tRU5EIFBHUCBNRVNTQUdFLS0tLS0NCg==",
    "analytics_token": "string",
    "token_expiry_date": "2022-08-24",
    "token_scope": "0e48425a-f1bc-431a-b7d8-f866de8ba276",
    "token_status": "DELETED",
    "created_at": "2019-08-24",
    "updated_at": "2019-08-24",
    "variant": "NEW_WORLD",
    "type": "CREDIT",
    "issuer_name": "HSBC",
    "issuer_country": "ZZZ",
    "brand": "VISA",
    "expiry_year": 2021,
    "expiry_month": 12,
    "card_holder_name": "MR JOHN DOE",
    "last_four": "3127",
    "bin": "492912",
    "currency_code": "USD"
  }
}

Inside the response object, a new property named fraud_analysis_results provides the score (as a value between 0 and 1), as well as the list of returned insights for the score (under the reason property).

If the transaction is automatically blocked by the configured score threshold, the status of the transaction will be FAILED. 

Making the fraud score more accurate

For the fraud score to be more accurate, it is recommended for server-to-server API checkout pages to also include Behavioral Analytics and Device Fingerprinting.

Starting a new session

To initialize the Behavioral Analytics and Device Fingerprinting library, a session token must be obtained by calling /init. Authentication can be done both with the API keys as well as bearer token.

The endpoints for the /init call are:

{
"fraudProtectionContract": "a159cac3-f913-4a82-9e8f-70b307dac1c6"
}

The response of the request will look like:

{
    "clientSideParameters": {
        "orgId": string // for the SDK,
        "webSessionId": string // for the SDK,
    },
    "fraudProtectionToken": string // to be passed in Card Payment Initiation
}

Initializing the JS library

To initialize the JS library, the orgId and the webSessionId parameters from the /init response are needed. When triggering the transaction via the API, the fraudProtectionToken needs to be used to connect the data gathered by the library to the transaction.

The library can be included in the checkout HTML by including it at the following URL: https://fp.ecustomerpayments.com/DF/fp/check.js?org_id=${orgId}&session_id=${webSessionId}

Once the library has been included in the page, tags need to be added according to the library's documentation here.

Creating the transaction

When the transaction is created via the eCommerce API, the fraudProtectionToken needs to be provided at the root level. In a brief example, this would look like:

{
  "payment_provider_contract": "30b8bec8-5042-4e67-939c-5453fbe41711",
  [...]
  "fraud_protection_contract": "30b8bec8-5042-4e67-939c-5453fbe41711",
  "fraud_protection_token": "N2ExZGI3YTgtNmYyNC00YmM1LWE1MWItY2VmMzNmYzA1MTQwLjQ1bmIzNDViMzRiazUzMi41NjQzNjM2NQ==",
  "customer": "0a57b387-2ba7-4f65-be2f-e176bb49d2ce",
  "customer_ip": "127.0.0.1",
  [...]
}

 

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo