After completing Mastercard Identity Check (EMV 3DS) authentication, retrieve the Accountholder Authentication Value (AAV), which is Mastercard's equivalent of a CAVV, and the ECI (Electronic Commerce Indicator).
Map ECI values to liability shift status: ECI 02 indicates successful authentication with full liability shift to the issuer; ECI 01 indicates attempted authentication with partial liability consideration; ECI 00 indicates no authentication.
Include the AAV in the authorization request in the UCAF (Universal Cardholder Authentication Field) data element; set the UCAF collection indicator to 2 for a fully authenticated transaction.
For Mastercard SecureCode / Identity Check, the UCAF field carries the AAV as a Base64-encoded value; submit it in the appropriate field per your processor's specification (commonly field 55 in ISO 8583 or the equivalent API field).
Ensure the DS Transaction ID (Directory Server Transaction ID) from the authentication response is also passed to the acquirer in the authorization message — Mastercard uses this for network-level dispute resolution.
Handle authentication declines separately from authorization declines: an N (not authenticated) from Identity Check means do not proceed to authorization, whereas a soft-decline from the issuer at authorization time requires the standard retry logic.
Known gotchas
Mastercard's UCAF indicator value of 2 (fully authenticated) is distinct from value 1 (merchant-collected data without ACS authentication); using the wrong indicator value forfeits liability shift.
The AAV is generated per transaction and must match the transaction amount and merchant data used during authentication; reusing an AAV from a previous authentication for a new transaction will fail network validation.
Identity Check results with transStatus A (attempted) still carry partial fraud protection; omitting the AAV entirely when transStatus is A discards even the partial liability shift available.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp