Payment & Transaction Fraud Detection API Documentation

Stop Chargebacks With Transaction Risk API for Payment Fraud Detection

Credit Card Fraud Prevention API

IPQualityScore IP Reputation API, Email Validation API, Phone Number Validation API, and Device Fingerprint Technology support additional parameters for the purposes of scoring payments or users, detecting ecommerce fraud, and providing real-time online payment fraud detection. This transaction screening service is ideal for preventing chargeback fraud and performing advanced user scoring through our transaction risk API which can identify even the most sophisticated fraudulent transactions for websites and apps.

Real Time Transaction Screening

Online payment fraud continues to increase year over year. IPQS enables merchants and websites that collect payments to deploy an advanced fraud detection system with seamless integration for scoring customer data. Access the most up to date blocklists generated from partnerships with financial institutions and thousands of partners that process users and payments with our real time transaction screening API. Score payment details for transaction risk with on-demand API lookups during registration, login, or checkout. Our fraud detection systems consistently update to mitigate new trends for fraudulent transactions.

User, Payment, & Transaction Fraud Detection API

Additional user data for orders, payments, transactions, lead generation, and personal user information can be analyzed to enhance the transaction risk API fraud score accuracy. The fields listed below are entirely optional and provide additional data that can be used to detect fraudulent payments and suspicious behavior likely to generate chargeback fraud disputes. Any additional data beyond the IP address greatly improves detecting high risk activity.

Transaction risk analysis on will be displayed in the "transaction_details" object. If only one address is available for the user or transaction screening process, then please enter the address data into the "billing" or "shipping" variables, rather than entering the same address in both variables. Passing the email address also contributes to detecting fraudulent users, however only a light abusive check will be performed. Using a full lookup with IPQualityScore Email Verification API Documentation is recommended as it will provide greater details and accuracy for email reputation. The transaction variables listed below are optional, any irrelevant variables can be ignored.

Chargeback Detection API

Stop chargebacks and prevent fraudulent transactions at checkout by implementing this easy credit card fraud detection API with your order risk scoring process. Receive real-time transaction screening analysis about a user's billing details for complete chargeback protection. Higher Fraud Scores indicate greater transaction risk, with scores >= 90 in the upper tier of suspicious payments. The transaction risk API provides additional data insight into the user's email address and phone number reputation. Stolen credit card user data submitted by fraudsters is often already blacklisted in our database due to our comprehensive data network with financial institutions.

Customize Transaction Scoring

Adjust IPQualityScore payment, user, and transaction scoring algorithms to better fit your audience. Premium IPQualityScore clients can adjust your account's Transaction Rules for better performance and more tailored results.

JSON Transaction Screening Example Request

Below you will find an example of using transaction risk scoring functionality with our Proxy/VPN Detection API which can identify fraudulent transactions or malicious users. New to IPQualityScore? View our base Proxy Detection API Documentation to get started.

Transaction Screening API Lookup with Billing Email Address, Country, & Phone #
The email address & phone # will be checked for recent abuse. The phone number will be validated. Only emails addresses checked with our dedicated Email Verification API will be fully validated.


Key Expected Values Description
billing_first_name String The customer's billing first name.
billing_last_name String The customer's billing last name.
billing_company String The customer's billing company.
billing_country String The customer's billing country name or billing country ISO-Alpha2. (EG: United States or US)
billing_address_1 String The customer's billing street address part 1.
billing_address_2 String The customer's billing street address part 2.
billing_city String The customer's billing city.
billing_region String The customer's billing region or state.
billing_postcode String / Number The customer's billing postcode or zipcode.
billing_email String The customer's billing email address.
billing_phone Number The customer's billing 11 to 14 digit phone number. (If less than 10 digits provided, the country code will be guessed by our AI.)
shipping_first_name String The customer's shipping first name.
shipping_last_name String The customer's shipping last name.
shipping_company String The customer's shipping company.
shipping_country String The customer's shipping country name or shipping country ISO-Alpha2. (EG: United States or US)
shipping_address_1 String The customer's shipping street address part 1.
shipping_address_2 String The customer's shipping street address part 2.
shipping_city String The customer's shipping city.
shipping_region String The customer's shipping region or state.
shipping_postcode String / Number The customer's shipping postcode or zipcode.
shipping_email String The customer's shipping email address.
shipping_phone Number The customer's shipping 11 to 14 digit phone number. (If less than 10 digits provided, the country code will be guessed by our AI.)
username String The customer's username.
password_hash SHA256 / string For security reasons and following industry best practices, a SHA256 hash of the user's password for better user analysis.
credit_card_bin Number First six digits of the credit or debit card, referred to ask the Bank Identification Number.
credit_card_hash SHA256 / string For security reasons and following industry best practices, a SHA256 hash of the credit card number is accepted to check against blacklisted cards.
credit_card_expiration_month Number Two letter format of the credit card's expiration month. For example, May would be "05".
credit_card_expiration_year Number Two letter format of the credit card's expiration year. For example, 2022 would be "22".
avs_code String One letter Address Verification Service (AVS) response code provided by the credit card processor or bank. A full list of acceptable response codes can be viewed here. If your system cannot retrieve the exact response code, values of "pass" or "fail" can be used.
cvv_code String One letter Card Verification Value (CVV2) response code provided by the credit card processor or bank. A full list of acceptable response codes can be viewed here. If your system cannot retrieve the exact response code, values of "pass" or "fail" can be used.
order_amount Number Total balance of the entire order without currency symbols.
order_quantity Number Quantity of items for this order.
recurring Boolean Is this a recurring order that automatically rebills?
recurring_times Number If this is a recurring order, then how many times has this recurring order rebilled? For example, if this is the third time the user is being billed, please enter this value as "3". If this is the initial recurring order, please leave the value as blank or enter "1".

JSON Success Response Example

NOTE: For a description of each field listed above please consult the response documentation below.


Transaction Scoring Response Field Definitions

The following variables are returned through the Proxy Detection API which provides risk analysis for users and transactions. You can also treat "billing" or "shipping" variables as a user's primary or secondary information group, even when billing is not involved, such as for lead generation or user scoring purposes.

The "risk_score" is the easiest way to consume the transaction risk data by identifying suspicious user behavior with scores >= 75 and high risk payment details or user data with scores >= 90.

Field Description
transaction_details (object) These variables are populated when at least 1 transaction data parameter is present in the initial API request. The following transaction variables are "null" when the necessary transaction parameters are not passed with the initial API request. For instance, not passing the "billing_email" will return "valid_billing_email" as null.
Key Expected Values Description
risk_score Float Confidence that this user or transaction is exhibiting malicious behavior. Scores are 0 - 100, with 75+ as suspicious and 90+ as high risk. This value uses different calculations with less weight on the IP reputation compared to the overall "Fraud Score".
risk_factors String Explanation for elevated Risk Scores to better understand why the payment or user was associated with fraudulent behavior and considered a high risk.
valid_billing_address Boolean Physical address validation and reputation analysis.
valid_shipping_address Boolean Physical address validation and reputation analysis.
valid_billing_email Boolean Light abusive check and reputation analysis for the email address. It is recommended to use our dedicated Email Validation API for deeper analysis.
valid_shipping_email Boolean Light abusive check and reputation analysis for the email address. It is recommended to use our dedicated Email Validation API for deeper analysis.
leaked_billing_email Boolean Indicates if the email address has recently been exposed or compromised in a database breach.
user_activity String Frequency at which this user makes legitimate purchases, account registrations, and engages in legitimate customer behavior online. Values can be "high", "medium", "low", or "none". Values of "high" or "medium" are strong signals of healthy usage. New user data without a history of legitimate behavior will have a value as "none". This field is restricted to higher plan tiers.
leaked_shipping_email Boolean Indicates if the email address has recently been exposed or compromised in a database breach.
leaked_user_data Boolean Indicates if the user's data (including phone & address) have recently been exposed or compromised in a database breach.
risky_billing_phone Boolean Reputation analysis for abusive activity associated with the phone number.
risky_shipping_phone Boolean Reputation analysis for abusive activity associated with the phone number.
valid_billing_phone Boolean Valid & active phone number with the phone carrier (not disconnected).
valid_shipping_phone Boolean Valid & active phone number with the phone carrier (not disconnected).
billing_phone_carrier String Phone number provider company such as "AT&T" or "Bell Canada".
shipping_phone_carrier String Phone number provider company such as "AT&T" or "Bell Canada".
billing_phone_line_type String Landline, Wireless, Toll Free, VOIP, Satellite, Premium Rate, Pager, Internet Service Provider or Unknown.
shipping_phone_line_type String Landline, Wireless, Toll Free, VOIP, Satellite, Premium Rate, Pager, Internet Service Provider or Unknown.
billing_phone_country String 2-letter country code associated with the phone number.
billing_phone_country_code Integer Country dialing code associated with the phone number.
shipping_phone_country String 2-letter country code associated with the phone number.
shipping_phone_country_code Integer Country dialing code associated with the phone number.
bin_country String Country associated with the credit card BIN.
bin_bank_name String The bank or processor name associated with the credit card BIN, such as Citibank, Chase, Capital One, etc.
bin_type String Type of card associated with the credit card BIN. Values can be "Credit", "Debit", "Prepaid", or "Virtual". Prepaid and Virtual credit cards carry slightly higher risk.
risky_username Boolean Username frequently associated with fraudulent behavior.
is_prepaid_card Boolean Status of the credit card as prepaid.
fraudulent_behavior Boolean Indicates high risk behavior patterns and a high chance of fraud.
phone_name_identity_match String Enterprise Account Feature — Indicates a reverse identity match between the billing phone number and first/last name. Values: "Unknown" - no checks processed, "Match" - positive identity match, "Mismatch" - data matches another user, "No Match" - could not pair identity data.
phone_email_identity_match String Enterprise Account Feature — Indicates a reverse identity match between the billing phone number and email address. Values: "Unknown" - no checks processed, "Match" - positive identity match, "Mismatch" - data matches another user, "No Match" - could not pair identity data.
phone_address_identity_match String Enterprise Account Feature — Indicates a reverse identity match between the billing phone number and physical address. Values: "Unknown" - no checks processed, "Match" - positive identity match, "Mismatch" - data matches another user, "No Match" - could not pair identity data.
email_name_identity_match String Enterprise Account Feature — Indicates a reverse identity match between the billing email address and first/last name. Values: "Unknown" - no checks processed, "Match" - positive identity match, "Mismatch" - data matches another user, "No Match" - could not pair identity data.
name_address_identity_match String Enterprise Account Feature — Indicates a reverse identity match between the billing first/last name and physical address. Values: "Unknown" - no checks processed, "Match" - positive identity match, "Mismatch" - data matches another user, "No Match" - could not pair identity data.
address_email_identity_match String Enterprise Account Feature — Indicates a reverse identity match between the billing physical address and email address. Values: "Unknown" - no checks processed, "Match" - positive identity match, "Mismatch" - data matches another user, "No Match" - could not pair identity data.
Transaction Risk Scoring API Accuracy

The transaction screening API is built to enable instant payments without friction for legitimate customers. If you experience any false positives during testing or deployment of the transaction risk API, please contact our support team for assistance. Your account has over 50 customizable settings to optimize our algorithms for your audience.

Example Code