How it works

A Platform-as-a-Service offering an always up-to-date, ready-to-certify EMV stack, with all the tools necessary to develop, compile, test, qualify, certify, and maintain EMV payment acceptance solutions.

Develop

Leverage a ‘ready to certify’ EMV Level 2 codebase.

Clone the repository, review and edit the code to make any modifications required by your use cases. The Moka codebase is developed by a community of experts that intensively maintains and certifies the stack at accredited labs using different tools.

Compile

Use a supported toolchain.

Build for your chosen platform based on your current needs, whether its testing transactions on a virtual terminal, running EMV CI/CD pipelines, or doing a demo on an Android device.

Switstack moka uses CMake, a free cross-platform tool that enables building software with compiler-independent instructions.

Test

Identify EMV issues early to prevent costly back-and-forth between development and QA teams. Achieve ‘near’ certification-grade quality during development by validating functional tests independently of vendor tools.

Easily debug code by running and replaying virtual transactions through the CLI, or leverage automated EMV Level 2 tests for regression checks with each GitHub commit.

Qualify

[coming in 2025] Emulation of an actual certification session.

Switstack moka will offer a comprehensive test & certification environment.  This environment will use a web-based UI during QA to emulate certification sessions and will enable teams to reduce iterations with the lab and lab fees related to debug sessions.

Certify

[coming in 2025] Lab certifies the EMV Level 2 stack on the payment platform.

Equip certification labs with an efficient SDK and testing environment to run certification sessions. The simple installation and setup helps lab analysts complete testing more quickly and thoroughly.

Maintain

Identify EMV issues early to prevent costly back-and-forth between development and QA teams. Achieve ‘near’ certification-grade quality during development by validating functional tests independently of vendor tools.

Easily debug code by running and replaying virtual transactions through the CLI, or leverage automated EMV Level 2 tests for regression checks with each GitHub commit.