# DuplicateTransactionContributorConfig

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Duplicate Transaction Manager configuration: how long a transaction stays on record for
duplicate detection, and what makes two transactions the same.

## Fields
- `enabled` (boolean): Whether this rule runs. False, the default, means the rule is skipped and never flags a  transaction. A rule that is enabled but has no usable settings also screens nothing.
- `actionWhenTriggered` ([ActionWhenTriggeredType](https://devportal.demo.winkpg.io/docs/api/models/ActionWhenTriggeredType.md)): What happens when this rule flags a transaction. `AuditOnly`, the default, records the  detection and lets the transaction continue. `Stop` halts the transaction before  authorization, and the caller receives HTTP 403 with the error code  `SCREENING_STOPPED`. `HoldForReview` parks the transaction on the fraud review  queue until a reviewer approves or declines it, or the merchant's hold deadline passes.  Whatever the action, the verdict is recorded on the transaction.
  Values:
  - `AuditOnly`
  - `Stop`
  - `HoldForReview`
- `settings` ([DuplicateTransactionSettings](https://devportal.demo.winkpg.io/docs/api/models/DuplicateTransactionSettings.md)): The duplicate-detection settings. Null leaves the rule unconfigured, which screens nothing.
  Fields:
  - `windowHours` (integer(int32)): How long, in hours, a transaction stays on record for duplicate detection. The window is  fixed from the first transaction rather than sliding, so a flagged duplicate does not  extend it. Null or 0 means the rule does nothing even when enabled. Accepted range 0 to 720  (30 days). (nullable, min 0, max 720)
  - `includeInvoiceNumber` (boolean): Whether the invoice number is part of what makes two transactions the same. True narrows  the match, so two transactions carrying different invoice numbers are no longer duplicates  of each other. Null or false matches on the merchant, amount and payment instrument alone. (nullable)
  - `allowOverride` (boolean): Whether this merchant lets a request waive the duplicate check on a per-transaction  basis. Derived from the merchant's Processing.DuplicateCheck.AllowOverride every time the  configuration is read, so a value written here is not kept. Null means no override. (nullable, read only)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
