IP Library Granted Patent US 11,562,345
Granted Patent B2
US 11,562,345 · App. 15/699,090 · Granted Jan 24, 2023

EMV kernel for faster processing

Inventors: Jonathan Wall (San Francisco, CA); Ross Favero (Berkeley, CA); Eric Nelson Glass (San Francisco, CA)
Assignee: STRIPE, INC.
G06Q20/341G06N5/048G06Q20/356G06Q20/3563G06Q20/3567G06Q20/367G06Q20/401G06Q30/0201G07G1/0009G06Q2220/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,562,345
App. No.
15/699,090
Granted
Jan 24, 2023
Kind
B2
Abstract

Methods of performing transactions with a payment card comprising an integrated circuit are disclosed comprising interacting with an integrated circuit on a received payment card and inferring an application corresponding to a card brand and card type of the payment card, or retrieving a map of the integrated circuit to read records on the integrated circuit based on the map, are disclosed. Corresponding devices, such as PIN pads, and computer products are also disclosed.

Claims (95)

1. A method of a PIN pad device performing a transaction with a payment card comprising an integrated circuit, the method comprising:

supplying power, by the PIN pad device, to an integrated circuit of the payment card;

reading, by the PIN pad device, the integrated circuit of the payment card with a reader of the PIN pad device;

inferring, by a processor of the PIN pad device, a card brand and a card type of the payment card comprising:

selecting a first inference type from among a set of two or more inference types, each inference type using different criteria to infer a probable card brand and a probable card type of the payment card used for the transaction, and

determining a first inference comprising a first probable card type and a first probable card brand based on the first inference type;

identifying, by the processor of the PIN pad device, a first application based on a combination of the first probable card brand and the first probable card type;

sending, by the PIN pad device, a first message containing an identifier of the first application to the integrated circuit without querying the integrated circuit of the payment card for application identifiers associated with card brands or card types;

receiving, by the PIN pad device, a second message from the integrated circuit, the second message being a confirm message confirming the first application, or a reject message rejecting the first application; and

in response to determining that the second message is the confirm message, completing, by the PIN pad device, the transaction using the first application.

2. The method of claim 1 , wherein selection from among the set of two or more inference types is based on data stored in a memory of the PIN pad device, the data comprising data indicative of:

a first criteria for selection of the first inference type comprising a plurality of total market shares of respective combinations of card brand and card type in a region;

a second criteria for selection of a second inference type comprising a plurality of market shares of respective combinations of card brand and card type for a merchant receiving the payment card; and

a third criteria for selection of a third inference type comprising a known relationship between the merchant and the card brand.

3. The method of claim 2 , wherein determining the first inference is based on a total market share of a combination of card brand and card type having a highest market share in the region; and

in response to determining that the second message is the reject message:

determining a second inference based on a second combination of card brand and card type having a second highest market share in the region; or

determining the second inference, based at least in part, on a combination of card brand and card type for the merchant receiving the payment card having a highest market share for the merchant receiving the payment card.

4. The method of claim 2 , further comprising:

determining the first inference based on a combination of card brand and card type for the merchant receiving the payment card having a highest market share for the merchant receiving the payment card; and

in response to receiving the reject message, determining a second inference based, at least in part, on a second combination of card brand and card type for the merchant receiving the payment card having a second highest market share for the merchant receiving the payment card.

5. The method of claim 1 , further comprising:

inferring the card brand based on a known relationship between a merchant and a card brand.

6. The method of claim 1 , wherein, in response to receiving the reject message, the method further comprises:

sending respective third messages to the integrated circuit for each combination of card brand and card type; and

ceasing transmission of the respective third messages when a subsequent confirm message is received.

7. The method of claim 1 , wherein after receiving the confirm message, the method further comprises:

reading the integrated circuit based, at least in part, on the card brand and/or a card issuer to acquire a card number and/or card information from the integrated circuit.

8. The method of claim 7 , wherein the card information comprises:

a cardholder's name, a card expiration date, a customer's PIN verification key, a PIN verification value, a card verification value, a card verification code, and/or signed data.

9. The method of claim 7 , further comprising:

storing information related to two or more of parties comprising: a gateway, a card brand, a card issuer, a merchant, a store, and the payment card;

assigning a relative priority to the two or more parties; and

determining whether to perform card validation to validate the payment card based, at least in part, on stored validation information from the two or more parties, based on the relative priority assigned to each of the two or more parties.

10. The method of claim 9 , wherein, when it is determined that the card validation is not required, the method further comprises:

issuing a command to the integrated circuit to generate an authorization cryptogram;

receiving the authorization cryptogram;

determining whether full online transaction is required; and

when the full online transaction is not required, issuing a deferred authorization to the integrated circuit, indicating that the transaction is completed.

11. The method of claim 9 , wherein, when card validation is required, the method further comprises:

inferring public key parameters for the payment card based, at least in part, on the card information;

retrieving the inferred public key parameters; and

attempting to verify signed data using the retrieved public key parameters.

12. The method of claim 11 , wherein, when the attempt to verify is successful, the method further comprises:

issuing a command to the integrated circuit to generate an authorization cryptogram;

receiving the authorization cryptogram;

determining whether full online transaction is required; and

when full online transaction is not required, issuing a deferred authorization to the integrated circuit, indicating that the transaction is completed.

13. The method of claim 10 , wherein, when an attempt to validate is not successful, the method further comprises:

attempting to validate a signed data with all available secure key parameters; and

when the attempt to validate is successful, the method further comprise:

issuing a command to the integrated circuit to generate the authorization cryptogram;

receiving the authorization cryptogram;

determining whether a full online transaction validation is required; and

when the full online transaction validation is not required, issuing a deferred authorization to the integrated circuit, indicating that the transaction is completed.

14. The method of claim 13 , wherein in response to determining that full online transaction processing is necessary, the method further comprising:

sending a received transaction total to a payment gateway, via a network, for approvals;

receiving an issuer response including an approval or denial, a response cryptogram indicating that an issuing bank is legitimate, and issuer scripts; and

loading the issuer scripts on the integrated circuit.

15. The method of claim 1 , further comprising: in response to determining that the second message is the reject message,

selecting a second inference type from among the set of two or more inference types, the second inference type using a second criteria to infer a second probable card brand and a second probable card type of the payment card used for the transaction, and

determining a second inference comprising the second probable card type and the second probable card brand based on the second inference type;

identifying a second application, different from the first application, based on the second probable card type and the second probable card brand;

determining whether the integrated circuit accepts or rejects the second application; and

in response to the integrated circuit accepting the second application, completing, by the PIN pad device, the transaction using the second application.

16. The method of claim 15 , wherein when the integrated circuit rejects one or more inferred applications, the method further comprises:

falling back to a default application selection process that does not infer card brands or card types.

17. A device for performing a transaction with a payment card comprising an integrated circuit, the device comprising:

storage; and

a processor configured to:

supply power to an integrated circuit of the payment card;

read the integrated circuit of the payment card with a reader of the device;

infer a card brand and a card type of the payment card comprising the processor further configured to:

select a first inference type from among a set of two or more inference types, each inference type using different criteria to infer a probable card brand and a probable card type of the payment card used for the transaction, and

determining a first inference comprising a first probable card type and a first probable card brand based on the first inference type;

identify a first application based on a combination of the first probable card brand and the first probable card type, based, at least in part, on data stored in the storage;

send a first message containing an identifier of the first application to the integrated circuit without querying the integrated circuit of the payment card for application identifiers associated with card brands or card types;

receive a second message from the integrated circuit, the second message being a confirm message confirming the first application, or a reject message rejecting the first application; and

in response to determination that the second message is the confirm message, complete the transaction using the first application.

18. The device of claim 17 , wherein the selection from among the set of two or more inference types is based further on the data stored in the storage comprising data indicative of:

a first criteria for selection of the first inference type comprising a plurality of total market shares of respective combinations of card brand and card type in a region;

a second criteria for selection of the second inference type comprising a plurality of market shares of respective combinations of card brand and card type for a merchant receiving the payment card; and

a third criteria for selection of a third inference type comprising a known relationship between the merchant and the card brand.

19. The device of claim 17 , wherein the device for performing the transaction comprises a PIN pad device.

20. A computer software product comprising:

a non-transitory computer-readable medium comprising code that, when executed by a processor of a PIN pad device, causes the PIN pad device to perform operations, comprising:

supplying power to an integrated circuit of the payment card;

reading the integrated circuit of the payment card with a reader of the PIN pad device;

inferring a card brand and a card type of the payment card comprising:

selecting a first inference type from among a set of two or more inference types, each inference type using different criteria to infer a probable card brand and a probable card type of the payment card used for the transaction, and

determining the a first inference comprising a first probable card type and a first probable card brand based on the first inference type;

identifying a first application based on a combination of the first probable card brand and the first probable card type;

sending a first message containing an identifier of the first application to the integrated circuit without querying the integrated circuit of the payment card for application identifiers associated with card brands or card types;

receiving a second message from the integrated circuit, the second message being a confirm message confirming the first application, or a reject message rejecting the first application; and

in response to determining that the second message is the confirm message, completing, by the PIN pad device, the transaction using the first application.

Assignments (3)
CHANGE OF NAME Recorded Oct 3, 2019
From: INDEX SYSTEMS, INC.
To: INDEX SYSTEMS, LLC
Reel/Frame 050620/0285 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: WALL, JONATHAN; FAVERO, ROSS; GLASS, ERIC NELSON
To: INDEX SYSTEMS, INC.
Reel/Frame 045181/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2017
From: WALL, JONATHAN; FAVERO, ROSS; GLASS, ERIC NELSON
To: INDEX SYSTEMS, INC.
Reel/Frame 044883/0486 →
Continuity (2)
Provisional Application 62385165 · Sep 8, 2016
Related Publication 20180068303A1 · Mar 8, 2018