Systems and methods for EMV terminal device testing using EMV card emulation
Abstract
A method and apparatus for EMV terminal device testing using a simulation of a plurality of EMV cards when interacting with an EMV terminal device emulator are described. The method may include establishing, by an EMV card emulator, an interface with the EMV terminal device emulator for the exchange of EMV card present transaction communications between the EMV card emulator and the EMV terminal device emulator. Furthermore, for each of a plurality of simulated EMV cards, the method may include exchanging one or more communications with the EMV terminal device emulator via the interface, wherein each communication simulates a communication generated by a simulated integrated circuit of an EMV card in response to a communication generated by the EMV terminal device emulator, and then causing at least one transaction to be run by the EMV terminal device emulator using the exchange of the one or more communications between the EMV card emulator and the EMV terminal device emulator.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for EMV terminal device testing using EMV card simulation when interacting with an EMV terminal device emulator, the method comprising:
establishing, by an EMV card emulator, an interface with the EMV terminal device emulator for an exchange of EMV card present transaction communications between the EMV card emulator and the EMV terminal device emulator;
configuring, by an EMV testing coordinator, the EMV card emulator to simulate an EMV card for performing a transaction between the EMV card emulator and the simulated EMV terminal device emulator;
exchanging one or more communications with the EMV terminal device emulator via the interface, wherein each communication simulates a communication generated by a simulated integrated circuit of the simulated EMV card in response to a communication generated by the EMV terminal device emulator;
causing at least one transaction to be run using the simulated EMV card by the EMV terminal device emulator using the exchange of the one or more communications between the EMV card emulator and the EMV terminal device emulator; and
verifying, by the EMV testing coordinator in response to the running of the at least one transaction, a result of the at least one transaction based at least in part on a comparison of actual communications exchanged between the EMV card emulator and the EMV terminal device emulator with expected communications exchanged between the EMV card emulator and the EMV terminal device emulator.
2. The method of claim 1 , wherein the EMV card emulator is a first virtual machine that simulates at least a virtualized integrate circuit and/or a near field communications interface of the simulated EMV card, and wherein the EMV terminal device emulator is a second virtual machine comprising at least a virtualized EMV vector kernel.
3. The method of claim 2 , wherein the interface is established after a software update to one or more of an operating system and an EMV vector kernel to be executed by the EMV terminal device emulator.
4. The method of claim 2 , wherein the configuring further comprises:
setting one or more configuration options of the EMV terminal device emulator, the one or more configuration options comprising: a version of a virtualized EMV vector kernel of the EMV terminal device emulator to be used when processing the transaction, one or more virtualized hardware components of the EMV terminal device emulator to be used when processing the transaction, one or more transaction details to be used by the EMV terminal device emulator to be used when processing the transaction, or a combination thereof.
5. The method of claim 4 , wherein the version of the virtualized EMV vector kernel of the EMV terminal device emulator to be used when processing the transaction comprises an updated version of the EMV vector kernel received by the EMV testing coordinator from a software development and testing system.
6. The method of claim 4 , wherein the configuring further comprises:
setting one or more configuration options of the simulated EMV card, the one or more configuration options comprising: a card type, a card brand, one or more card numbers, one or more interface configurations of the near field communications interface, one or more integrated circuit configurations of the virtualized integrate circuit, a magnetic, or a combination thereof.
7. The method of claim 1 , wherein the method further comprises:
monitoring, by the EMV testing coordinator, transaction operations of the EMV card emulator performed during a plurality of transactions using a plurality of simulated EMV cards, transaction operations performed by the EMV terminal device emulator performed during the plurality of transactions, and communications between the EMV card emulator and the EMV terminal device emulator during the plurality of transactions;
storing, in a memory, transaction performance data indicative the transaction operations performed by the EMV card, the transaction operations performed by the EMV terminal device emulator, and the communications; and
verifying, by the EMV testing coordinator after the running of the at least one transaction, results of the plurality of transactions based on a comparison of the transaction performance data with corresponding expected transaction performance data.
8. The method of claim 7 , wherein the transaction performance data comprises:
expected transaction operations performed by simulated EMV cards during the plurality of transactions including static and/or interactive data generated by the plurality of simulated EMV cards during the plurality of transactions,
expected transaction operations performed by the EMV terminal device emulator during the plurality of transactions including operations performed by a vector kernel, an operating system, and simulated hardware components of the EMV terminal device emulator, and
expected communications generated by a plurality of simulated integrated circuits of the plurality of simulated EMV cards and the EMV terminal device emulator during the transactions.
9. The method of claim 8 , wherein the verifying further comprises:
verifying, by the EMV testing coordinator using the transaction performance data, (i) timing requirements for communications and processing operations performed by the simulated EMV card simulated by the EMV card emulator and the EMV terminal device emulator during the plurality of transactions, (ii) content of communications exchanged between the simulated EMV card simulated by the EMV card emulator and the EMV terminal device emulator during the plurality of transactions, (iii) an expected messaging flow between the simulated EMV card simulated by the EMV card emulator and the EMV terminal device emulator during the plurality of transactions, (iv) content of one or more messages exchanged between the simulated EMV card simulated by the EMV card emulator and the EMV terminal device emulator determined to have wrong, incomplete, or inaccurate data, (v) detection of one or more failures for operations expected to be performed by the simulated EMV card simulated by the EMV card emulator and the EMV terminal device emulator.
10. The method of claim 1 , wherein the interface is a communications interface.
11. The method of claim 1 , wherein a plurality of transactions are run by the EMV terminal device emulator and corresponding verification results collected in a settlement file, and wherein the settlement file is transmitted to a testing endpoint.
12. The method of claim 11 , wherein the plurality of transactions comprise a plurality of transactions defined by a credit card provider system that provides the testing endpoint, and running of the plurality of transactions certify the proper functioning of software and/or hardware systems of the EMV terminal device to the credit card provider system.
13. The method of claim 1 , further comprising:
when the result of the transaction cannot be verified as being correct, generating a notification for a software development system of a failed verification.
14. The method of claim 1 , wherein the interface is a simulated hardware interface between the EMV card emulator and a simulated integrated circuit reader of the EMV terminal device emulator.
15. The method of claim 1 , wherein the EMV card emulator establishes a first interface with the EMV terminal device emulator to simulate a first sequence of communications for a first type of EMV card present transaction, and wherein the EMV card emulator establishes a second interface with the EMV terminal device emulator to simulate a second sequence of communications for a second type of EMV card present transaction.
16. A non-transitory computer readable storage medium including instructions that, when executed by a processor, cause the processor to perform operations for EMV terminal device testing using EMV card simulation when interacting with an EMV terminal device emulator, the operations comprising:
establishing an interface with the EMV terminal device emulator for an exchange of EMV card present transaction communications between an EMV card emulator and the EMV terminal device emulator;
configuring the EMV card emulator to simulate an EMV card for performing a transaction between the EMV card emulator and the simulated EMV terminal device emulator;
exchanging one or more communications with the EMV terminal device emulator via the interface, wherein each communication simulates a communication generated by a simulated integrated circuit of the simulated EMV card in response to a communication generated by the EMV terminal device emulator;
causing at least one transaction to be run using the simulated EMV card by the EMV terminal device emulator using the exchange of the one or more communications between the EMV card emulator and the EMV terminal device emulator; and
verifying, in response to the running of the at least one transaction, a result of the at least one transaction based at least in part on a comparison of actual communications exchanged between the EMV card emulator and the EMV terminal device emulator with expected communications exchanged between the EMV card emulator and the EMV terminal device emulator.
17. A system for EMV terminal device testing using a simulated EMV card, comprising:
a memory; and
a processor coupled with the memory, the processor configured to:
establish an interface with the EMV terminal device emulator for an exchange of EMV card present transaction communications between an EMV card emulator and the EMV terminal device emulator,
configure the EMV card emulator to simulate an EMV card for performing a transaction between the EMV card emulator and the simulated EMV terminal device emulator,
exchange one or more communications with the EMV terminal device emulator via the interface, wherein each communication simulates a communication generated by a simulated integrated circuit of the simulated EMV card in response to a communication generated by the EMV terminal device emulator,
cause at least one transaction to be run using the simulated EMV card by the EMV terminal device emulator using the exchange of the one or more communications between the EMV card emulator and the EMV terminal device emulator, and
verify, in response to the at least one transaction being run, a result of the at least one transaction based at least in part on a comparison of actual communications exchanged between the EMV card emulator and the EMV terminal device emulator with expected communications exchanged between the EMV card emulator and the EMV terminal device emulator.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.