PaytestLab
PaytestLab is not a single product but a family that automates payment terminal testing. Which components you combine determines the testing you can cover.
The testing problems this solves
PaytestLab runs coverage and regression testing of EMV transactions automatically. It covers the combinations of scheme branch, CVM, authorisation path and exception case systematically, so nothing is missed as it would be in manual testing.
Test case coverage
Verifies terminal configurations and kernel branches comprehensively, across transaction types.
| Aspect | Coverage |
|---|---|
| Scheme branches | Visa / Mastercard / Amex / Discover / JCB / UnionPay |
| CVM | PIN, signature, CDCVM and no CVM |
| Authorisation path | Online, offline and fallback |
| Interface | Contact / contactless / dual interface |
| Exception cases | Timeouts, reversals and partial approvals |
Supported terminals and environments
Supports the part numbers and firmware conditions of the major POS and terminal vendors, with examples of integration into CI and regression.
How the PaytestLab range is structured
PaytestLab is a family of products that automate payment terminal testing. B2 fixed card sets are different in nature.
| Product | Role |
|---|---|
| PaytestHub | Authoring, managing, running and analysing tests, and orchestrating the equipment |
| PaytestCore | Test infrastructure that brings together compute, network, power and connectivity |
| PaytestPlayer | EMV Level 3 test execution engine that drives approved L3 tools |
| PaytestRobot | Physical operation of the POS terminal, checking the display, and presenting cards |
| PaytestProbe | Generating contact, contactless and magnetic stripe card behaviour |
| PaytestMux | Switching between cards and probes |
| PaytestECR | Automated operation of the ECR and POS application |
| PaytestMagstripe (Probe family) | Emulation of magnetic Tracks 1 to 3 |
| PaytestAntenna (Probe family) | Contact and contactless card interfaces |
Relationship to certification tools
PaytestLab does not replace certification test tools such as those from ICC Solutions or UL. It calls the existing tools, runs them automatically and collects the results — the layer above them.
| Layer | Element |
|---|---|
| 1 | Scheme certification test suites from ICC Solutions, UL and others |
| 2 | PaytestHub / PaytestPlayer / PaytestCore |
| 3 | PaytestRobot + PaytestProbe + PaytestECR |
| 4 | POS terminal, ECR and acquirer host |
How the four main vendors and product families differ
Barnes, ICC Solutions, B2 and PaytestLab are not competitors; they verify different things.
| Product | What is primarily verified | Strengths |
|---|---|---|
| Barnes CPT/CAT | EMV data, certificates, cryptography and personalisation inside the issued card | Pre-issuance card verification (PVT) |
| ICC Solutions TMat | Level 2 and Level 3 test cases for POS and ATM | Scheme certification and card simulation |
| ICCSimDev | Custom card scripts | Error cards, custom APDUs and negative testing |
| ICC Merchant Cards | Quick checks in store | Training and confidence testing |
| B2 UAT Cards | Terminal and host integration specific to a region or processor | US Debit, Interac, DCC and 8-digit BINs |
| B2 Touchless | Acceptance of real smartphones and wallets | Field testing with Apple Pay and similar |
| B2 Magstripe Simulator | Magnetic stripe handling | Fleet, Gift, Loyalty, DCC |
| PaytestLab | Automation of POS and ECR testing | Robots, probes and central management |
B2 fills the gap between the certification tools and UAT in the live market. How its role differs from Barnes (card issuance) and ICC Solutions (terminals) is set out in the operations layer.
Choosing within the PaytestLab family
PaytestLab is the name for the family as a whole. PaytestHub sits at the centre, authoring, managing, running and analysing tests and orchestrating the equipment. PaytestCore is the test infrastructure that brings together compute, network, power and connectivity; PaytestPlayer is the EMV Level 3 test execution engine; PaytestRobot handles physical operation; PaytestProbe generates card behaviour; PaytestECR drives the ECR; PaytestMux switches between cards. They can be adopted individually or in stages.
| Product | If you are considering |
|---|---|
| PaytestHub | You want to manage test assets and results centrally across several sites and teams |
| ★ PaytestLab (this page) | You want to automate transaction coverage and regression testing (Hub plus Player) |
| PaytestRobot T1/T4 | You want to remove the operator from tapping and inserting too (working with Hub) |
Where it is used
- Setting up Level 3 verification for a new development
- Regression after a configuration change or update
- Coverage checks ahead of certification
Relationship to certification
What this product performs is terminal integration testing. Whether scheme approval is granted is decided by the scheme and the acquirer. We support the test environment and the preparation of the data required for submission.


