Skip to content

Initiate fraud screening

Request a standalone fraud screening.

Initiate standalone fraud screening

POST
/v1/transaction-risk-screenings/standalone

Request example

Use the following snippet to request a standalone fraud screening. Note that all fields are optional.

{
  "merchantGroup": "GROUP123",
  "merchant": "MERCH123",
  "site": "SITE123",
  "performRiskScreening": true,
  "excludeDeviceData": false,
  "channel": "web",
  "deviceSessionId": "abc123-def456-ghi789",
  "creationDateTime": "2024-01-15T10:30:00Z",
  "userIp": "192.168.1.100",
  "account": {
    "id": "user123456",
    "type": "consumer",
    "creationDateTime": "2023-06-15T08:00:00Z",
    "username": "john.doe@pxp.io",
    "accountIsActive": true
  },
  "items": [
    {
      "id": "item001",
      "price": 29.99,
      "description": "Wireless Bluetooth Headphones",
      "name": "Premium Headphones",
      "quantity": 1,
      "category": "Electronics",
      "subCategory": "Audio",
      "isDigital": false,
      "sku": "SKU-WBH-001",
      "upc": "123456789012",
      "brand": "TechBrand",
      "url": "https://example.com/products/wireless-headphones",
      "imageUrl": "https://example.com/images/headphones.jpg",
      "physicalAttributes": {
        "color": "Black",
        "size": "Medium",
        "weight": "250g",
        "height": "20cm",
        "width": "15cm",
        "depth": "8cm"
      },
      "descriptors": [
        "wireless",
        "bluetooth",
        "noise-cancelling"
      ],
      "isService": false
    }
  ],
  "fulfillments": [
    {
      "type": "Shipped",
      "shipping": {
        "shippingAmount": 5.99,
        "shippingProvider": "FedEx",
        "trackingNumber": "1234567890123456",
        "shippingMethod": "Standard"
      },
      "items": [
        {
          "id": "item001",
          "quantity": 1
        }
      ],
      "status": "Pending",
      "accessUrl": null,
      "store": null,
      "recipientPerson": {
        "name": {
          "first": "John",
          "middle": "A",
          "family": "Doe",
          "prefix": "Mr",
          "suffix": null,
          "preferred": "John"
        },
        "emailAddress": "john.doe@example.com",
        "phoneNumber": "+1-555-123-4567",
        "address": {
          "line1": "123 Main Street",
          "line2": "Apt 4B",
          "city": "New York",
          "region": "NY",
          "countryCode": "US",
          "postalCode": "10001"
        },
        "dateOfBirth": "1990-05-15"
      },
      "merchantFulfillmentId": "FULFILL-001"
    }
  ],
  "transactions": [
    {
      "merchantTransactionId": "TXN-20240115-001",
      "processor": "stripe",
      "processorMerchantId": "acct_1234567890",
      "payment": {
        "type": "CreditCard",
        "paymentToken": "tok_1234567890abcdef",
        "bin": "424242",
        "last4": "4242"
      },
      "subtotal": 29.99,
      "orderTotal": 35.98,
      "currency": "USD",
      "tax": {
        "isTaxable": true,
        "taxableCountryCode": "US",
        "taxAmount": 2.40,
        "outOfStateTaxAmount": 0.00
      },
      "billedPerson": {
        "name": {
          "first": "John",
          "middle": "A",
          "family": "Doe",
          "prefix": "Mr",
          "suffix": null,
          "preferred": "John"
        },
        "emailAddress": "john.doe@example.com",
        "phoneNumber": "+1-555-123-4567",
        "address": {
          "line1": "123 Main Street",
          "line2": "Apt 4B",
          "city": "New York",
          "region": "NY",
          "countryCode": "US",
          "postalCode": "10001"
        },
        "dateOfBirth": "1990-05-15"
      },
      "transactionStatus": "Authorized",
      "authorizationStatus": {
        "authResult": "Approved",
        "dateTime": "2024-01-15T10:30:15Z",
        "verificationResponse": {
          "avsStatus": "Y",
          "cvvStatus": "Match"
        },
        "declineCode": null,
        "processorAuthCode": "AUTH123456",
        "processorTransactionId": "pi_1234567890abcdef",
        "acquirerReferenceNumber": "ACQ789012345"
      },
      "items": [
        {
          "id": "item001",
          "quantity": 1
        }
      ]
    }
  ],
  "promotions": [
    {
      "id": "PROMO-WINTER2024",
      "description": "Winter Sale - 10% off electronics",
      "status": "active",
      "statusReason": "promotion_applied",
      "discount": {
        "percentage": 0.1,
        "amount": 3.00,
        "currency": "USD"
      },
      "credit": null
    }
  ],
  "loyalty": {
    "id": "LOYALTY-12345",
    "description": "Premium Member Rewards",
    "credit": {
      "creditType": "points",
      "amount": 150,
      "currency": "POINTS"
    }
  },
  "customFields": {
    "example-custom-field-1": "AFF-001"
  }
}
ParameterDescription
merchantGroup
string
Your unique merchant group identifier, as assigned by PXP.
merchant
string (≤ 20 characters)
Your unique merchant identifier, as assigned by PXP.
site
string (≤ 20 characters)
Your unique site identifier, as assigned by PXP.
performRiskScreening
boolean
Whether to enable risk screening for this transaction.
excludeDeviceData
boolean
Whether to exclude device fingerprinting data from analysis.
channel
string (≤ 256 characters)
The channel through which the transaction was initiated. For example, ACME_IOS_APP.
deviceSessionId
string (≤ 256 characters)
The unique session identifier for the customer's end-user session on your site or app. This must be the same session ID used in the device data collection from the client-side Kount SDK. Format: ^[[0-9A-Za-z]]*$.
creationDateTime
string
The date and time when the order was placed, in ISO 8601 format.
userIp
string
The customer's IPv4 address, in dotted decimal notation. For example, 192.168.1.27.
account
object
Details about the customer's account.
account.id
string
The unique identifier for the account, as chosen by you.
account.type
string
The account type, as chosen by you.
account.creationDateTime
string
The date and time when the account was created, in ISO 8601 format.
account.username
string
The username or email address associated with the account.
account.accountIsActive
boolean
Whether the account is currently active.
items
array
Array of details about each item in the order.
items.id
string
The unique identifier for the item, as chosen by you.
items.price
integer
The price of the single item in the lowest currency factor. For example, the lowest currency in USD is pennies, so $1.00 would have the value of 100. Must be a natural number including 0.
items.description
string
The description of the item being purchased.
items.name
string
The name of the item being purchased. Typically, this is the SKU.
items.quantity
integer
The quantity of the item being purchased. This must be at least 1.
items.category
string
A high-level or generalised description of the item.
items.subCategory
string
A lower-level or more specific description of the item.
items.isDigital
boolean
Whether the item is a digital good or service (true), or a physical item or service (false).
items.sku
string
The item's Stock Keeping Unit identifier (SKU), when available.
items.upc
string
The item's Universal Product Code (UPC), when available.
items.brand
string
The item's brand name.
items.url
string
The URL to the item's product page.
items.imageUrl
string
The URL to the product's image.
items.isService
boolean
Whether the item is a service (true), or a digital or physical good (false).
items.physicalAttributes
object
Details about the item's physical attributes, if it's a physical good.
items.physicalAttributes.color
string
The item's colour, when there are different colour options.
items.physicalAttributes.size
string
The item's size, when there are different size options.
items.physicalAttributes.weight
string
The item's weight, with units.
items.physicalAttributes.height
string
The item's height, with units.
items.physicalAttributes.width
string
The item's width, with units.
items.physicalAttributes.depth
string
The item's depth, with units.
items.descriptors
array of strings
Array of descriptive tags or keywords for the item.
fulfillments
array
Array of details about the fulfillment of the order.
fulfillments.type
string (enum)
The type of fulfillment.

Possible values:
  • SHIPPED
  • DIGITAL
  • STORE_PICK_UP
  • LOCAL_DELIVERY
  • STORE_DRIVE_UP
  • IN_PERSON
fulfillments.status
string (enum)
The current status of the fulfillment.

Possible values:
  • PENDING
  • UNFULFILLED
  • ON_HOLD
  • FULFILLED
  • SCHEDULED
  • PARTIALLY_FULFILLED
  • DELAYED
  • CANCELED
fulfillments.accessUrl
string or null
The URL that the customer needs to visit to retrieve the digital good.
fulfillments.store
object or null
Details about the store where the order is being fulfilled, for in-store pickups.
fulfillments.store.id
string
A unique identifier for the store, as chosen by you.
fulfillments.store.name
string
A human-readable name for the store, as chosen by you.
fulfillments.store.address
object
Details about the store's address.
fulfillments.store.address.line1
string
The first line of the store's address.
fulfillments.store.address.line2
string
The second line of the store's address.
fulfillments.store.address.city
string
The city of the store's address.
fulfillments.store.address.region
string
The state/province/region of the store's address.
fulfillments.store.address.countryCode
string
The country code of the store's address, in ISO 3166 format.
fulfillments.store.address.postalCode
string
The postal/ZIP code of the store's address.
fulfillments.merchantFulfillmentId
string
A unique identifier for this fulfillment, as chosen by you.
fulfillments.shipping
object
Details about the shipping. This should bbe included even for digital goods.
fulfillments.shipping.shippingAmount
integer
The total amount of the shipping cost, in its lowest denomination. For example, the lowest denomination in USD is the penny, so $1.00 has a "total" of 100. The total must be a natural number, which includes 0.
fulfillments.shipping.shippingProvider
string
The service used to deliver the order to the recipient. If you are fulfilling the order yourself, set the value to FBM (fulfilled by merchant). For example, if providing digital goods.
fulfillments.shipping.trackingNumber
string
The tracking number from the shipping provider for shipped goods.
fulfillments.shipping.shippingMethod
string (enum)
The shipping method used.

Possible values:
  • STANDARD
  • EXPRESS
  • SAME_DAY
  • NEXT_DAY
  • SECOND_DAY
fulfillments.items
array
Details about the item or list of items being fulfilled.
fulfillments.items.id
string
The unique identifier of the item being fulfilled.
fulfillments.items.quantity
integer
The quantity of the item in this fulfillment. This must be at least 1.
fulfillments.recipientPerson
object
Details about the order's recipient.
fulfillments.recipientPerson.emailAddress
string
The recipient's email address.
fulfillments.recipientPerson.phoneNumber
string
The recipient's phone number.
fulfillments.recipientPerson.dateOfBirth
string
The recipient's date of birth. Format: YYYY-MM-DD.
fulfillments.recipientPerson.name
object
Details about the recipient's name.
fulfillments.recipientPerson.name.first
string
The recipient's first name.
fulfillments.recipientPerson.name.middle
string
The recipient's middle name or initial.
fulfillments.recipientPerson.name.family
string
The recipient's last name/family name.
fulfillments.recipientPerson.name.prefix
string
The prefix of the recipient's name.
fulfillments.recipientPerson.name.suffix
string or null
The suffix of the recipient's name.
fulfillments.recipientPerson.name.preferred
string
The recipient's preferred name.
fulfillments.recipientPerson.address
object
Details about the recipient's address.
fulfillments.recipientPerson.address.line1
string
The first line of the recipient's address.
fulfillments.recipientPerson.address.line2
string
The second line of the recipient's address.
fulfillments.recipientPerson.address.city
string
The city of the recipient's address.
fulfillments.recipientPerson.address.region
string
The state, province, or region code of the recipient's address.
fulfillments.recipientPerson.address.countryCode
string
The country of the recipient's address, in ISO 3166-1 alpha-2 format.
fulfillments.recipientPerson.address.postalCode
string
The postal or ZIP code of the recipient's address.
transactions
array
Array of details about the payment transactions made for the order.
transactions.merchantTransactionId
string
The unique identifier for this transaction, as chosen by you.
transactions.processor
string
The name of the payment processor that processed the transaction.
transactions.processorMerchantId
string
Your merchant ID, as assigned by the payment processor. The format is processor specific, but is typically a 16-digit number.
transactions.subtotal
integer
The total amount of the order without shipping and tax included, in its lowest denomination. For example, the lowest denomination in USD is the penny, so $1.00 has a "total" of 100. The total must be a natural number, which includes 0.
transactions.orderTotal
integer
The total amount of currency in the transaction, in its lowest denomination. For example, the lowest denomination in USD is the penny, so $1.00 has a "total" of 100. The total must be a natural number, which includes 0.
transactions.currency
string
The currency used for the transaction, in ISO 4217 format. Defaults to USD if not provided.
transactions.transactionStatus
string
The current status of the transaction.

Possible values:
  • PENDING
  • AUTHORIZED
  • REFUSED
  • CAPTURED
  • ERROR
  • EXPIRED
  • CANCELLED
  • SENT_FOR_REFUND
  • REFUNDED
  • REFUND_FAILED
  • SETTLED
  • INFORMATION_REQUESTED
  • INFORMATION_SUPPLIED
  • CHARGED_BACK
  • CHARGEBACK_REVERSED
  • DISPUTE_EXPIRED
  • DISPUTE_RESERVE_RELEASED
  • DISPUTED_FUNDS_HELD
  • DISPUTED_FUNDS_RELEASED
  • CHARGEBACK_REVERSED
transactions.payment
array
Array containing the details of the specific type of payment that was used for this transaction.
transactions.payment.type
string
The type of payment method used.

Possible values:
  • APAY: Apple Pay
  • CREDIT_CARD: Credit Card
  • DEBIT_CARD: Debit Card
  • PYPL: PayPal
  • CHEK: Check
  • NONE: None
  • TOKEN: Token provided from payment processor
  • GDMP: Green Dot Money Pack
  • GOOG: Google Checkout
  • BLML: Bill Me Later
  • GIFT: Gift Card
  • BPAY: BPAY
  • NETELLER: Neteller
  • GIROPAY: GiroPay
  • ELV: ELV
  • MERCADE_PAGO: Mercade Pago
  • SEPA: Single Euro Payments Area
  • INTERAC: Interac
  • CARTE_BLEUE: Carte Bleue
  • POLI: POLI
  • SKRILL: Skrill/Moneybookers
  • SOFORT: Sofort
  • AMZN: Amazon Pay
  • SAMPAY: Samsung Pay
  • ALIPAY: AliPay
  • WCPAY: WeChat Pay
  • CRYPTO: Crypto Payments
  • KLARNA: Klarna
  • AFTRPAY: Afterpay
  • AFFIRM: Affirm
  • SPLIT: Splitit
  • FBPAY: Facebook Pay
transactions.payment.paymentToken
string
The payment token submitted for order, in the format of a KHASH (credit card, payer ID, routing/transit, MICR, and account number).The KHASH value is hashed with a salted SHA256.
If paymentType is set to NONE, then the paymentToken value should be left empty.
For post-auth calls only: if the credit card information isn't available and a tokenised value is returned from the payment processor, set paymentType to TOKEN and send the token returned from the payment processor as a KHASH in the paymentToken field.
Format: ^[A-Z0-9]{64}$.
transactions.payment.bin
string (≤ 8 characters)
The card's Bank Identification Number (BIN). This is made up of the first 6 or 8 digits of a credit or debit card.
transactions.payment.last4
string
The last 4 digits of card's Primary Account Number (PAN).
transactions.tax
object
Details about the tax associated with the transaction.
transactions.tax.isTaxable
boolean
Whether the transaction is subject to tax.
transactions.tax.taxableCountryCode
string
The country code of the taxable country, in ISO 3166 format.
transactions.tax.taxAmount
integer
The amount that was charged in taxes for this order, in the currency's lowest denomination. For example, the lowest denomination in USD is the penny, so $1.00 has a "total" of 100. The total must be a natural number, which includes 0.
transactions.tax.outOfStateTaxAmount
integer
The amount that was charged in out-of-state taxes for this order, in the currency's lowest denomination. This amount should be included in the taxAmount property. For example, the lowest denomination in USD is the penny, so $1.00 has a "total" of 100. The total must be a natural number, which includes 0.
transactions.billedPerson
object
Details about the person who placed the order.
transactions.billedPerson.emailAddress
string
The billed person's email address.
transactions.billedPerson.phoneNumber
string
The billed person's phone number.
transactions.billedPerson.dateOfBirth
string
The billed person's date of birth (YYYY-MM-DD).
transactions.billedPerson.name
object
Details about the billed person's name.
transactions.billedPerson.name.first
string
The first name of the billed person.
transactions.billedPerson.name.middle
string
The middle name or initial of the billed person.
transactions.billedPerson.name.family
string
The last name of the billed person.
transactions.billedPerson.name.prefix
string
The name prefix of the billed person.
transactions.billedPerson.name.suffix
string or null
The name suffix of the billed person.
transactions.billedPerson.name.preferred
string
The preferred name of the billed person.
transactions.billedPerson.address
object
Details about the billed person's address.
transactions.billedPerson.address.line1
string
The first line of the billed person's address.
transactions.billedPerson.address.line2
string
The second line of the billed person's address.
transactions.billedPerson.address.city
string
The city of the billed person's address.
transactions.billedPerson.address.region
string
The state/province/region of the billed person's address.
transactions.billedPerson.address.countryCode
string
The country code of the billed person's address, in ISO 3166 format.
transactions.billedPerson.address.postalCode
string
The postal/ZIP code of the billed person's address.
transactions.authorizationStatus
object
Details about the authorisation status. Everything in this object is expected only after payment authorisation has occurred.
transactions.authorizationStatus.authResult
string (enum)
The result of the authorisation attempt, as returned to you by the payment processor. Orders with a value of Approved will aggregate towards the order velocity of the persona, while orders with a value of Declined will decrement the order velocity of the persona. Orders with a value of Error or Unknown won't change the velocity.

Possible values:
  • Approved
  • Declined
  • Unknown
  • Error
transactions.authorizationStatus.dateTime
string
The date and time when the authorisation was processed, in ISO 8601 format.
transactions.authorizationStatus.declineCode
string or null
The decline reason code returned by the payment provider, if the payment was declined.
transactions.authorizationStatus.processorAuthCode
string
The authorisation code returned by the payment processor.
transactions.authorizationStatus.processorTransactionId
string
The unique identifier used by the payment processor or gateway for the order.
transactions.authorizationStatus.acquirerReferenceNumber
string
A unique number for a credit or debit card transaction created during the transfer from your bank through the payment processor. It enables identifying the transaction when errors occur. The format is an 11-digit number.
transactions.authorizationStatus.verificationResponse
object
Details about the verification responses.
transactions.authorizationStatus.verificationResponse.avsStatus
string (enum)
The Address Verification Service (AVS) response returned to the customer/you by the payment processor.

Possible values:
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • I
  • K
  • L
  • M
  • N
  • O
  • P
  • R
  • S
  • T
  • U
  • W
  • X
  • Y
  • Z
transactions.authorizationStatus.verificationResponse.cvvStatus
string
TThe Card Verification Value (CVV, CVS) response returned to the customer/you by the payment processor.

Possible values:
  • Unknown
  • NoMatch
  • Empty string
transaction.items
array
Array incating which of the items present in the items array were paid for in this transaction.
transactions.items.id
string
The unique identifier of the item that was specified in the items property of this order that was paid for in this transaction.
transactions.items.quantity
integer
The quantity of this item that were paid for in this transaction.
promotions
array
Array of promotions applied to this order.
promotions.id
string
A unique identifier for the promotion, as chosen by you.
promotions.description
string
A human-readable description of the promotion, as chosen by you.
promotions.status
string
The current status of the promotion, as chosen by you.
promotions.statusReason
string
The reason for the current promotion status.
promotions.credit
object or null
Details about the promotional credit that was applied to the order.
promotions.credit.currency
string
The currency used for the promotional credit, in ISO 4217 format. If a code is not provided, it defaults to USD. If the credit is in a non-monetary format, such as loyalty points, the value of this property should be XXX.
promotions.discount
string
Details about the promotional discount that was applied to the order.
promotions.discount.percentage
float
The percentage of the total amount that was reduced due to the promotion being applied, represented as a floating point number. For example, 0.1 means 10% discounted.
promotions.discount.amount
integer
The amount that the total was reduced by due to the promotion being applied, in the currency's lowest denomination. This amount should be included in the taxAmount property. For example, the lowest denomination in USD is the penny, so $1.00 has a "total" of 100. The total must be a natural number, which includes 0.
promotions.discount.currency
string
The currency used for the promotional discount, in ISO 4217 format. If a code is not provided, it defaults to USD. If the credit is in a non-monetary format, such as loyalty points, the value of this property should be XXX.
loyalty
object
Details about a credit that was applied from a loyalty account.
loyalty.id
string
The unique identifier for the loyalty transaction.
loyalty.description
string
A description of the loyalty programme.
loyalty.credit
object or null
Details about the loyalty credit that was applied to the order.
loyalty.credit.creditType
string
The type of loyalty credit, as chosen by you. For example, PIZZA_POINTS.
loyalty.credit.amount
integer
The amount of the total order that was paid for through a loyalty credit, in the currency's lowest denomination. This amount should be included in the taxAmount property. For example, the lowest denomination in USD is the penny, so $1.00 has a "total" of 100. The total must be a natural number, which includes 0.
loyalty.credit.currency
string
The currency used for the loyalty credit, in ISO 4217 format. If a code is not provided, it defaults to USD. If the credit is in a non-monetary format, such as loyalty points, the value of this property should be XXX.
customFields
object
Additional custom fields, in key-value pairs. Each key is the custom field's name as a string (≤ 32 characters). Each value is the custom field's value as a date, boolean, string (≤ 256 characters), or number. Supported date format is RFC 3339 (ex: 2023-03-30T15:41:58Z). No object or array values are allowed.

Response example

If your request is successful, you'll receive a 200 response containing the risk decision, risk score, and raw response from the provider (as a single string).

Depending on the result, you can then:

  • In pre-authorisation mode:
    • Proceed with authorisation with the Transactions API.
    • Abort the transaction. No authorisation request is triggered.
  • In post-authorisation mode:
    • Proceed with authorisation with the Capture API.
    • Reject the transaction with the Cancel or Void API.
{
  "riskScreeningId": "e721acfa-f844-4bec-9007-47eb07dcb117",
  "providerResults": {
    "kount": {
      "decision": "APPROVE",
      "riskScore": 90,
      "rawResponse": "{\"version\": \"v2.42.0\", \"order\": {\"orderId\": \"7DQ5JFWQB5WKPRBT\", \"merchantOrderId\": \"Yqwh50T47EuQB0frB9yxFw\", \"channel\": \"ACME_IOS_APP\", \"deviceSessionId\": \"\", \"creationDateTime\": \"2019-08-24T14:15:22+00:00 \", \"riskInquiry\": {\"decision\": \"APPROVE \", \"omniscore\": 5, \"persona\": {\"uniqueCards\": 2, \"uniqueDevices\": 8, \"uniqueEmails\": 5}, \"device\": null, \"segmentExecuted\": {\"segment\": {\"id\": \"1eda9703-5b34-47ac-a01b-09f509642896\", \"name\": \"Default\", \"priority\": 1}, \"policiesExecuted\": [], \"tags\": []}}, \"transactions\": [{\"transactionId\": \"7DQ5JFWQB5WKPRBT#0\", \"merchantTransactionId\": \"d121ea2210434ffc8a90daff9cc97e76\"}], \"fulfillment\": []}}"
    }
  }
}