{"templateId":"markdown","sharedDataIds":{},"props":{"metadata":{"markdoc":{"tagList":["versionChip","admonition","partial"]},"type":"markdown"},"seo":{"title":"Commerce Engine Release Notes","description":"Shift4 Payment Platform REST API.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"commerce-engine-release-notes","__idx":0},"children":["Commerce Engine Release Notes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each release below lists the new capabilities, enhancements, and fixed issues it introduces. Items marked with a version chip — for example ",{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.17.2"},"children":[]}," — were introduced in that point release."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Shift4 recommends keeping deployed terminals on one of the latest releases."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"217","__idx":1},"children":["2.17"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-capabilities","__idx":2},"children":["New capabilities"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Kiosk control"]}," — POS and device-management applications can now enable or disable kiosk mode through the device configuration API, including during an active transaction."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Language selection"]}," — Cardholders can now change the language from supported payment and tip screens during an active transaction."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Quebec tipping"]}," — Commerce Engine now supports a Quebec-compliant tip flow that calculates percentage suggestions from the pre-tax amount."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.17.2"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Remote terminal support"]}," — TMS support users can now open a view-only session on a PAX or Verifone terminal when Commerce Engine 2.17.2 is paired with S4 Loader 4.1.2, and can control the terminal through that session with operator approval."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"enhancements","__idx":3},"children":["Enhancements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Device identity in responses"]}," — Error, decline, timeout, cancellation, and offline responses now include available terminal identity information."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Debit-scheme identification"]}," — Debit responses now identify additional recognized debit schemes when a mapping is available."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OPI preauthorization receipts"]}," — OPI preauthorization receipts can now include blank tip and total lines."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Final-result screens"]}," — Final-result suppression now applies to gift-card operations, token creation, and card verification."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["DCC presentation"]}," — DCC amounts, currencies, exchange rates, conversion fees, and disclaimers now remain grouped within the corresponding currency choice."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.17.2"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Declined OPI receipts"]}," — OPI deployments can now omit receipt data from declined responses without changing approved responses."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fixed-issues","__idx":4},"children":["Fixed issues"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Terminal busy recovery"]}," — Fixed an issue where a background transaction could leave Commerce Engine permanently busy while its activity was closing."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.17.2"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OPI lodging receipts"]}," — Fixed an issue where lodging responses returned both receipt copies in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PrintData"]},". They now return only the customer copy, without the merchant copy or separator."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.17.2"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OPI incremental authorization"]}," — Fixed an issue where an incremental top-up voided the preceding authorization before sending the update. It now sends the updated authorization directly."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Minor fixes and improvements."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"216","__idx":5},"children":["2.16"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-capabilities-1","__idx":6},"children":["New capabilities"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Light and dark presentation"]}," — Commerce Engine now supports light and dark terminal presentation, including request-level selection by the POS."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REST-controlled terminal language"]}," — POS applications can now retrieve the current and supported terminal languages, select a supported language, and clear the override."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["DCC with surcharging"]}," — Commerce Engine can now apply DCC and credit-card surcharging to the same transaction."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"enhancements-1","__idx":7},"children":["Enhancements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OPI receipt suppression"]}," — OPI deployments can now suppress the merchant receipt, customer receipt, or both independently."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fixed-issues-1","__idx":8},"children":["Fixed issues"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Gift-card reload cancellation"]}," — Fixed an issue where a cancelled or timed-out gift-card reload could fail to return an unsuccessful result."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["POS result delivery during network changes"]}," — Fixed an issue where a connectivity change during a transaction could drop the local POS connection and make an approved transaction appear unsuccessful."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Minor fixes and improvements."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"215","__idx":9},"children":["2.15"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-capabilities-2","__idx":10},"children":["New capabilities"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Complete gift-card transaction set"]}," — The REST interface now supports gift-card allocation, reload, cashback, cashout, reactivation, deactivation, and cancellation of the most recent eligible request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Polish language support"]}," — Commerce Engine now supports Polish."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Windows USB deployment"]}," — POS applications can now send supported REST transaction requests to Commerce Engine on Windows while cardholder interaction takes place on a USB-connected PAX or Verifone terminal."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"enhancements-2","__idx":11},"children":["Enhancements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["girocard identification"]}," — girocard responses now return ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["card.debitType: \"girocard\""]}," so POS applications can distinguish girocard from other debit transactions."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fixed-issues-2","__idx":12},"children":["Fixed issues"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Receipt formatting"]}," — Fixed an issue where gift-card, SAF, and void receipts did not follow the requested receipt-column formatting."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["DCC lookup recovery"]}," — Fixed an issue where a DCC rate-lookup network failure could switch the terminal into SAF or offline mode."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.15.2"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Contactless profile activation"]}," — Fixed an issue where configured contactless settings were not retained after a manifest update, requiring a terminal reinitialization before affected schemes became available."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.15.3"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Whitelisted manual-entry data"]}," — Fixed an issue where approved whitelisted manual-entry flows returned unusable encrypted card data instead of the permitted clear card details."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.15.3"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["AMEX contactless processing"]}," — Fixed an issue where PAX AMEX contactless could use the wrong CAPK index when EMV tag ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["8F"]}," was absent."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.15.3"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Discover contactless retry"]}," — Fixed an issue where an incomplete Discover contactless read failed instead of asking the cardholder to tap again."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.15.4"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["girocard cancellation recovery"]}," — Fixed an issue where cancelling a contactless girocard transaction at application selection did not return the reader to idle."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.15.5"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Manual-entry cancellation state"]}," — Fixed an issue where a declined or cancelled manual card-entry sequence could carry its ZIP-entry cancellation state into the next transaction."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Minor fixes and improvements."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"214","__idx":13},"children":["2.14"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-capabilities-3","__idx":14},"children":["New capabilities"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Terminal information API"]}," — POS and estate-management applications can now retrieve available terminal identity, hardware, firmware, security, installed-application, and connectivity information."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Manual card entry for card-read requests"]}," — Cardholders can now enter card details during supported card-read requests when manual entry is enabled for the station."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Custom idle media"]}," — Merchants can now display a rotating set of assigned images while supported PAX and Verifone terminals are idle."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Additional terminal languages"]}," — Commerce Engine now supports Czech, Danish, Finnish, Lithuanian, Norwegian, Romanian, and Swedish on terminal screens and receipts."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["POS-managed Tax Free"]}," — Approved sales can now return available card and payment-reference information for a POS or connected Tax Free application to perform eligibility detection and issuing."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request-level SAF control"]}," — Supported financial requests can now opt out of Store and Forward and decline instead when the terminal is offline."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request-level tip presets"]}," — Sale and authorization requests can now supply percentage or fixed-amount tip suggestions, select the initial preset, and optionally label the zero-tip choice as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No Tip"]}," instead of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Cash Tip"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tip calculation basis"]}," — POS applications can now calculate suggested tip percentages from a supplied basis amount instead of the payment total, and tell the cardholder when a different basis is used."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"enhancements-3","__idx":15},"children":["Enhancements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Process-form buttons"]}," — Supported terminals now accept as many as six process-form buttons; the Verifone P630 retains a four-button maximum."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["DCC currency layout"]}," — Portrait terminals now place the cardholder currency above the merchant currency, while landscape terminals retain the left-and-right layout."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Offline PIN guidance"]}," — Cardholders now see localized retry and final-attempt messages after an incorrect offline PIN."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["girocard recovery"]}," — Commerce Engine now synchronizes the previous receipt number with the girocard host so the next transaction can detect a mismatched outcome and perform an implicit reversal."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fixed-issues-3","__idx":16},"children":["Fixed issues"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fallback response identification"]}," — Fixed an issue where chip-to-swipe fallback was not identified in the transaction response; fallback responses now include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["emv.fallback: \"Y\""]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Alipay+ transaction results"]}," — Fixed an issue where a cancelled or timed-out Alipay+ sale could return a successful result, or where the terminal could return to idle before delivering the timeout result to the POS."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.14.2"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Card-read continuation"]}," — Fixed an issue where manual card entry could leave a card-read request on the processing screen instead of continuing to its requested next step."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.14.3"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Contactless card verification"]}," — Fixed an issue where contactless card-verification and token-creation requests could unnecessarily fall back to insert or swipe."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.14.3"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mixed background transactions"]}," — Fixed an issue where mixed background transaction types could leave the terminal permanently busy."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Minor fixes and improvements."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"213","__idx":17},"children":["2.13"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"new-capabilities-4","__idx":18},"children":["New capabilities"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["German girocard processing"]}," — Commerce Engine now supports girocard on Verifone terminals."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Payment signature capture"]}," — Commerce Engine can now collect and return an electronic signature when an authorization, sale, or refund requires one."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Standalone signature capture"]}," — POS applications can now request an electronic signature outside a payment and receive the image as a Base64-encoded PNG."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Australian eftpos processing"]}," — Commerce Engine now supports eftpos contact, contactless, and magstripe transactions on PAX terminals, including Savings and Cheque account selection."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["QR display forms"]}," — POS applications can now display a QR code with optional header and footer text on the terminal."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Additional Verifone Android 13 terminals"]}," — Commerce Engine now supports Verifone Android 13 terminals."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Surcharge acceptance controls"]}," — Surcharge flows can now require acceptance, accept a timeout, or apply the surcharge without presenting an acceptance prompt."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.13.1"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Flat-value eftpos surcharges"]}," — eftpos transactions can now use a fixed surcharge amount as well as a percentage-based surcharge."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"enhancements-4","__idx":19},"children":["Enhancements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Standalone SAF voids"]}," — Commerce Engine can now permit a standalone void when the original SAF record cannot be matched."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.13.1"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Network receipt printing"]}," — Simphony receipt requests can now reach the terminal printing service from another device on the network."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.13.4"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Whitelisted-card track data"]}," — Eligible card-read responses now include available original raw track data."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fixed-issues-4","__idx":20},"children":["Fixed issues"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Contactless application selection"]}," — Fixed an issue where affected Visa multi-application cards could select Debit instead of Credit."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Offline PIN retries"]}," — Fixed an issue where a second offline PIN attempt could be rejected with a data error."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.13.1"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Formatted receipt amounts"]}," — Fixed an issue where approved or declined receipts could use the wrong amount layout; surcharge, tip, total, and requested blank tip lines now follow the transaction result and request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.13.2"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Chip-read HTTP status"]}," — Fixed an issue where a failed chip read could return HTTP ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]},"; the response now uses an unsuccessful status."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"VersionChip","attributes":{"version":"2.13.4"},"children":[]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Payment recovery after Wi-Fi interruption"]}," — Fixed an issue where a temporary Wi-Fi interruption could terminate the payment process while the terminal screen reconnected."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Minor fixes and improvements."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]}]},"headings":[{"value":"Commerce Engine Release Notes","id":"commerce-engine-release-notes","depth":1},{"value":"2.17","id":"217","depth":2},{"value":"New capabilities","id":"new-capabilities","depth":3},{"value":"Enhancements","id":"enhancements","depth":3},{"value":"Fixed issues","id":"fixed-issues","depth":3},{"value":"2.16","id":"216","depth":2},{"value":"New capabilities","id":"new-capabilities-1","depth":3},{"value":"Enhancements","id":"enhancements-1","depth":3},{"value":"Fixed issues","id":"fixed-issues-1","depth":3},{"value":"2.15","id":"215","depth":2},{"value":"New capabilities","id":"new-capabilities-2","depth":3},{"value":"Enhancements","id":"enhancements-2","depth":3},{"value":"Fixed issues","id":"fixed-issues-2","depth":3},{"value":"2.14","id":"214","depth":2},{"value":"New capabilities","id":"new-capabilities-3","depth":3},{"value":"Enhancements","id":"enhancements-3","depth":3},{"value":"Fixed issues","id":"fixed-issues-3","depth":3},{"value":"2.13","id":"213","depth":2},{"value":"New capabilities","id":"new-capabilities-4","depth":3},{"value":"Enhancements","id":"enhancements-4","depth":3},{"value":"Fixed issues","id":"fixed-issues-4","depth":3}],"frontmatter":{"markdown":{"toc":{"depth":2}},"seo":{"title":"Commerce Engine Release Notes"}},"lastModified":"2026-08-13T12:21:37.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/release-notes/commerce-engine","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}