POST
/
paymentFraud
curl --request POST \
  --url https://greipapi.com/paymentFraud \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "data": {},
  "format": "<string>",
  "mode": "<string>",
  "userID": "<string>",
  "callback": "<string>"
}'
{
  "data": {
    "score": 82,
    "rules": [
      {
        "id": "PF10003",
        "description": "Customer IP Address is probably VPN/Proxy/Bot/Hosting/Cloud."
      },
      {
        "id": "PF10004",
        "description": "Customer Email Address is probably invalid or spam."
      },
      {
        "id": "PF10001",
        "description": "High purchase rate, according to `customer_ip`."
      },
      {
        "id": "PF10002",
        "description": "High purchase rate, according to `customer_id`."
      },
      {
        "id": "PF10013",
        "description": "Customer device might not be a real device (according to `customer_useragent`)."
      },
      {
        "id": "PF10014",
        "description": "Customer device is registered as a high-risk device (according to `customer_useragent`)."
      }
    ],
    "rulesChecked": 21,
    "rulesDetected": 6
  },
  "status": "success",
  "executionTime": 5
}

Body Parameters

data
object
required
action
string

The action your customer try to implement.

Accepts: purchase, deposit, or withdrawal.

website_domain
string

The domain name of the website the customer trying to purchase from.

Sample value: domain.com

website_name
string

The name of the website the customer trying to purchase from.

Sample value: Nike Store, California

merchant_id
string|integer

If your a service provider with “sub-websites” (like Shopify), then provide a unique identification code indicating the website the customer trying to purchase from.

Sample values: 12330098, 01as-aowq-029jd, or abcdefg.

shipment_id
string|integer|number

The identification code of the shipment.

transaction_id
string|integer|number

The identification code of the transaction in your system.

transaction_amount
string|number|float

The total amount of the transaction.

transaction_currency
string

The currency in which the customer pay with.

Sample value: GBP

cart_items
string|integer|number
isDigitalProducts
boolean

Set this to true if the customer is purchasing a digital product.

coupon
string

The promo code used by the customer to complete the checkout.

customer_id
string|integer

The identification number of the customer in your system.

customer_firstname
string

The first name of the customer.

customer_lastname
string

The last name of the customer (Family Name).

customer_pob
string

The Place of Birth of the customer.

customer_ip
string

The IP address of the customer.

customer_country
string

The ISO 3166-1 alpha-2 code format of the country where the customer live. Learn more

customer_region
string

The name of the region where the customer live.

customer_city
string

The name of the city where the customer live.

customer_zip
string|integer|number

The name of the zip code of customer location.

customer_street
string

The “address line 1” of the customer.

customer_street2
string

The “address line 2” of the customer.

customer_latitude
integer|float

The customer latitude on the map (GPS Coordinates).

customer_longitude
integer|float

The customer longitude on the map (GPS Coordinates).

customer_device_id
string|integer|number

The device identification code of the customer.

customer_phone
string|integer|number

The phone number of the customer (international format).

customer_registration_date
integer

The registration date of the customer (UNIX Timestamp).

customer_balance
string|integer|float

If you offer a Wallet feature in your website, then pass the user balance to this pararmeter.

customer_dob
string

The customer’s date of birth.

Sample value: ‘1985-12-27`

customer_email
string

The email address of the customer.

customer_2fa
boolean

Set this to true if the customer has 2FA enabled in his/her account.

customer_useragent
string

Pass the User Agent of the customer to this parameter.

shipping_country
string

The shipping country code of the customer (in ISO 3166-1 alpha-2 format).

shipping_region
string

The shipping region name of the customer.

shipping_city
string

The shipping city name of the customer.

shipping_zip
string|number|integer

The zip code of the customer’s shipping address.

shipping_street
string

The shipping “address 1” of the customer.

shipping_street2
string

The shipping “address 2” of the customer.

shipping_latitude
integer|number|float

The latitude of the customer’s shipping address (GPS Coordinates).

shipping_longitude
integer|number|float

The longitude of the customer’s shipping address (GPS Coordinates).

billing_country
string

The billing country code of the customer (in ISO 3166-1 alpha-2 format).

billing_region
string

The billing region name of the customer.

billing_city
string

The billing city name of the customer.

billing_zip
string|number|integer

The zip code of the customer’s billing address.

billing_street
string

The billing “address 1” of the customer.

billing_street2
string

The billing “address 2” of the customer.

billing_latitude
integer|float

The latitude of the customer’s billing address (GPS Coordinates).

billing_longitude
integer|float

The longitude of the customer’s billing address (GPS Coordinates).

payment_type
string

The payment method used to complete this transaction.

Accepted values: cards, cards_mada, applepay, stcpay, bank, crypto, wallet, or cod.

card_name
string

The name on the card (Cardholder Name).

card_number
string|number|integer

The card number (min: 6 digits).

card_expiry
string

The expiry date of the customer debit/credit card.

Sample value: 29/05

cvv_result
boolean

Set this to true if the customer passed the CVV/CSV verification process.

format
string
default: "JSON"

The format command is used to get a response in a specific format.

Expected values: JSON, XML, CSV, or Newline

For more information please refer to Response Format.

mode
string
default: "live"

The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.

Expected values: live, or test.

For more information please refer to Development Environment.

userID
string

The userID command can be used to identify requests sent by specific users to monitor in the Events Page.

Expected values: email address, phone number, user id, name, etc.

For more information please refer to User Identifier.

callback
string

The callback command can help you make the response as a JSONP format.

Expected values: any name that can be used as a function name in Javascript, e.g: myFunctionName.

For more information please refer to JSONP Callback.

Response properties

data
object
required
score
float

A risk-score from 0 to 100 indicating how risky this transaction is (10.5 means it’s 10.5% risky to pass this transaction).

rules
array
required
id
string

The Id of the detected rule. (10.5 means it’s 10.5% risky to pass this transaction).

Sample value: PF10003

description
string

The full description of the detected rule.

Sample value: High purchase rate, according to "customer_id".

rulesChecked
integer
required

Total rules checked against the transaction.

rulesDetected
integer
required

Total rules detected in the transaction.

status
string
required

The response status.

Expected values: success, or error.

executionTime
integer
required

Time spent in milliseconds to process the data.

Overview

Detecting and preventing fraudulent payments is a critical task for any business that accepts online payments. This AI-based module is designed to help you do that by analysing a range of data points related to each transaction.

Using sophisticated machine learning algorithms, this method can detect and flag potentially fraudulent transactions by analysing user data, user behaviour, user device, and other factors. For example, if a transaction appears to be coming from an unusual location or device, or if the user’s behaviour is inconsistent with their past transactions, this method can flag the transaction for further review or rejection.

One of the key advantages of this AI-based module is its ability to adapt and learn over time. As it analyses more data and detects more fraud, it can improve its accuracy and efficiency, making it a highly effective tool for preventing financial losses due to fraud.

By implementing this method in your payment processing system, you can help protect your business and your customers from fraudulent activity, while providing a seamless and secure payment experience.

“ECOMMERCE LOSSES TO ONLINE PAYMENT FRAUD TO EXCEED $48 BILLION GLOBALLY IN 2023, AS FRAUD INCURSIONS EVOLVE”, according to a recent report by Juniper Research.

Integration Workflow

Greip Payment Fraud Module - Workflow

Greip Payment Fraud Module - Workflow