This instance couldn't reach its API specification on the last attempt, so this page shows the copy fetched before that. Anything added or changed since then is missing here, and the reference updates itself as soon as the specification is readable again. Last fetched 2026-10-22 22:52 UTC.
The reason this line, or the transaction as a whole, is unlikely to qualify.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
QuantityNotPositive
A line item's quantity is null, zero, or negative. Enhanced rates need a positive quantity.
UnitPriceNotPositive
A line item's unit price is null, zero, or negative. Enhanced rates need a positive unit cost.
LineTotalMismatch
A line item's total does not reconcile with quantity, unit price, discount, and line tax within a penny.
BlankOrPlaceholderDescription
A line item's description is null, blank, or all zeros.
BlankOrPlaceholderProductCode
A line item's product code is null, blank, or all zeros.
BlankOrPlaceholderCommodityCode
A line item's commodity code is null, blank, or all zeros.
BlankOrPlaceholderUnitOfMeasure
A line item's unit of measure is null, blank, or all zeros.
TaxRatioOutOfBounds
Tax is present but falls outside the card brand's accepted share of the settled total: at least 0.1%, and at most 22% for Visa or 30% for Mastercard.
ZeroTaxWithoutExemptFlag
Tax is zero or absent and the transaction is not flagged tax exempt. Informational: a genuinely untaxed sale is legitimate, but it will not earn an enhanced rate without the exempt flag.
MissingCustomerCode
No customer reference of any kind was supplied: purchase order, order number, and invoice number are all blank or placeholder.
NoLineItems
Level 3 header data was supplied with no line items, so the row settles on the Level 2 path and cannot reach a Level 3 rate.
Level3WithheldIncomplete
The merchant supplied Level 3 data, but the addendum was deliberately withheld because the values that would have gone on the wire were incomplete. The processor sends no fabricated filler in their place, so the row settles at the fallback level for its card brand instead.
UnitOfMeasureNotRecognized
A line item's unit of measure is present but is not a recognized unit-of-measure code: each or units where the programs expect EA. Compared case-insensitively after trimming, so ea is recognized.
QuantityTruncatedToWholeNumber
A line item's quantity was submitted with a fractional part, and the addendum carries only the whole-number part of it.
DescriptionMatchesMerchantName
A line item's description is the merchant's own name. Acquirer guidance treats a line that names the seller instead of what was sold as a placeholder, the same as a blank.
GenericDescription
A line item's description is a single generic word that says nothing about the item, such as Service, Product, Item or Misc. The list of generic words is deliberately short.
SingleCharacterValue
A line item's description or product code is a single character once trimmed. One character cannot describe or identify anything, and acquirer guidance reads it as filler typed to get past a required field.
PipeCharacterPresent
A pipe character (|) is present in a line item's description, product code, commodity code or unit of measure, or in the purchase order, order number or invoice number. A pipe is a field delimiter in the formats enhanced data is exchanged in, and its presence usually means several values were concatenated into one field.
lineIndexrequired
integer (int32)
The zero-based index of the line item that raised the finding, or `null` when
the finding is about the transaction as a whole rather than one line.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
This model has no documented fields.
Reconnecting to the server
Could not reconnect
This session has ended
Attempt 1
Your work on this page is still here. Retrying keeps it; reloading starts the page again.
The server no longer holds this page's state, so it has to be loaded again.