> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gr4vy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Riskified

> Connect to Riskified for e-commerce fraud prevention and risk assessment.

Riskified is an e-commerce fraud prevention platform that uses machine learning
and behavioral analytics to provide real-time fraud decisions. Riskified's
anti-fraud decisions can be used in Flow to trigger any action.

## Credentials

To configure a Riskified connection, you need to set the
following credentials.

| Credential  | Description                                    |
| :---------- | :--------------------------------------------- |
| Shop Domain | Your unique shop domain with Riskified         |
| Auth Token  | The authentication token for the Riskified API |

## Limited actions

By default, Gr4vy sends transaction status updates to Riskified for all transaction events, including refunds and voids. However, you can enable the **Limited Actions** flag in the connector configuration to limit these updates.

When the **Limited Actions** flag is enabled, Gr4vy only sends transaction status updates to Riskified during the initial transaction processing. Status updates for `refund` or `void` events are not sent to Riskified.

## Decision mapping

Decisions received from Riskified are mapped to the decisions according to the following logic.

| Riskified decision | Decision  |
| :----------------- | :-------- |
| `approve`          | `accept`  |
| `decline`          | `reject`  |
| `captured`         | `skipped` |

As Riskified's product does not have a manual review queue, only `accept` or `reject` decisions are returned. A `captured` response can also be returned by Riskified, if you have set up a configuration with Riskified to only review a part of your volume.

If there is a technical issue reaching Riskified, the decision returns as an `exception`.

## Data requirements

To receive accurate anti-fraud recommendations from Riskified, it is important to provide comprehensive transaction data. While Riskified attempts to process transactions with limited data, providing the following fields significantly improves the quality and accuracy of fraud decisions.

### Recommended fields

For optimal fraud detection, it is highly recommended to include billing details with the following fields:

* `billing_details.first_name`
* `billing_details.last_name`
* `billing_details.phone_number`
* `billing_details.address.line1`
* `billing_details.address.country`
* `billing_details.address.city`
* `billing_details.address.postal_code`
* `billing_details.address.state`

If shipping details are provided, it is recommended to include the following fields:

* `shipping_details.first_name`
* `shipping_details.last_name`
* `shipping_details.phone_number`
* `shipping_details.address.line1`
* `shipping_details.address.country`
* `shipping_details.address.city`
* `shipping_details.address.postal_code`
* `shipping_details.address.state`

### Browser information

For optimal fraud detection accuracy, Riskified benefits from the following browser data being associated with a transaction.

| Requirement | Description                               |
| :---------- | :---------------------------------------- |
| Language    | The value of the `ACCEPT-LANGUAGE` header |
| User agent  | The browser user agent                    |
| IP          | The browser IP                            |

When using Embed or one of the e-commerce plugins, all of these values are automatically set.

If you create transactions by using direct API calls, it is recommended to include all `transaction.browser_info` fields. For the full list of fields, see the [`browser_info` object in the new transaction API reference](/reference/transactions/new-transaction#body-browser-info-one-of-0).

Please refer to the [IP address forwarding guide](/guides/api/ip-address-forwarding) for
more details on passing the IP address when making direct API calls.

### Custom options

You can also pass custom merchant-defined data
specifically for Riskified using [connection options](/reference/transactions/new-transaction#body).

| Options        | Description                                                                                                                                    |
| :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |
| `delivered_to` | The delivery destination for the line items. Applied to the final line items in the payload. Valid values: `shipping_address`, `store_pickup`. |

### Cart items

Gr4vy maps `cart_items` to `line_items` in the Riskified payload.

* The sum of all cart item amounts must equal the transaction's total amount.
* It is recommended to include a shipping line item if there are physical items.
* If a shipping line item is included, its title is mandatory. Set the title to `store_pickup` for store pickup orders.
* If the order is not a store pickup order, shipping details must be attached to the transaction. You can provide them in one of the following ways:
  * Store them against the buyer using the [new buyer shipping detail API](/reference/buyers/new-buyer-shipping-detail).
  * Include them directly on the transaction using the [`buyer.shipping_details` field in the new transaction API](/reference/transactions/new-transaction#body-buyer-one-of-0-shipping-details-one-of-0).

## Device fingerprinting

Device fingerprinting is recommended when using Riskified. Please refer to the
[device fingerprinting guide](/guides/features/anti-fraud/fingerprint) for more information on the universal solution.

If needed, you could load the <a href="https://developers.riskified.com/docs/beacon-for-web">fingerprint script for Riskified</a> directly and pass the `session_id` value as the `anti_fraud_fingerprint` to the <a>new transaction API</a>.
