> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://ixopay.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ixopay.ferndocs.com/_mcp/server.

# ExtraData

Matches transactions by an arbitrary key/value pair in the transaction's `extraData` field. Shown as "Extra data" in the condition catalogue.

## Parameters

| Field        | Type   | Required | Allowed values                                                                                                   |
| ------------ | ------ | -------- | ---------------------------------------------------------------------------------------------------------------- |
| `key`        | string | yes      | The name of the extraData field to inspect, e.g. `"channel"`, `"sku"`                                            |
| `comparator` | string | yes      | `"="`, `"!="`, `"matches"`, `"matches_not"`                                                                      |
| `value`      | string | yes      | The literal value (for `=` / `!=`) or PCRE regular expression (for `matches` / `matches_not`) to compare against |

## Example — exact match

```json
{
  "constraint": "ExtraData",
  "params": {
    "key": "channel",
    "comparator": "=",
    "value": "premium"
  }
}
```

## Example — regex match

```json
{
  "constraint": "ExtraData",
  "params": {
    "key": "sku",
    "comparator": "matches",
    "value": "^PREMIUM-"
  }
}
```

## Notes

* **Availability:** might not be included in your platform package — if this condition is missing from the catalogue returned by [List routing constraints](https://documentation.ixopay.com/api/provisioning/list-routing-constraints), contact your Customer Success Manager to have it activated.
* The `matches` / `matches_not` comparators take a PCRE-style regular expression without delimiters.
* If the transaction has no extraData field with the configured key, the rule treats the value as absent — the result depends on the comparator (`=` returns false; `!=` returns true; regex comparators return false / true accordingly). Exception: the key `currency` falls back to the transaction's currency when it is not present in extraData.
* Also available in multi-method routing documents.