NAV

Introduction

Base URL

https://api.fraudfix.com/v1/

Welcome to the FraudFix REST API. Use this API to easily and securely submit new orders and to check on existing orders. You can always check on the status of existing orders from the online dashboard at https://dashboard.fraudfix.com/portal.

To use the FraudFix API, you must have an API key. Visit our website FraudFix.com for more information.

Authentication

FraudFix uses API keys to grant access to its API. Your API key should be included in the x-api-key header of all API requests.

Orders

Submit an Order

POST https://api.fraudfix.com/v1/orders

curl -X POST https://api.fraudfix.com/v1/orders \
  -H 'Content-Type: application/json' \
  -H 'Accept: */*' \
  -H 'x-api-key: string'

Example Request Body

{
  "orderNumber": "string",
  "siteName": "string",
  "grandTotal": "49.99",
  "orderDate": "2020-04-22T20:40:35.664Z",
  "customerId": "string",
  "billing": {
    "firstName": "string",
    "middleName": "string",
    "lastName": "string",
    "company": "string",
    "address1": "string",
    "address2": "string",
    "city": "string",
    "state": "string",
    "country": "string",
    "zip": "string",
    "eveningPhone": "string",
    "dayPhone": "string",
    "cellPhone": "string",
    "email": "string"
  },
  "shipping": {
    "firstName": "string",
    "middleName": "string",
    "lastName": "string",
    "company": "string",
    "address1": "string",
    "address2": "string",
    "city": "string",
    "state": "string",
    "country": "string",
    "zip": "string",
    "eveningPhone": "string",
    "dayPhone": "string",
    "cellPhone": "string",
    "email": "string"
  },
  "orderProducts": [
    {
      "sku": "string",
      "name": "string",
      "description": "string",
      "sellingPrice": 0,
      "qty": 0,
      "stockNumber": "string",
      "brandname": "string",
      "costPrice": 0,
      "custom1": "string",
      "custom2": "string",
      "custom3": "string",
      "custom4": "string",
      "custom5": "string"
    }
  ],
  "payments": [{
    "paymentType": "creditcard",
    "gatewayTransactionId": "string",
    "gatewayStatus": "string",
    "cavvResultCode": "string",
    "bin": "string",
    "cardType": "string",
    "lastFour": "string",
    "expiration": "string",
    "avsCode": "string",
    "cidResponse": "string",
    "eciCode": "string"
  }],
  "shippingMethod": "string",
  "shippingFee": 0,
  "referringCode": "string",
  "consumerReferral": "string",
  "cookie": "string",
  "promoCode": "string",
  "deviceFingerprintId": "string",
  "customerComments": "string",
  "mirScore": 0,
  "highRiskDeliveryMethod": true,
  "shippingDeadline": "2020-03-26",
  "custom1": 0,
  "custom2": "string",
  "custom3": "string",
  "custom4": "string",
  "custom5": "string",
  "salesRep": "string",
  "salesRepComments": "string",
  "inboundCallerId": "string",
  "outboundCallerID": "string",
  "ipAddress": "string",
  "repeatCustomer": true
}

Submit an order to our fraud engines to be analyzed and graded. The more data we have, the quicker and better an order can be verified. If you don't have the information for a non-required field you can either leave it empty or skip it altogether. If a required data field is unavailable, please contact us for a solution.

Request

POST /orders

You must include your api key in the header of the POST request. The POST /orders endpoint lets you submit a single order for analysis. A successful POST returns the Order URI in the Location header.

Body Parameters

Name Type Required Description
orderNumber string true This is the number we use for all correspondence including if we need to call the customer
siteName string true The specic website of the transaction without prex or sux (e.g. abcdiscounts)
grandTotal number true
orderDate string(date) true Order submission timestamp in ISO 8601 date format (e.g. 2020-04-22T20:40:35.664Z)
customerId string false Merchant's internal account ID for the customer
billing Address true Always required
shipping Address false* *Required for physical orders
orderProducts [Product] true An array of products included in this order
payments [Creditcard/Paypal] true An array of payments. Currently, only a single payment is supported
shippingMethod string false* For example Ground, Overnight, Fedex Ground, UPS Overnight. *Required for physical orders
shippingFee number false* *Required for physical orders
referringCode string false Merchant's internal referrer source code. This can be a designated number or a referring URL
consumerReferral string false customer's entry response how they found out about the website. (e.g. friend, google, tv)
cookie string false
promoCode string false Promotion Code
deviceFingerprintId string false
customerComments string false
mirScore number false Merchant’s Internal Risk Score
highRiskDeliveryMethod boolean false If merchant believes the shipping method choice to be a high risk (e.g. Overnight)
shippingDeadline date false The date/time the order must ship out
custom1 number false
custom2 string false
custom3 string false
custom4 string false
custom5 string false
salesRep string false For phone orders this is the name or initials of the Sales Rep
salesRepComments string false
inboundCallerId string false For phone orders
outboundCallerID string false For phone orders
ipAddress string false Customer's IP address. Required for internet and online chat orders only
repeatCustomer boolean false Merchant's indicator if customer is a safe, non-problematic repeater

HTTP Response

A successful POST returns the Order URI in the Location header.

Status Meaning
202 Accepted for processing
400 Bad request
401 Unauthorized
409 Conflict

Get an order

GET https://api.fraudfix.com/v1/orders/:orderId

curl -X GET https://api.fraudfix.com/v1/orders/{orderId} \
  -H 'Accept: */*' \
  -H 'x-api-key: string'

Example Response

{
    "siteName": "string",
    "orderNumber": "string",
    "customerId": "string",
    "status": "string",
    "timeInQueue": "string",
    "grandTotal": 49.99,
    "usaAddress": true,
    "efraudClass": "string",
    "avsCode": "string",
    "shippingMethod": "string",
    "resolvedDate": "2020-04-01T12:00:00.000Z",
    "isShippedEqualsBilled": false,
    "lastModified": "2020-04-01T12:00:00.000Z",
    "declineReason": "string",
    "scoreonly": 100
}

This endpoint retrieves the status of one specific order. The orderId is returned in the location header when you POST an order.

Request

GET /orders/{orderId}

URL Parameters

Name Type Required Description
orderId number true The orderId returned in the Location header of the POST order request.

Response Body

Name Type Description
siteName string The specic website of the transaction without prex or sux (e.g. abcdiscounts)
orderNumber string This is the number we use for all correspondence including if we need to call the customer
customerId string Merchant's internal account ID for the customer
status string
timeInQueue string
grandTotal number
usaAddress boolean
efraudClass string
avsCode string
shippingMethod string
resolvedDate date
isShippedEqualsBilled boolean
lastModified date
declineReason string
scoreonly number

HTTP Response

Status Meaning
200 OK
401 Unauthorized
404 Not Found

Schemas

Address

address object

{
  "firstName": "string",
  "middleName": "string",
  "lastName": "string",
  "company": "string",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "state": "string",
  "country": "string",
  "zip": "string",
  "eveningPhone": "string",
  "dayPhone": "string",
  "cellPhone": "string",
  "email": "string"
}

Properties

Name Type Required Description
firstName string true
middleName string false
lastName string true
company string false
address1 string true
address2 string false
city string true
state string true Two character state code (e.g. NY/NJ/CA)
country string true Two character country code (e.g. US/CA/FR)
zip string true
eveningPhone string true
dayPhone string false
cellPhone string false
email string true

Product

product object

{
  "sku": "string",
  "name": "string",
  "description": "string",
  "sellingPrice": 0,
  "qty": 0,
  "stockNumber": "string",
  "brandname": "string",
  "costPrice": 0,
  "custom1": "string",
  "custom2": "string",
  "custom3": "string",
  "custom4": "string",
  "custom5": "string"
}

Properties

Name Type Required Description
sku string true Manufacturer's Stock Number
name string true
description string false
sellingPrice number true
qty number true Quantity of the product ordered
stockNumber string true Merchant's Stock Number
brandName string true
costPrice number false
custom1 string false
custom2 string false
custom3 string false
custom4 string false
custom5 string false

Credit Card Payment

crediCardPayment object

{
  "paymentType": "creditcard",
  "gatewayTransactionId": "string",
  "gatewayStatus": "string",
  "cavvResultCode": "string",
  "bin": "string",
  "lastFour": "string",
  "cardType": "string",
  "expiration": "string",
  "avsCode": "string",
  "cidResponse": "string",
  "eciCode": "string",
  "fraudFree":"boolean"
}

Properties

Name Type Required Description
paymentType string true creditcard
gatewayTransactionId string false
gatewayStatus string false One of: approved, declined, timeout
cavvResultCode string false
bin string true Bank Identication Number. The first 6 numbers of the credit card number.
lastFour string true Last four digits of the credit card number.
cardType string false Example: visa, mastercard, discover, amex
expiration string false e.g. 05/12 or 0512
avsCode string true Return code from Address Verification System.
cidResponse string true cvv2 response code. Visa's standard codes or Y/N.
eciCode string false Two digit Electronic Commerce Indicator Code. Used for 3D secure transactions. (e.g. 06, 02, 05)
fraudFree boolean false

Paypal Payment

paypalPayment object

{
    "paymentType": "paypal",
    "payerEmail": "string",
    "payerStatus": "string",
    "paymentStatus": "string",
    "protectionEligible": "string"
}

Properties

Name Type Required Description
paymentType string true paypal
payerEmail string true
payerStatus string true Use Y or N if payer_status=VERIFIED/UNVERIFIED
paymentStatus string false
protectionEligible string false eligible or ineligible. Leave this field empty for digital goods.

Testing

In order to facilitate testing and development we have enabled certain combinations of order totals and order numbers to override normal verification processes and return a predetermined response. When a transaction is submitted with an order number beginning with "TEST-" and one of the following values in the grandTotal field, the response will be as indicated here:

denomination response description
$0.11 scoreonly For “ScoreOnly” transactions. FraudFix would display a score only, without an approval/decline decision
$0.12 n/a deprecated
$0.13 allowed Approved, insured and backed by our Fraud Chargeback guarantee
$0.14 rejected Transactions that are denied insurance. FraudFix could not confirm them as FRAUD and suggests further review
$0.15 fraud Probable - FraudFix believes the transaction to be FRAUD
$0.16 fraud Missed - FraudFix was notified after approving an order that it was FRAUD
$0.17 cancelled The customer or merchant requested cancellation of the transaction
$0.18 safe For FraudFix SAFE Submissions (not guaranteed). We believe the transaction is safe to process
$0.19 review For FraudFix SAFE Submissions. We believe the transaction is not safe to process without further review

Questions and feedback

We always appreciate hearing from our users. You can send us an email with questions or feedback at any time.