In the world of in-store payment solutions, achieving EMV Level 2 certification is crucial for ensuring compliance and functionality. The traditional EMV software development lifecycle is typically complex, time-consuming, and dependent on third-party certification tools.
Developing and maintaining an EMV Level 2 stack without Moka requires developers and QA teams to manually debug complex transaction flows, ensure compliance with multiple payment network specifications, and conduct extensive regression testing after every update. The certification process is time-consuming, requiring costly test tools and meticulous validation across different kernels and hardware configurations. Switstack Moka transforms this workflow by automating testing, providing pre-certified kernels, and offering a virtualized development environment, allowing teams to focus on feature development rather than certification roadblocks. With Moka, developers spend less time troubleshooting EMV intricacies, and QA teams can validate updates faster, reducing delays and accelerating time-to-market.
In this blog and accompanying video, Olivier Chauvineau, our co-founder demonstrates how teams can accelerate testing and certification by implementing switstack moka. This solution enables development teams to run automated EMV Level 2 tests with each commit and debug issues instantly in a virtual environment—eliminating the wait for QA testing cycles and manual debugging on physical devices.
Developing an EMV Level 2 stack for payment terminals typically involves the following for a payment application development team and their in-house (or outsourced) QA teams.
Develop:
Payment developers must first integrate an EMV stack onto their payment terminal. They would either build the EMV stack from scratch or integrate a pre-certified solution like switstack moka. If they choose to build their own stack, they must have deep EMV expertise and knowledge of the ever-changing specs for each kernel and compliance standards.
QA/Testing:
After building the EMV Level 2 stack, the development team hands it off to the QA team that would run a mix of EMV level 2 tests - depending on their ICS (Implementation Conformance Standard). While some of these tests can be automated, the majority will be manual. The tests must be run on third party certification tools which require costly licenses and training.
In order for the QA team to run these tests, the development team would also need to set up an ‘’SDK’’ (or test environment) that is not provided by the tool vendors but is mandatory for certification. This test environment is another piece of infrastructure that must be maintained and updated by the application developers.
Debugging and Troubleshooting
Certainly, there will be a debug period, a series of back and forth between QA and developers, as long as all the tests are not passed. During these cycles, the QA teams validate builds, send feedback to developers who must troubleshoot using the third party crrtification tools and make updates to the stack and recompile for testing and repeat the process until all tests pass.
Qualification & Certification:
Once all of the tests pass, the QA team would emulate a lab session for a dry run using the test environment (SDK) and certification tools before final submission to the certification lab to ensure the stack is fully compliant. Ideally, the QA also performs a regression test across all the stack to make sure that it can be shipped along with the test environment.
Then the package can be sent to the labs for EMV Level 2 certification.
Conclusion:
In this traditional approach development teams rely heavily on QA teams and certification tools, leading to delays and debugging cycles as well as reliance on third party certification tools.
Development + Testing + Debugging with switstack moka
Switstack moka includes a Pre-Certified Code and Integrated Test Environment along with a virtual terminal for debugging. This allows the EMV Level 2 developer to integrate a pre-certified EMV stack and run automated functional tests at each commit and debug within their software environment. This allows them to hand off a pre-certified build to the QA team.
Switstack moka comes with an automation framework that emulates third-party certification tools, allowing developers to:
Debugging: If developers need to analyze test results from third-party certification tool logs, moka includes a virtual terminal that can replay transactions, making debugging easier and reducing turnaround times between development and QA.
Maintenance: Continuous EMV Compliance with Pipelines Integration
Swittest offers flexible integration for existing EMV Stacks: even if a company already has its own EMV stack, they can still use moka’s automated testing environment. Switstack provides a switstack Probe and moka software connector, allowing teams to leverage moka’s automation tools for their existing L2 stack.
By integrating moka into the EMV software development lifecycle, teams benefit from:
✅ Eliminating dependencies on third-party certification tools during development.
✅ Accelerating EMV Level 2 development and testing cycles.
✅ Producing higher-quality software with fewer certification failures.
✅ Automating test execution for continuous EMV compliance.
With moka, EMV Level 2 certification is no longer an iterative, QA-centric process—it becomes an integrated, automated part of development.
Development and QA teams can focus on their area of expertise: Developers to focus on integrating and refining their software application, rather than dealing with certification complexities, AND the QA team can focus on actual quality code validation activities instead of being involved in lengthy debugging cycles.
Minimized Reliance on Third-Party Certification Tools: Traditional development cycles rely on third-party certification tools for debugging, which should only be used for final certification. With moka, third-party certification tools are only required during the dry run before submitting to the certification lab. This allows teams to reserve tool licenses for certification instead of ongoing development and testing.
Switstack offers a 90-day evaluation license for moka, including access to the pre-certified codebase, SDK, and automated testing tools. Learn more about moka.