Self/Series
The fastest way to add secure unattended card payments to your machines
For over 20 years, NMI has enabled secure self-service card acceptance across industries like ticketing, parking, vending, and kiosks. By adding unattended card payments, operators boost revenue versus cash-only machines and reduce costs when going card-only. NMI delivers simple, reliable, and EMV contactless-ready unattended payment solutions backed by processor certifications.
Developers can integrate with a wide range of payment devices using the NMI Payment Device SDK for Windows and Linux, which abstracts terminal complexity so you can focus on building great software. For Windows, NMI also provides a downloadable payment device emulatorβcomplete with sample client code, gateway/API documentation, and server binariesβallowing you to prototype and test integrations without physical hardware.
1.πPrerequisites
Before you begin, make sure you have:
Payment Gateway Account
- Log in β go to Settings β Security Keys
- Generate an API Key (must have βAPIβ source permissions).
- Save it securely.
Payment Device SDK Package (.zip)
- Extract to
C:\Payment Device SDK
(or another directory). - SDK includes:
- ChipDNA Server (controls PIN pads + gateway connection)
- Sample Clients (CLI & GUI)
- API documentation
Operating Environment
- Windows 10 or 11 with .NET Framework 4.7.2+
- A supported PIN pad (see Appendix tables).
- Test chip card (or your own card β safe in sandbox).
2.π₯οΈInstall & Configure the Server
-
Go to:
C:\Payment Device SDK\ChipDNA Server
-
Open
chipdna.config.xml
in a text editor and update:ApplicationIdentifier
β a unique UPPERCASE app name (e.g.MYAPP
)Device Id
β the 10-digit PIN pad ID (see device screen or Appendix examples)Port
β correct COM port (defaultCOM1
)- (Optional) add FileStore, SSL CertificateHash, or WebProxy settings if needed
-
Save the config file.
3.βΆοΈRun the Server
Choose one of two modes:
Console (dev/debug)
- Run
ChipDNAServer.exe
directly.
Windows Service (recommended for production)
- Edit
service.install.bat
β confirm path toChipDNAServer.exe
- Run
service.install.bat
- Set service startup mode to Automatic in Windows Services
4.π±Configure & Run a Client
-
Go to:
C:\Payment Device SDK\ChipDNA Client CLI
-
Open
client.config.xml
β set:- Terminal ID (from gateway registration)
- Update server IP/port if not default (
127.0.0.1:1869
)
-
Run client:
- Execute
ChipDNAClient.exe
- Choose P = Start Transaction
- Execute
-
Enter details:
- Amount (e.g.
123
= $1.23) - Transaction type (default = Sale)
- Unique reference (or accept auto-generated)
- Amount (e.g.
-
On the PIN pad:
- Insert/test card and follow prompts
- Enter PIN
-
View result in CLI:
- Approved/Declined + receipt data
5.π³Confirm or Void Transactions
- Confirm Transaction β finalize approved transactions (settles funds)
- Void Transaction β cancel before settlement (if declined, signature fails, or goods not delivered)
β οΈ Important: Always call
ConfirmTransaction()
after authorization, otherwise the merchant will not receive funds.
6.πMove from Sandbox β Production
- Update API Key from production account.
- Edit
chipdna.config.xml
to point to live endpoints:
<Tms>
<Servers>
<Server use="tms">
<Url>https://tms.cardeasexml.com</Url>
<Timeout>45000</Timeout>
</Server>
<Server use="registration">
<Url>https://live.cardeasexml.com/gw.cex</Url>
<Timeout>45000</Timeout>
</Server>
</Servers>
</Tms>
β
Youβre now ready to integrate the Payment Device SDK for Windows & Linux and Self series device into your app.
Navigate through the pages in the developer portal for more details, including visual aids, flow diagrams, and code samples.
Updated 10 days ago