US 12,260,392 B2
System, method, and computer program product for verifying a card image
Alexandre Pierre, San Mateo, CA (US); Carl Smith, Elk Grove, CA (US); Kiat Chun Tan, Singapore (SG); Baoxiang Kang, Singapore (SG); Li Huang, Singapore (SG); and Yuexi Chen, Foster City, CA (US)
Assigned to Visa International Service Association, San Francisco, CA (US)
Appl. No. 17/642,963
Filed by Visa International Service Association, San Francisco, CA (US)
PCT Filed Sep. 15, 2020, PCT No. PCT/US2020/050863
§ 371(c)(1), (2) Date Mar. 15, 2022,
PCT Pub. No. WO2021/055348, PCT Pub. Date Mar. 25, 2021.
Claims priority of provisional application 62/900,870, filed on Sep. 16, 2019.
Prior Publication US 2022/0318786 A1, Oct. 6, 2022
Int. Cl. G06Q 20/34 (2012.01); G06Q 20/40 (2012.01)
CPC G06Q 20/351 (2013.01) [G06Q 20/401 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
parsing, with at least one processor, a card image file to extract card data stored on the card image file, the card image file configured to be embedded on an integrated circuit of a payment card;
generating, with at least one processor, at least one first cryptogram based on the card data and at least one encryption key;
generating, with at least one processor, a plurality of simulated payment transactions based on the card data, each simulated payment transaction comprising simulated transaction data, wherein the simulated transaction data is generated via an emulation of a point of sale (POS) device, and wherein the emulation of the POS device receives at least the card data as an input and provides the simulated transaction data as an output;
generating, with at least one processor, transaction sequences comprising a plurality of sequential commands based on the simulated transaction data for the plurality of simulated payment transactions, wherein each of the plurality of sequential commands is associated with a discrete transaction of the plurality of simulated payment transactions;
communicating, with at least one processor, the plurality of sequential commands to a payment device emulator, the payment device emulator comprising a simulated payment device comprising a probe inserted into a card reader, wherein the probe is in communication with a first computing device that generates signals representative of a payment device and sends the signals to the payment device emulator via the probe, and wherein the plurality of sequential commands comprises instructions configured to cause the card reader to return dynamic transaction data comprising at least one second cryptogram generated with the simulated payment device;
receiving, with at least one processor, a plurality of command responses generated by the simulated payment device based on the plurality of sequential commands, the plurality of command responses comprising the at least one second cryptogram;
comparing, with at least one processor, the at least one second cryptogram to the at least one first cryptogram;
matching, with at least one processor, the at least one second cryptogram to the at least one first cryptogram based on the comparing;
determining, with at least one processor, whether each command response of the plurality of command responses is a valid command response or an invalid command response based on matching the at least one second cryptogram to the at least one first cryptogram;
verifying, with at least one processor, the card image file based on determining that a predetermined number of command responses of the plurality of command responses are valid command responses;
automatically generating, with at least one processor, a report based on verifying the card image file, the report comprising a summary of the plurality of sequential commands and the plurality of command responses determined to be valid command responses; and
automatically transmitting, with at least one processor, the report to a second computing device separate from the first computing device.