All pages
Powered by GitBook
1 of 1

Loading...

EMV Acceptance

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.

How EMV acceptance works

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:

  1. (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.

  2. 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 .

See Security & Key Management.

  • 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.

    Select it with the Transaction Flow bit in tag 84 of Start Transaction.

    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

    • See Google Wallet Smart Tap Integration.

    To clear or reset a configuration, load the file type with 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

    EMV ARQC

    The authorization request you forward to the processor.

    EMV ARPC

    The issuer response you return via Resume Transaction.

    EMV Batch Data

    Clearing/settlement data returned at completion.

    Command

    Description

    0x1001 - Start Transaction 0x1001

    The host uses this command to start a payment transaction.

    0x1004 - Resume Transaction 0x1004

    The host uses this command to provide the device with additional/modified data to resume a transaction that is currently paused.

    0x1008 - Cancel Transaction

    The host can use this command to cancel a transaction in progress that it initiated using Start Transaction.

    Notification

    Description

    0x0101 - Transaction Information Update

    During a transaction.

    0x0105 - Transaction Operation Complete

    Upon completion of a transaction

    0x1803 - Host Action Request

    This notification requests that the host take action during operations involving the device’s User Interface modules.

    Type

    Description

    EMV ARQC Type

    Information on how the device formats ARQC messages.

    EMV ARPC Type

    Information on how the device formats ARPC messages,

    EMV Batch Data Type

    Information on the device formats EMV batch data, such as merchant data and pre-defined EMV batch data tags.

    Guide

    Description

    Security & Key Management

    This section covers how DynaFamily readers protect cardholder data and manage keys.

    NFC / MIFARE

    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.

    L3 Certification Guidelines

    Pursuing an L3 Certification (Level 3 Certification) with an EMV (Europay, Mastercard, Visa) payment processor involves several steps.

    Before you start

    The transaction flow

    EMV Transaction Flow (online authorization)

    Quick Chip

    Working with EMV data objects

    Going online and decryption

    Contact vs. contactless

    EMV configuration

    Certification (EMV L3)

    Related

    Commands

    Notifications

    Data Types

    Guides

    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!

    Host Action Request – Notification 0x1803
    Connection Basics.
    0x1001 - Device Information Update
    0x1001 - Start Transaction
    0x1004 - Resume Transaction
    0x0105 - Transaction Operation Complete
    DynaFlex II Go
    0x1803 - Host Action Request – 0x1803
    0x0105
    0x1803 - Display Message – 0x1803
    0x1004 - Resume Transaction – 0x1004
    Encryption & Decryption
    Decrypt-and-Forward
    Start Transaction
    0x0101
    NFC / MIFARE
    Terminal Configuration
    Processing Configuration
    Entry Point Configuration
    CA Public Keys
    Magensa's L3 certifications
    L3 Certification Guideline
    https://www.magtek.com
    https://forum.magtek.com
    Terminal / Processing / Entry Point Configuration
    EMV Configuration
    CA Public Keys
    American Express DRL Configuration
    0x1802 - Report Cardholder Selection
    Configuration Objects
    Data Types and Shared TLV Data Objects
    Submit feedback