EMV acceptance is how your host runs a chip (contact) or contactless EMV sale on a DynaFamily reader. The reader runs the EMV kernel and communicates with the card; your host orchestrates the transaction over the MMS command set β starting it, responding to the reader's prompts, forwarding the ARQC to your processor, and returning the result. This guide walks the full flow on the MMS command path and links to the commands, notifications, and data objects that implement each step.
Applies to: DynaFamily EMV-capable readers (DynaFlex II PED, Go, SCR, DynaProx). Examples use the DynaFlex II Go.
The work is split between the reader and your host:
The reader runs the EMV kernel, talks to the card, and encrypts cardholder data at the point of read (SRED).
Your host starts the transaction, answers the reader's requests, forwards the ARQC to your processor, and returns the response.
There are two integration surfaces for this same flow. This guide covers the MMS command set directly. The Universal SDK wraps the identical flow in method calls and events β if you integrate through the SDK, the steps below still describe what happens underneath. (The .NET EMV Transaction Flow sample in the iDynamo manual shows the SDK surface.)
One behavior to note up front: readers with a display (e.g., the PED's touch screen) show cardholder prompts themselves. Readers without a full display, including the DynaFlex II Go, delegate those prompts to your host by sending ; your host shows the message or collects the selection. Watch for that difference throughout.
The reader is connected over USB or Bluetooth LE.
See
Keys are injected and you can decrypt output.
A typical contact or contactless sale runs as follows. Your host drives it with Start Transaction and reacts to the reader's notifications:
(Optional) Early card presentation. If the cardholder taps or inserts before you start, the reader sends to tell your host to start a transaction now.
Host starts the transaction. Send with the amount and type (transaction TLV, tag 86: 9C, 9F02, 5F2A), the interfaces to enable (Reader Options, tag A3), a timeout (tag 82), and the flow-control bitmask (tag 84).
Use this when the issuer must authorize online in real time.
Your host processes the ARQC, sends it to the processor, receives the ARPC, and returns it to the reader with .
The reader applies the issuer response, finishes with the card, and sends reporting the kernel outcome (Approved or Declined).
The result shows on-device on a display reader; on the the reader sends so your host can display it.
The recommended flow for most retail β it minimizes how long the card stays in the reader.
The reader builds its own internal ARPC (tag 8A = Z3) and completes immediately with ("Quick Chip Deferred"), so the cardholder can remove the card right away.
Your host then processes the ARQC, sets the final amount, and coordinates with the processor out-of-band. The reader is not involved in the final approve/decline, so you display the result yourself (via on a display reader, or your own UI on the Go).
The transaction carries EMV data as TLV objects, each documented once in Data types & shared TLV objects. The ones you'll handle most:
When you take a transaction online, you forward the ARQC to your processor and return the ARPC via . Two things to know:
Parts of the data are encrypted. Portions of the EMV ARQC and EMV Batch Data objects are SRED-encrypted. To use them, your host must first determine which key was used, then decrypt.
See .
You can avoid handling clear PAN. Magensa's service lets you send the encrypted transaction straight to a processor without exposing cardholder data in your environment
Both run the flow above; enable each interface in Reader Options (tag A3) on .
Contactless payments (tap-to-pay, mobile wallets) follow the same ARQC/ARPC flow.
NFC tags (non-payment) are different: the reader reports the card type and UID via and produces no ARQC or Batch data β you continue with pass-through commands.
See .
The kernel's behavior is controlled by configuration files you load onto the device:
, , and control the contact and contactless kernels.
enable Offline Data Authentication.
Load them using the file-operations commands and the file-type definitions in the data-object pages above.
Your device and payment application must be L3-certified with each processor. Dyna-family readers share a common EMV kernel, so certifying one family member can carry to the others, and Quick Chip is included in .
For the full strategy and the discovery questions to scope your certification, see .
EMV configuration is loaded (Terminal, Processing, Entry Point, and CA public keys).
See EMV Configuration below.
You've chosen a flow β Quick Chip or full EMV (see the fork below).
Reader waits for the card. It acknowledges and waits for the cardholder to insert, tap, or swipe. You can abort with 0x1008 - Cancel Transaction .
Card presented. The reader sends 0x0101 - Transaction Information Update reporting the payment technology and a Card Event.
Application selection (if needed). If the card supports more than one application, a display reader prompts directly; the device sends 0x1803 - Host Action Request, and your host replies with 0x1802 - Report Cardholder Selection.
ARQC produced. The reader sends 0x0101 again reporting a Data Update / ARQC Update, with the EMV ARQC object attached.
Completion depends on the flow you chose:
If your host is slow to return the ARPC, the reader retries and times out per its ARPC-timeout properties.
Files that control kernel behavior (see ).
Required for Offline Data Authentication (ODA).
AmEx contactless DRL handling.
See Magensa Services.
Wallet value-added services (Apple VAS, Google Smart Tap) are configured through the wallet/VAS modes in tag 84 β
See NFC / MIFARE
EMPTY content β worked hex examples are in Appendix C: Erasing EMV Configurations.The host uses this command to provide a cardholder selection to the device when the device itself does not have a display or inputs to prompt the cardholder for a selection.
All Configuration Object Types can be found in Section.
Object
Description
The authorization request you forward to the processor.
The issuer response you return via Resume Transaction.
Clearing/settlement data returned at completion.
Command
Description
The host uses this command to start a payment transaction.
The host uses this command to provide the device with additional/modified data to resume a transaction that is currently paused.
The host can use this command to cancel a transaction in progress that it initiated using Start Transaction.
Notification
Description
During a transaction.
Upon completion of a transaction
This notification requests that the host take action during operations involving the deviceβs User Interface modules.
Type
Description
Information on how the device formats ARQC messages.
Information on how the device formats ARPC messages,
Information on the device formats EMV batch data, such as merchant data and pre-defined EMV batch data tags.
Guide
Description
This section covers how DynaFamily readers protect cardholder data and manage keys.
DynaFamily readers with a contactless interface can exchange commands directly with NFC tags and MIFARE cards through pass-through commands and can present themselves as a card to another reader through NFC card emulation.
Pursuing an L3 Certification (Level 3 Certification) with an EMV (Europay, Mastercard, Visa) payment processor involves several steps.
Need Help?
For additional support, please contact MagTek Support:
Technical Support:
π§ Email: support@magtek.com
π Phone: 1-800-788-6835 (US) | +1-562-546-6616 (International)
π Hours: Monday-Friday, 6:00 AM - 5:00 PM PST
Online Resources:
π Official Site:
π¬ Developer Forum:
Documentation Feedback:
Help us improve this documentation!