Skip to main content

Online payments

Fraud Protect

Last updated: 08-Jul-2022
Rate this article:

Overview

Verifone's Fraud Protect uses Vesta's Payment Protect Service to provide 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 ranges. 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, the Fraud Protect will automatically decide the action taken for each transaction.

Availability

Currently, you can use one third-party partner as part of Verifone's Fraud Protect. Vesta's Payment Protect module 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.

   Verifone's Fraud Protect service is available for merchants in  Sandbox (EMEA/US/) environment.

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 - Response code will be 9997 in case of a 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 provided by Vesta
  • Fraud Insights - the list of reasons provided by Vesta, 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 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 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 request for creating a new transaction, at 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 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 Vesta' Behavioral Analytics and Device Fingerprinting.

Starting a new session

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

{
"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' documentation here.

Creating the transaction

When the transaction is created via the eCommerce API, the fraudProtectionToken needs to be provided at 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",
  [...]
}

 

Rate this article:

Need help?

Do you have a question? On our Support page you will find a list with answers to frequently asked questions.
Did not find the answer you are looking for? Please contact us. We are happy to help.

Logo of Verifone