Order Pre-Auth Review and PSD2/3DS/CVV Recommendations

Advise Recommendation

Changed on

This integration gives us the ability to gather data about the orders at the earliest stage of the checkout process, before the transactions are even submitted for authorization.

For each order reviewed by advise we provide a synchronous decision if it is clear fraud, and therefore it should be declined, or indicate if the order is low/medium risk and you can proceed with it.

In addition, CVV/3DS recommendations can be provided: if there is a medium risk for saved credit cards, and CVV/3DS should be requested, or the order is safe.

For PDS2 compliance, TRA/SCA exemption recommendation is added for the regulated markets.

post/api/advise

Request

  • Base URL
    https://sandbox.riskified.com
  • URL
    https://sandbox.riskified.com/api/advise
  • Auth
    none declared. Required headers: x-riskified-shop-domain, x-riskified-hmac-sha256, Content-Type, accept

Headers

x-riskified-shop-domainstring required
Example:merchant.example.com

The merchant shop domain registered with Riskified.

x-riskified-hmac-sha256string required
Example:b1946ac92492d2347c6235b4d2611184

Verification hash for the Request. Generated by performing an SHA256 encryption on the request's POST body and calculating the HMAC hash of the result using your Riskified authentication token. Please use UTF8 encoding.

Content-Type'application/json' required

As payloads are sent to Riskified in JSON format, value should be: application/json

accept'application/vnd.riskified.com; version=2' required

Specify the version of the API to target. For example, to target the latest version of the API, use the following: application/vnd.riskified.com; version=2

api-version'2'

Must be sent for the PSD2 and 3DS flow requests.

Request body

Example request

{
  "checkout": {
    "id": "123456",
    "email": "guest.customer@example.com",
    "created_at": "2025-11-15T10:00:00Z",
    "currency": "USD",
    "gateway": "adyen",
    "browser_ip": "203.0.113.45",
    "total_price": 145.99,
    "total_discounts": 10,
    "referring_site": "https://www.google.com/search?q=best+shoes",
    "line_items": [
      {
        "price": 20,
        "quantity": 1,
        "title": "Tempered Glass Guard for Apple iPhone X",
        "product_id": "ABC123",
        "category": "On Sale",
        "brand": "Complete Cover",
        "product_type": "physical",
        "requires_shipping": true,
        "sku": "sj18fn402",
        "sub_category": "Super Sale",
        "condition": "new",
        "seller": null,
        "delivered_at": "2025-12-01T10:00:00Z",
        "delivered_to": "shipping_address",
        "drop_point": null,
        "size": "Small",
        "registry_type": null,
        "shipping_address_id": "addr_ship_01"
      }
    ],
    "shipping_lines": [
      {
        "price": 15,
        "title": "Express 2-Day Shipping",
        "code": "EXPRESS",
        "company": "DHL Express",
        "shipping_address_id": "addr_ship_01"
      }
    ],
    "payment_details": [
      {
        "payment_type": "card",
        "credit_card_bin": "482932",
        "credit_card_company": "Visa",
        "credit_card_number": "9876",
        "credit_card_country": "US",
        "credit_card_token": "tok_preauth_XYZ789",
        "cardholder_name": "John Test Customer",
        "mid": "PREAUTH_MID_456",
        "id": "pmt_pre_01",
        "stored_payment_created_at": "2024-05-15T10:00:00Z",
        "stored_payment_updated_at": "2024-11-01T14:30:00Z",
        "installments": 1,
        "acquirer_bin": "999999",
        "acquirer_region": "NONEU",
        "expiry_month": 12,
        "expiry_year": 2028,
        "initial_payment_amount": 410,
        "payment_frequency": 1,
        "billing_address_id": "addr_bill_01"
      }
    ],
    "customer": {
      "email": "test@mailmail.com",
      "verified_email": true,
      "first_name": "John",
      "last_name": "Test",
      "id": "d8fjv234",
      "created_at": "2019-02-20T15:09:00Z",
      "verified_email_at": "2019-02-21T10:00:00Z",
      "updated_at": "2019-02-20T15:09:00Z",
      "note": "VIP customer, high return rate.",
      "total_spent": 1000.5,
      "group_name": "Wholesale",
      "accepts_marketing": true,
      "last_order_id": "12345",
      "tags": "wholesale, loyal_customer, new_york",
      "buy_attempts": 15,
      "sell_attempts": 2,
      "first_purchase_at": "2019-03-01T12:00:00Z",
      "orders_count": 10,
      "account_type": "registered",
      "phone": "+143873984567290",
      "verified_phone": true,
      "verified_phone_at": "2019-02-22T11:30:00Z",
      "date_of_birth": "1985-10-25",
      "gender": "male",
      "user_name": "john_test_85",
      "document_id": "123.456.789-00",
      "document_type": "CPF",
      "social": [
        {
          "network": "facebook",
          "id": "fb_12345"
        }
      ],
      "linked_accounts": 2,
      "phone_mandatory": true,
      "referrer_customer_id": "ref_9876",
      "social_signup_type": "google",
      "address": {
        "first_name": "John",
        "last_name": "Test",
        "address1": "123 Smart St",
        "country": "United States",
        "country_code": "US",
        "phone": "+143873984567290",
        "city": "Los Angeles",
        "zip": "90210",
        "province": "California",
        "address2": "Apt 4B",
        "company": "My Company",
        "additional_phone": "+14245551234",
        "verified_phone": true,
        "province_code": "CA",
        "latitude": 34.0522,
        "longitude": -118.2437,
        "id": "addr_cust_01"
      },
      "spending_limit": 5000,
      "has_defaulted": false,
      "kyc_verified": true,
      "kyc_details": [
        {
          "vendor_name": "Socure",
          "update_at": "2025-11-19T16:00:00Z",
          "kyc_verified": true,
          "kyc_type": "soft"
        }
      ],
      "buyer_anonymous_id": "anon_b1a2c3d4"
    },
    "billing_address": [
      {
        "first_name": "John",
        "last_name": "Test",
        "address1": "123 Smart St",
        "country": "United States",
        "country_code": "US",
        "phone": "+143873984567290",
        "city": "Los Angeles",
        "zip": "90210",
        "province": "California",
        "address2": "Apt 4B",
        "company": "My Company",
        "additional_phone": "+14245551234",
        "verified_phone": true,
        "province_code": "CA",
        "latitude": 34.0522,
        "longitude": -118.2437,
        "id": "addr_cust_01"
      }
    ],
    "shipping_address": [
      {
        "first_name": "John",
        "last_name": "Test",
        "address1": "123 Smart St",
        "country": "United States",
        "country_code": "US",
        "phone": "+143873984567290",
        "city": "Los Angeles",
        "zip": "90210",
        "province": "California",
        "address2": "Apt 4B",
        "company": "My Company",
        "additional_phone": "+14245551234",
        "verified_phone": true,
        "province_code": "CA",
        "latitude": 34.0522,
        "longitude": -118.2437,
        "id": "addr_cust_01"
      }
    ],
    "source": "desktop_web",
    "ai_agent": "chatgpt",
    "client_details": {
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36",
      "accept_language": "en-US,en;q=0.9,he-IL;q=0.8"
    },
    "name": "#10245",
    "cart_token": "CART-XYZ-78901234567890",
    "checkout_id": "CHK-A1B2C3D4E5F6",
    "updated_at": "2025-11-15T10:05:00Z",
    "note": "Customer requested delivery before end of week.",
    "passengers": [
      {
        "first_name": "John",
        "last_name": "Doe",
        "date_of_birth": "2015-07-28",
        "nationality_code": "US",
        "passenger_type": "Child",
        "document_number": "P12345678",
        "document_type": "Passport",
        "insurance_type": "Basic Travel",
        "insurance_price": 25,
        "document_issue_date": "2020-03-15",
        "document_expiration_date": "2030-03-15"
      }
    ],
    "discount_codes": [
      {
        "amount": 10,
        "code": "TENOFF"
      }
    ],
    "vendor_id": "VNDR-12345",
    "vendor_name": "Affiliate Travel Partner",
    "order_type": "test",
    "submission_reason": "rule_decision",
    "decision": {
      "external_status": "approved",
      "decided_at": "2025-11-19T16:15:00Z",
      "reason": "Approved by automated risk system",
      "amount": 400,
      "currency": "USD",
      "notes": "No suspicious activity detected; customer history clear."
    },
    "charge_free_payment_details": [
      {
        "amount": 50,
        "gateway": "giftcard"
      }
    ],
    "partner_sub_merchant_id": "Merchant1",
    "invoice_id": "europe"
  }
}

Response

Successful operation

OR
OR

Example response

{
  "checkout": {
    "advice": {
      "recommendations": [
        {
          "type": "psd2"
        }
      ]
    }
  }
}

Changes

    • breaking

      added the new required header request parameter Content-Type

    • breaking

      the // request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • breaking

      the ///////// request property format changed from no format to date-time

    • warning

      deleted the header request parameter content_type

    • warning

      removed the request property ////

    • warning

      removed the request property ////

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property ///////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property /////////

    • info

      added the new optional request property ///////

    • info

      the request property //////// became optional

    • info

      added the new ach enum value to the request property /////

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status