<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ttq on Corebaseit — Design System Engineering · POS · Payments · Security</title><link>https://corebaseit.com/tags/ttq/</link><description>Recent content in Ttq on Corebaseit — Design System Engineering · POS · Payments · Security</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>contact@corebaseit.com (Vincent Bevia)</managingEditor><webMaster>contact@corebaseit.com (Vincent Bevia)</webMaster><lastBuildDate>Thu, 03 Sep 2026 16:45:00 +0200</lastBuildDate><atom:link href="https://corebaseit.com/tags/ttq/index.xml" rel="self" type="application/rss+xml"/><item><title>Contactless EMV Integration: Limits, CDCVM, Interface Switching and Refunds</title><link>https://corebaseit.com/corebaseit_posts/contactless-emv-limits-cdcvm-interface-switching-refunds/</link><pubDate>Thu, 03 Sep 2026 16:45:00 +0200</pubDate><author>contact@corebaseit.com (Vincent Bevia)</author><guid>https://corebaseit.com/corebaseit_posts/contactless-emv-limits-cdcvm-interface-switching-refunds/</guid><description>&lt;img src="https://corebaseit.com/diagrams/Decoding_the_EMV_Decline.png" alt="Featured image of post Contactless EMV Integration: Limits, CDCVM, Interface Switching and Refunds" />&lt;p>Contactless problems often begin when several independent controls are collapsed into one “contactless limit.” The reader evaluates different thresholds for different decisions: whether the contactless interface may be used, whether cardholder verification is required, and whether the transaction should go online.&lt;/p>
&lt;p>This post separates those limits, then covers Consumer Device Cardholder Verification Method (CDCVM) second-tap flows, “use contact” outcomes, CVM selection, and refund paths where AAC is not a universal stop signal. The contactless kernel model matches &lt;a class="link" href="https://corebaseit.com/my-books/" target="_blank" rel="noopener"
>&lt;em>POINT OF SALE ARCHITECTURE&lt;/em>&lt;/a> (&lt;em>the book&lt;/em>), Chapter 3: EMVCo Entry Point (Book B) selects Kernel 2 for Mastercard AIDs and Kernel 3 for Visa AIDs. Chapter 4 covers CDCVM as device-side verification for wallet and high-value contactless flows.&lt;/p>
&lt;h2 id="the-limits-answer-different-questions">The limits answer different questions
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Limit&lt;/th>
&lt;th>Decision&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Contactless transaction limit&lt;/td>
&lt;td>May this amount use the contactless interface?&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Reader CVM required limit&lt;/td>
&lt;td>Is cardholder verification required?&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Reader contactless floor limit&lt;/td>
&lt;td>Should the transaction request online authorization?&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Terminal floor limit&lt;/td>
&lt;td>General terminal risk-management threshold; use is kernel- and configuration-dependent&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Boundary rules matter. One kernel or scheme profile may use &lt;code>&amp;gt;=&lt;/code>, while another may use &lt;code>&amp;gt;&lt;/code>. Do not implement one shared comparison and assume it applies to every contactless kernel.&lt;/p>
&lt;p>For Visa Kernel 3-style processing, a typical model is:&lt;/p>
&lt;ul>
&lt;li>Amount at or above the contactless transaction limit: use another interface.&lt;/li>
&lt;li>Amount at or above the CVM required limit: request a mutually supported CVM.&lt;/li>
&lt;li>Amount at or above the reader contactless floor limit: request online authorization.&lt;/li>
&lt;/ul>
&lt;p>For Mastercard Kernel 2, the kernel consumes configuration data such as:&lt;/p>
&lt;ul>
&lt;li>CVM Capability — CVM Required, tag &lt;code>DF8118&lt;/code>&lt;/li>
&lt;li>CVM Capability — No CVM Required, tag &lt;code>DF8119&lt;/code>&lt;/li>
&lt;li>Reader Contactless Floor Limit, tag &lt;code>DF8123&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Treat the scheme kernel’s result as authoritative. An Entry Point pre-processing result does not replace kernel-specific processing once Combination Selection has bound the AID to Kernel 2, Kernel 3, or another Book C kernel.&lt;/p>
&lt;p>These online/offline thresholds are related to, but not identical to, contact Terminal Action Analysis. For the ARQC/TC/AAC decision model after risk checks, see &lt;a class="link" href="https://corebaseit.com/corebaseit_posts/online-vs-offline-emv-transactions/" >Online vs Offline EMV Transactions&lt;/a> and &lt;a class="link" href="https://corebaseit.com/corebaseit_posts/emv-contact-transaction-declined-aac-troubleshooting/" >Why an EMV Contact Transaction Was Declined&lt;/a>.&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/ContactlessEMVIntegration.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/ContactlessEMVIntegration.png" alt="Contactless EMV Integration Path" style="max-width: 720px; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;h2 id="cdcvm-and-the-see-phone-flow">CDCVM and the “see phone” flow
&lt;/h2>&lt;p>CDCVM is performed on the consumer device—passcode or biometric—rather than on the terminal PIN pad. In &lt;em>the book&lt;/em>, Chapter 4, that is the point of CDCVM: device authentication can satisfy CVM without a redundant POS prompt when the path supports it.&lt;/p>
&lt;p>For Visa-style Kernel 3 processing, the terminal declares CDCVM support in the Terminal Transaction Qualifiers (TTQ, tag &lt;code>9F66&lt;/code>). A pre-tap flow can then occur:&lt;/p>
&lt;ol>
&lt;li>The consumer taps before completing device verification.&lt;/li>
&lt;li>The terminal tells the consumer to verify on the device.&lt;/li>
&lt;li>The original transaction is terminated or paused as required by the kernel outcome.&lt;/li>
&lt;li>The consumer verifies and presents the same device again.&lt;/li>
&lt;li>The transaction restarts without changing the amount.&lt;/li>
&lt;/ol>
&lt;p>For Mastercard Kernel 2, the kernel may return an outcome such as “See Phone.” The payment application must follow the Outcome Parameter Set and User Interface Request Data returned by the kernel, display the required message, and perform the second-tap flow when instructed.&lt;/p>
&lt;p>Avoid hard-coded timing and message logic copied from another kernel. Drive the user experience from the certified kernel outputs for the AID in play.&lt;/p>
&lt;h2 id="why-a-kernel-asks-to-use-the-contact-interface">Why a kernel asks to use the contact interface
&lt;/h2>&lt;p>An instruction to use contact does not always mean “amount too high.” Common causes include:&lt;/p>
&lt;ul>
&lt;li>The contactless transaction limit was exceeded.&lt;/li>
&lt;li>The card returned &lt;code>6985&lt;/code> during Get Processing Options (conditions of use not satisfied).&lt;/li>
&lt;li>Required PDOL or TTQ data is missing or inconsistent.&lt;/li>
&lt;li>The AIP has an invalid length.&lt;/li>
&lt;li>The Application File Locator (AFL) is malformed.&lt;/li>
&lt;li>Mandatory data for the selected transaction path is missing.&lt;/li>
&lt;li>ODA failed and the card/kernel rules require another interface.&lt;/li>
&lt;/ul>
&lt;p>Collect the APDU trace and the kernel outcome data before changing limits. Raising a limit will not fix malformed card data, an unsupported path, or an authentication failure. When the failure is cryptographic rather than limit-related, start with CAPK and certificate recovery—see &lt;a class="link" href="https://corebaseit.com/corebaseit_posts/capk-certification-authority-public-keys/" >CAPKs: The Cryptographic Trust Anchors Behind Every EMV Transaction&lt;/a>.&lt;/p>
&lt;h2 id="cvm-selection-is-a-compatibility-decision">CVM selection is a compatibility decision
&lt;/h2>&lt;p>For Visa Kernel 3-style processing, the Card Transaction Qualifiers (CTQ, tag &lt;code>9F6C&lt;/code>) and TTQ express card and terminal capabilities or preferences. The kernel selects from mutually supported methods according to its specification and configuration.&lt;/p>
&lt;p>For Mastercard Kernel 2, CVM selection can depend on:&lt;/p>
&lt;ul>
&lt;li>The CVM List, tag &lt;code>8E&lt;/code>&lt;/li>
&lt;li>Whether on-device CVM was performed&lt;/li>
&lt;li>The transaction amount relative to the CVM limit&lt;/li>
&lt;li>&lt;code>DF8118&lt;/code> and &lt;code>DF8119&lt;/code>&lt;/li>
&lt;li>Kernel outcome data&lt;/li>
&lt;/ul>
&lt;p>Do not reproduce scheme CVM selection in application code. Configure the certified kernel, call it with correct transaction data, and consume its result. Advertise only CVMs the terminal can actually complete; that constraint shows up again in SoftPOS and L3 scope discussions in &lt;a class="link" href="https://corebaseit.com/corebaseit_posts/l3-certification-paths-ctap-smartpos-softpos/" >L3 certification paths&lt;/a>.&lt;/p>
&lt;h2 id="refunds-aac-does-not-always-mean-stop">Refunds: AAC does not always mean “stop”
&lt;/h2>&lt;p>Refund processing is scheme- and acquirer-specific. Some contactless refund flows deliberately produce AAC as the card action-analysis result while the terminal still sends the refund online. In that context, AAC completes the card-side processing; it is not necessarily the final business outcome.&lt;/p>
&lt;p>Interpretation note: treat this as a profile-specific rule, not a universal EMV contact rule. Confirm the refund path against the certified kernel, scheme contactless guide, and acquirer host specification for each market you ship.&lt;/p>
&lt;p>The payment application should therefore:&lt;/p>
&lt;ol>
&lt;li>Set the correct refund/credit transaction type required by the scheme and acquirer.&lt;/li>
&lt;li>Supply the refunded amount consistently.&lt;/li>
&lt;li>Follow the certified kernel’s refund flow.&lt;/li>
&lt;li>Build the online message expected by the host.&lt;/li>
&lt;li>Interpret the card cryptogram in the context of the refund flow—not as a universal instruction to abandon the transaction.&lt;/li>
&lt;/ol>
&lt;p>Avoid manipulating action codes or replacing CDOL data unless that procedure is explicitly supported by the kernel vendor, scheme certification profile, and acquirer. Such workarounds can change certified behavior and create interoperability failures.&lt;/p>
&lt;h2 id="integration-checklist">Integration checklist
&lt;/h2>&lt;ol>
&lt;li>Maintain per-kernel, per-AID limit configuration.&lt;/li>
&lt;li>Test values below, equal to, and above every limit.&lt;/li>
&lt;li>Advertise only CVMs the terminal can actually complete.&lt;/li>
&lt;li>Implement CDCVM and second-tap UX from kernel outcome data.&lt;/li>
&lt;li>Log TTQ, CTQ, AIP, outcome parameters, UI requests, and APDU status words.&lt;/li>
&lt;li>Treat “use contact” as a diagnostic outcome, not only as a limit failure.&lt;/li>
&lt;li>Certify refund behavior with the acquirer and each supported scheme.&lt;/li>
&lt;/ol>
&lt;h2 id="references">References
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://corebaseit.com/my-books/" target="_blank" rel="noopener"
>&lt;em>POINT OF SALE ARCHITECTURE: A Practical Guide to Secure, Certifiable POS Systems&lt;/em>&lt;/a> — Chapter 3: EMV Principles (Entry Point / Kernel ID taxonomy, proprietary tags such as TTQ/CTQ); Chapter 4: Wallets and APMs (CDCVM); Chapter 17: Testing and Certification (TTQ profiles and CVM scope).&lt;/li>
&lt;li>&lt;a class="link" href="https://corebaseit.com/corebaseit_posts/online-vs-offline-emv-transactions/" >Online vs Offline EMV Transactions&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://corebaseit.com/corebaseit_posts/emv-contact-transaction-declined-aac-troubleshooting/" >Why an EMV Contact Transaction Was Declined&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://corebaseit.com/corebaseit_posts/capk-certification-authority-public-keys/" >CAPKs: The Cryptographic Trust Anchors Behind Every EMV Transaction&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://corebaseit.com/corebaseit_posts/l3-certification-paths-ctap-smartpos-softpos/" >L3 certification paths: C-TAP, SmartPOS, SoftPOS&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.emvco.com/emv-technologies/emv-contactless-chip/" target="_blank" rel="noopener"
>EMVCo — EMV Contactless Chip&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.emvco.com/specifications/" target="_blank" rel="noopener"
>EMVCo — Specifications and Associated Bulletins&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://usa.visa.com/content/dam/VCOM/regional/na/us/partner-with-us/documents/transaction-acceptance-device-guide-tadg.pdf" target="_blank" rel="noopener"
>Visa — Transaction Acceptance Device Guide&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://usa.visa.com/content/dam/VCOM/regional/na/us/partner-with-us/documents/visa-smart-debit-credit-vsdc-visa-paywave-vpw-us-acquirer-implementation-guide.pdf" target="_blank" rel="noopener"
>Visa — VSDC and Visa payWave U.S. Acquirer Implementation Guide&lt;/a>&lt;/li>
&lt;li>&lt;strong>EMV Contactless Specifications for Payment Systems, Book A: Architecture and General Requirements&lt;/strong>&lt;/li>
&lt;li>&lt;strong>EMV Contactless Specifications for Payment Systems, Book B: Entry Point Specification&lt;/strong>&lt;/li>
&lt;li>&lt;strong>EMV Contactless Specifications for Payment Systems, Book C-2: Kernel 2 Specification&lt;/strong>&lt;/li>
&lt;li>&lt;strong>EMV Contactless Specifications for Payment Systems, Book C-3: Kernel 3 Specification&lt;/strong>&lt;/li>
&lt;/ul></description></item></channel></rss>