# Certification
Once the required OS changes and SPI Implementation are complete, hardware vendors can self-certify their implementation by executing the test cases mentioned below. These test cases would help in identifying any gaps in the functionality before approaching potential distribution and acquiring partners for L3 certification.
# Payment SPI Tests
Payment SPI tests include test cases that should cover different card interfaces, transaction types, Card Schemes, CVM handling, Configuration management, data format and encryption key management. Below is a table of all possible combinations that must be validated by the hardware vendors before going for an L3 certification with a processor.
Card Scheme* | Transaction Type | Card Interface | POS Entry Mode | CVM |
---|---|---|---|---|
VISA | PURCHASE | CT | ICC CT | ONLINE PIN |
MASTER CARD | CASH ADVANCE | CL | ICC CL | OFFLINE PIN |
AMEX | PURCHASE WITH CASH ADVANCE | MSR | CL MSR (MSD) | CLEAR TEXT PIN |
DISCOVER | REFUND | ICC Fallback to MSR | ENCIPHERED PIN | |
JCB | VOID | MSR | SIGNATURE | |
CUP | VOID REFUND | KEYED | NO-CVM | |
INTERAC | CDCVM | |||
BANCOMAT |
* Card Schemes to verify depends on which region you are targetting to launch - for example 'INTERAC' is only needed when targetting to launch in Canada, 'BANCOMAT' is only needed when targetting to launch in Italy, etc. Also typically these region specific card schemes require additional requirements - eg. for INTERAC you would need to implement the support for MACing, and for BANCOMAT you would need to implement Bancomat Key Injection protocol through Poynt Payment Security SPI service.
Poynt SPI Test tool can be used to execute these tests both during development and testing. But before going for L3 certification, we recommend to do end to end testing with Poynt Payment Application (Payment Fragment) and Poynt Cloud. Please refer to getting started section on how to setup a test merchant and activate your terminal to test with both a mock processor and also an acquiring partner test host.
# L3 Certifications
L3 Certifications depend on which distribution or acquiring partner you are going to deploy your terminals with. Even though Poynt Cloud is already integrated and certified with the acquiring partner, every new terminal must go through the L3 certification as an industry standard requirement.
# Key injection and encryption tests
Key injection and encryption can be teted in Poynt's test env with test RKMS. Poynt will assist in setting up test keys and enabling your terminal serial numbers for remote key injection. Hardware partners can use their own test keys or use Poynt test cases for this verification process.
# OS Testcases
Poynt CTS (Compatibility Test Suite) can be used to verify and validate the OS changes done to bundle Poynt System apps. These CTS test must be integrated with your AOSP build process so they can be run locally in your own test env environments without any dependency on any external system.
Please refer to the section on tools for Poynt CTS test suite.