Method, system, and computer program product for processing e-commerce transactions using a computer-generated code
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- VISA INTERNATIONAL SERVICE ASSOCIATION
- Filing Date
- 2024-07-11
- Publication Date
- 2026-05-20
AI Technical Summary
Existing e-commerce transaction systems require merchants to integrate with multiple payment service providers and gateways, complicating the process and increasing the risk of fraudulent transactions.
A method and system that generate a computer-generated code, such as a QR code, storing transaction data and merchant identifiers, allowing users to redirect their devices to compatible payment applications for secure and efficient payment processing, eliminating the need to engage with multiple payment service providers.
This solution simplifies e-commerce transactions by enabling real-time settlement and enhancing security by reducing the need for merchants to handle multiple payment service providers, thereby minimizing fraudulent activities.
Smart Images

Figure US2024037532_16012025_PF_FP_ABST
Abstract
Description
METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR PROCESSING E- COMMERCE TRANSACTIONS USING A COMPUTER-GENERATED CODECROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of Indian Provisional Application No. 202341046994, filed July 12, 2023, the disclosure of which is hereby incorporated by reference in its entirety.BACKGROUND1 . Technical Field
[0002] This disclosure relates generally to processing e-commerce transactions and, in non-limiting embodiments or aspects, to systems, methods, and computer program products for processing e-commerce transactions using a computergenerated code.2. Technical Considerations
[0003] Electronic commerce (e-commerce) transactions are becoming an increasingly popular form of transaction. Common forms of payment used to initiate e- commerce transactions include credit cards, debit cards, electronic checks, electronic wallets, and the like. However, in existing systems, for a merchant to integrate into electronic payment networks in order to accept these forms of payments, it must integrate with multiple payment service providers and / or gateways to enable processing of its electronic payment transactions.SUMMARY
[0004] Accordingly, provided are improved systems, methods, and computer program products for processing e-commerce transactions using a computergenerated code.
[0005] According to non-limiting embodiments or aspects, provided is a computer- implemented method including: receiving, with at least one processor, a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generating, with the at least one processor, a code storing transaction data of the payment transaction and an identifier of the merchant; searching, with at least one processor, the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identifying, with at least one processor, the at least one payment application; and redirecting, with at least one processor, the user device to the at least one payment application for completion ofthe payment transaction, the payment transaction completed by the at least one payment application using the code.
[0006] In some non-limiting embodiments or aspects, the method may further include: displaying, with at least one processor and on the user device, a selectable element of an identifier of the at least one payment application; and in response to the user selecting the selectable element of the identifier of the at least one payment application, redirecting, with at least one processor, the user device to the at least one payment application for completion of the payment transaction.
[0007] In some non-limiting embodiments or aspects, the at least one payment application on the user device supporting processing of payment transactions using the code may include a plurality of payment applications including a first application and a second application, where the user may select a selectable element of an identifier of the first application, and, in response, the user device may be redirected to the first application for completion of the payment transaction.
[0008] In some non-limiting embodiments or aspects, the code may include a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
[0009] In some non-limiting embodiments or aspects, the payment transaction may be an electronic commerce payment transaction.
[0010] In some non-limiting embodiments or aspects, the transaction request may be initiated by the user device on a merchant website or a merchant application.
[0011] In some non-limiting embodiments or aspects, the method may further include: in response to the redirecting, authenticating, by the at least one payment application, the user.
[0012] In some non-limiting embodiments or aspects, the method may further include: identifying, by the at least one payment application, at least one payment device of the user; and completing, by the at least one payment application, the payment transaction using the at least one payment device.
[0013] In some non-limiting embodiments or aspects, completing the payment transaction may include initiating a push payment from an account of the user to an account of the merchant.
[0014] In some non-limiting embodiments or aspects, the method may further include: in response to completion of the payment transaction, transmitting anotification message to the user device indicating completion of the payment transaction.
[0015] In some non-limiting embodiments or aspects, the method may further include: receiving, with a user device, a transaction identifier associated with the payment transaction; before completion of the payment transaction, querying, by the user device using an application programming interface, a status of the payment transaction based on the transaction identifier; and receiving, by the user device using the application programming interface, a status update for the payment transaction.
[0016] In some non-limiting embodiments or aspects, the searching of the user device for at least one payment application on the user device supporting processing of payment transactions using the code may include: identifying a plurality of applications downloaded on the user device; and identifying a subset of the plurality of applications, the subset supporting processing of payment transactions using the code.
[0017] According to non-limiting embodiments or aspects, provided is a system including at least one processor configured to: receive a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generate a code storing transaction data of the payment transaction and an identifier of the merchant; search the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identify the at least one payment application; and redirect the user device to the at least one payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
[0018] In some non-limiting embodiments or aspects, the at least one processor may be configured to: display, on the user device, a selectable element of an identifier of the at least one payment application; and in response to the user selecting the selectable element of the identifier of the at least one payment application, redirect the user device to the at least one payment application for completion of the payment transaction.
[0019] In some non-limiting embodiments or aspects, the at least one payment application on the user device supporting processing of payment transactions using the code may include a plurality of payment applications including a first application and a second application, where the user may select a selectable element of anidentifier of the first application, and, in response, the user device may be redirected to the first application for completion of the payment transaction.
[0020] In some non-limiting embodiments or aspects, the code may include a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
[0021] In some non-limiting embodiments or aspects, the payment transaction may be an electronic commerce payment transaction.
[0022] In some non-limiting embodiments or aspects, the transaction request may be initiated by the user device on a merchant website or a merchant application.
[0023] In some non-limiting embodiments or aspects, the system may include the at least one payment application configured to: in response to the redirecting, authenticate the user.
[0024] In some non-limiting embodiments or aspects, the system may include the at least one payment application configured to: identify at least one payment device of the user; and complete the payment transaction using the at least one payment device.
[0025] In some non-limiting embodiments or aspects, completing the payment transaction may include initiating a push payment from an account of the user to an account of the merchant.
[0026] In some non-limiting embodiments or aspects, the at least one processor may be configured to: in response to completion of the payment transaction, transmit a notification message to the user device indicating completion of the payment transaction.
[0027] In some non-limiting embodiments or aspects, the system may include a user device configure to: receive a transaction identifier associated with the payment transaction; before completion of the payment transaction, query, using an application programming interface, a status of the payment transaction based on the transaction identifier; and receive, using the application programming interface, a status update for the payment transaction.
[0028] In some non-limiting embodiments or aspects, the searching of the user device for at least one payment application on the user device supporting processing of payment transactions using the code may include: identifying a plurality of applications downloaded on the user device; and identifying a subset of the plurality of applications, the subset supporting processing of payment transactions using the code.
[0029] According to non-limiting embodiments or aspects, provided is a computer program product including at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to: receive a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generate a code storing transaction data of the payment transaction and an identifier of the merchant; search the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identify the at least one payment application; and redirect the user device to the at least one payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
[0030] In some non-limiting embodiments or aspects, the program instructions may cause the at least one processor to: display, on the user device, a selectable element of an identifier of the at least one payment application; and in response to the user selecting the selectable element of the identifier of the at least one payment application, redirect the user device to the at least one payment application for completion of the payment transaction.
[0031] In some non-limiting embodiments or aspects, the at least one payment application on the user device supporting processing of payment transactions using the code may include a plurality of payment applications including a first application and a second application, where the user may select a selectable element of an identifier of the first application, and, in response, the user device may be redirected to the first application for completion of the payment transaction.
[0032] In some non-limiting embodiments or aspects, the code may include a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
[0033] In some non-limiting embodiments or aspects, the payment transaction may be an electronic commerce payment transaction.
[0034] In some non-limiting embodiments or aspects, the transaction request may be initiated by the user device on a merchant website or a merchant application.
[0035] In some non-limiting embodiments or aspects, the program instructions may cause the at least one payment application to: in response to the redirecting, authenticate the user.
[0036] In some non-limiting embodiments or aspects, the program instructions may cause the at least one payment application to: identify at least one payment device of the user; and complete the payment transaction using the at least one payment device.
[0037] In some non-limiting embodiments or aspects, completing the payment transaction may include initiating a push payment from an account of the user to an account of the merchant.
[0038] In some non-limiting embodiments or aspects, the program instructions may cause the at least one processor to: in response to completion of the payment transaction, transmit a notification message to the user device indicating completion of the payment transaction.
[0039] In some non-limiting embodiments or aspects, the program instructions may cause a user device to: receive a transaction identifier associated with the payment transaction; before completion of the payment transaction, query, using an application programming interface, a status of the payment transaction based on the transaction identifier; and receive, using the application programming interface, a status update for the payment transaction.
[0040] In some non-limiting embodiments or aspects, the searching of the user device for at least one payment application on the user device supporting processing of payment transactions using the code may include: identifying a plurality of applications downloaded on the user device; and identifying a subset of the plurality of applications, the subset supporting processing of payment transactions using the code.
[0041] Further non-limiting embodiments or aspects are set forth in the following numbered clauses:
[0042] Clause 1 : A computer-implemented method, comprising: receiving, with at least one processor, a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generating, with the at least one processor, a code storing transaction data of the payment transaction and an identifier of the merchant; searching, with at least one processor, the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identifying, with at least one processor, the at least one payment application; and redirecting, with at least one processor, the user device to the at leastone payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
[0043] Clause 2: The computer-implemented method of clause 1 , further comprising: displaying, with at least one processor and on the user device, a selectable element of an identifier of the at least one payment application; and in response to the user selecting the selectable element of the identifier of the at least one payment application, redirecting, with at least one processor, the user device to the at least one payment application for completion of the payment transaction.
[0044] Clause 3: The computer-implemented method of clause 1 or 2, wherein the at least one payment application on the user device supporting processing of payment transactions using the code comprises a plurality of payment applications comprising a first application and a second application, wherein the user selects a selectable element of an identifier of the first application, and, in response, the user device is redirected to the first application for completion of the payment transaction.
[0045] Clause 4: The computer-implemented method of any of clauses 1 -3, wherein the code comprises a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
[0046] Clause 5: The computer-implemented method of any of clauses 1 -4, wherein the payment transaction is an electronic commerce payment transaction.
[0047] Clause 6: The computer-implemented method of any of clauses 1 -5, wherein the transaction request is initiated by the user device on a merchant website or a merchant application.
[0048] Clause 7: The computer-implemented method of any of clauses 1 -6, further comprising: in response to the redirecting, authenticating, by the at least one payment application, the user.
[0049] Clause 8: The computer-implemented method of any of clauses 1 -7, further comprising: identifying, by the at least one payment application, at least one payment device of the user; and completing, by the at least one payment application, the payment transaction using the at least one payment device.
[0050] Clause 9: The computer-implemented method of any of clauses 1 -8, wherein completing the payment transaction comprises initiating a push payment from an account of the user to an account of the merchant.
[0051] Clause 10: The computer-implemented method of any of clauses 1 -9, further comprising: in response to completion of the payment transaction, transmittinga notification message to the user device indicating completion of the payment transaction.
[0052] Clause 1 1 : The computer-implemented method of any of clauses 1 -10, further comprising: receiving, with a user device, a transaction identifier associated with the payment transaction; before completion of the payment transaction, querying, by the user device using an application programming interface, a status of the payment transaction based on the transaction identifier; and receiving, by the user device using the application programming interface, a status update for the payment transaction.
[0053] Clause 12: The computer-implemented method of any of clauses 1 -11 , wherein the searching of the user device for at least one payment application on the user device supporting processing of payment transactions using the code comprises: identifying a plurality of applications downloaded on the user device; and identifying a subset of the plurality of applications, the subset supporting processing of payment transactions using the code.
[0054] Clause 13: A system, comprising at least one processor configured to: receive a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generate a code storing transaction data of the payment transaction and an identifier of the merchant; search the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identify the at least one payment application; and redirect the user device to the at least one payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
[0055] Clause 14: The system of clause 13, the at least one processor configured to: display, on the user device, a selectable element of an identifier of the at least one payment application; and in response to the user selecting the selectable element of the identifier of the at least one payment application, redirect the user device to the at least one payment application for completion of the payment transaction.
[0056] Clause 15: The system of clause 13 or 14, wherein the at least one payment application on the user device supporting processing of payment transactions using the code comprises a plurality of payment applications comprising a first application and a second application, wherein the user selects a selectable element of an identifierof the first application, and, in response, the user device is redirected to the first application for completion of the payment transaction.
[0057] Clause 16: The system of any of clauses 13-15, wherein the code comprises a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
[0058] Clause 17: The system of any of clauses 13-16, wherein the payment transaction is an electronic commerce payment transaction.
[0059] Clause 18: The system of any of clauses 13-17, wherein the transaction request is initiated by the user device on a merchant website or a merchant application.
[0060] Clause 19: The system of any of clauses 13-18, comprising the at least one payment application configured to: in response to the redirecting, authenticate the user.
[0061] Clause 20: The system of any of clauses 13-19, comprising the at least one payment application configured to: identify at least one payment device of the user; and complete the payment transaction using the at least one payment device.
[0062] Clause 21 : The system of any of clauses 13-20, wherein completing the payment transaction comprises initiating a push payment from an account of the user to an account of the merchant.
[0063] Clause 22: The system of any of clauses 13-21 , the at least one processor configured to: in response to completion of the payment transaction, transmit a notification message to the user device indicating completion of the payment transaction.
[0064] Clause 23: The system of any of clauses 13-22, comprising a user device configure to: receive a transaction identifier associated with the payment transaction; before completion of the payment transaction, query, using an application programming interface, a status of the payment transaction based on the transaction identifier; and receive, using the application programming interface, a status update for the payment transaction.
[0065] Clause 24: The system of any of clauses 13-23, wherein the searching of the user device for at least one payment application on the user device supporting processing of payment transactions using the code comprises: identifying a plurality of applications downloaded on the user device; and identifying a subset of the plurality of applications, the subset supporting processing of payment transactions using the code.
[0066] Clause 25: A computer program product comprising at least one non- transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to: receive a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generate a code storing transaction data of the payment transaction and an identifier of the merchant; search the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identify the at least one payment application; and redirect the user device to the at least one payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
[0067] Clause 26: The computer program product of clause 25, the program instructions causing the at least one processor to: display, on the user device, a selectable element of an identifier of the at least one payment application; and in response to the user selecting the selectable element of the identifier of the at least one payment application, redirect the user device to the at least one payment application for completion of the payment transaction.
[0068] Clause 27: The computer program product of clause 25 or 26, wherein the at least one payment application on the user device supporting processing of payment transactions using the code comprises a plurality of payment applications comprising a first application and a second application, wherein the user selects a selectable element of an identifier of the first application, and, in response, the user device is redirected to the first application for completion of the payment transaction.
[0069] Clause 28: The computer program product of any of clauses 25-27, wherein the code comprises a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
[0070] Clause 29: The computer program product of any of clauses 25-28, wherein the payment transaction is an electronic commerce payment transaction.
[0071] Clause 30: The computer program product of any of clauses 25-29, wherein the transaction request is initiated by the user device on a merchant website or a merchant application.
[0072] Clause 31 : The computer program product of any of clauses 25-30, the program instructions causing the at least one payment application to: in response to the redirecting, authenticate, the user.
[0073] Clause 32: The computer program product of any of clauses 25-31 , the program instructions causing the at least one payment application to: identify at least one payment device of the user; and complete the payment transaction using the at least one payment device.
[0074] Clause 33: The computer program product of any of clauses 25-32, wherein completing the payment transaction comprises initiating a push payment from an account of the user to an account of the merchant.
[0075] Clause 34: The computer program product of any of clauses 25-33, the program instructions causing the at least one processor to: in response to completion of the payment transaction, transmit a notification message to the user device completion of the payment transaction.
[0076] Clause 35: The computer program product of any of clauses 25-34, the program instructions causing a user device to: receive a transaction identifier associated with the payment transaction; before completion of the payment transaction, query, using an application programming interface, a status of the payment transaction based on the transaction identifier; and receive, using the application programming interface, a status update for the payment transaction.
[0077] Clause 36: The computer program product of any of clauses 25-35, wherein the searching of the user device for at least one payment application on the user device supporting processing of payment transactions using the code comprises: identifying a plurality of applications downloaded on the user device; and identifying a subset of the plurality of applications, the subset supporting processing of payment transactions using the code.
[0078] These and other features and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structures and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose ofillustration and description only and are not intended as a definition of the limits of the disclosed subject matter.BRIEF DESCRIPTION OF THE DRAWINGS
[0079] Additional advantages and details are explained in greater detail below with reference to the non-limiting, exemplary embodiments that are illustrated in the accompanying schematic figures, in which:
[0080] FIG. 1 is a schematic diagram of a system for processing e-commerce transactions using a computer-generated code, according to some non-limiting embodiments or aspects;
[0081] FIG. 2 is a schematic diagram of a system for processing e-commerce transactions using a computer-generated code, according to some non-limiting embodiments or aspects;
[0082] FIG. 3 is a schematic diagram of a graphical user interface displaying applications of a user device, according to some non-limiting embodiments or aspects;
[0083] FIG. 4 is a schematic diagram of a graphical user interface displaying a code and selectable issuers on a user device, according to some non-limiting embodiments or aspects;
[0084] FIG. 5 is a schematic diagram of a graphical user interface displaying an authentication screen on a user device, according to some non-limiting embodiments or aspects;
[0085] FIG. 6 is a schematic diagram of a graphical user interface displaying a payment device selection screen on a user device, according to some non-limiting embodiments or aspects;
[0086] FIG. 7 is a schematic diagram of a system for querying a transaction status, according to some non-limiting embodiments or aspects;
[0087] FIG. 8 is a flow diagram of a method for processing e-commerce transactions using a computer-generated code, according to some non-limiting embodiments or aspects; and
[0088] FIG. 9 is a schematic diagram of example components of one or more devices of FIGS. 1 -7, according to some non-limiting embodiments or aspects.DETAILED DESCRIPTION
[0089] For purposes of the description hereinafter, the terms “end,” “upper,” “lower,” “right,” “left,” “vertical,” “horizontal,” “top,” “bottom,” “lateral,” “longitudinal,” and derivatives thereof shall relate to the embodiments as they are oriented in the drawingfigures. However, it is to be understood that the present disclosure may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification, are simply exemplary and non-limiting embodiments or aspects of the disclosed subject matter. Hence, specific dimensions and other physical characteristics related to the embodiments or aspects disclosed herein are not to be considered as limiting.
[0090] Some non-limiting embodiments or aspects may be described herein in connection with thresholds. As used herein, satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, etc.
[0091] No aspect, component, element, structure, act, step, function, instruction, and / or the like used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more” and “at least one.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, and / or the like) and may be used interchangeably with “one or more” or “at least one.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based at least partially on” unless explicitly stated otherwise. In addition, reference to an action being “based on” a condition may refer to the action being “in response to” the condition. For example, the phrases “based on” and “in response to” may, in some non-limiting embodiments or aspects, refer to a condition for automatically triggering an action (e.g., a specific operation of an electronic device, such as a computing device, a processor, and / or the like).
[0092] As used herein, the term “acquirer institution” may refer to an entity licensed and / or approved by a transaction service provider to originate transactions (e.g., payment transactions) using a payment device associated with the transaction service provider. The transactions the acquirer institution may originate may include payment transactions (e.g., purchases, original credit transactions (OCTs), account fundingtransactions (AFTs), and / or the like). In some non-limiting embodiments or aspects, an acquirer institution may be a financial institution, such as a bank. As used herein, the term “acquirer system” may refer to one or more computing devices operated by or on behalf of an acquirer institution, such as a server computer executing one or more software applications.
[0093] As used herein, the term “account identifier” may include one or more primary account numbers (PANs), tokens, or other identifiers associated with a customer account. The term “token” may refer to an identifier that is used as a substitute or replacement identifier for an original account identifier, such as a PAN. Account identifiers may be alphanumeric or any combination of characters and / or symbols. Tokens may be associated with a PAN or other original account identifier in one or more data structures (e.g., one or more databases, and / or the like) such that they may be used to conduct a transaction without directly using the original account identifier. In some examples, an original account identifier, such as a PAN or token, may be associated with a plurality of tokens for different individuals or purposes.
[0094] As used herein, the term “Application Programming Interface” (API) refers to computer code or other data on a computer-readable medium that may be executed by a processor to facilitate interaction between software components such as, for example, an application that communicates data to and / or receives data from a server. An API may receive a request to return data or perform an action. As used herein, the terms “request” and “request message” may refer to data, such as but not limited to one or more data packets or other forms of data structures, configured to cause a response from a receiving system. An API request message may be a message structured according to one or more parameters of the API. For example, an API request message may include one or more queries.
[0095] As used herein, the term “communication” may refer to the reception, receipt, transmission, transfer, provision, and / or the like of data (e.g., information, signals, messages, instructions, commands, and / or the like). For one unit (e.g., a device, a system, a component of a device or system, combinations thereof, and / or the like) to be in communication with another unit means that the one unit is able to directly or indirectly receive information from and / or transmit information to the other unit. This may refer to a direct or indirect connection (e.g., a direct communication connection, an indirect communication connection, and / or the like) that is wired and / or wireless in nature. Additionally, two units may be in communication with each othereven though the information transmitted may be modified, processed, relayed, and / or routed between the first and second unit. For example, a first unit may be in communication with a second unit even though the first unit passively receives information and does not actively transmit information to the second unit. As another example, a first unit may be in communication with a second unit if at least one intermediary unit processes information received from the first unit and communicates the processed information to the second unit. In some non-limiting embodiments or aspects, a message may refer to a network packet (e.g., a data packet and / or the like) that includes data. It will be appreciated that numerous other arrangements are possible.
[0096] As used herein, the term “computing device” may refer to one or more electronic devices configured to process data. A computing device may, in some examples, include the necessary components to receive, process, and output data, such as a processor, a display, a memory, an input device, a network interface, and / or the like. A computing device may be a mobile device. As an example, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer, a wearable device (e.g., watches, glasses, lenses, clothing, and / or the like), a personal digital assistant (PDA), and / or other like devices. A computing device may also be a desktop computer or other form of non-mobile computer.
[0097] As used herein, the terms “electronic wallet” and “electronic wallet application” refer to one or more electronic devices and / or software applications configured to initiate and / or conduct payment transactions. For example, an electronic wallet may include a mobile device executing an electronic wallet application, and may further include server-side software and / or databases for maintaining and providing transaction data to the mobile device. An “electronic wallet provider” may include an entity that provides and / or maintains an electronic wallet for a customer, such as Google Pay®, Android Pay®, Apple Pay®, Samsung Pay®, and / or other like electronic payment systems. In some non-limiting examples, an issuer bank may be an electronic wallet provider.
[0098] As used herein, the term “issuer institution” may refer to one or more entities, such as a bank, that provide accounts to customers for conducting transactions (e.g., payment transactions), such as initiating credit and / or debit payments. For example, an issuer institution may provide an account identifier, such as a PAN or token, to a customer that uniquely identifies one or more accountsassociated with that customer. The account identifier may be embodied on a portable financial device, such as a physical financial instrument, e.g., a payment card, and / or may be electronic and used for electronic payments. The term “issuer system” refers to one or more computer devices operated by or on behalf of an issuer institution, such as a server computer executing one or more software applications. For example, an issuer system may include one or more authorization servers for authorizing a transaction.
[0099] As used herein, the term “merchant” may refer to an individual or entity that provides goods and / or services, or access to goods and / or services, to customers based on a transaction, such as a payment transaction. The term “merchant” or “merchant system” may also refer to one or more computer systems operated by or on behalf of a merchant, such as a server computer executing one or more software applications.
[0100] As used herein, the term “payment device” may refer to an electronic payment device, a portable financial device, a payment card (e.g., a credit or debit card), a gift card, a smartcard, smart media, a payroll card, a healthcare card, a wristband, a machine-readable medium containing account information, a keychain device or fob, an RFID transponder, a retailer discount or loyalty card, a cellular phone, an electronic wallet mobile application, a personal digital assistant (PDA), a pager, a security card, a computing device, an access card, a wireless terminal, a transponder, and / or the like. In some non-limiting embodiments or aspects, the payment device may include volatile or non-volatile memory to store information (e.g., an account identifier, a name of the account holder, and / or the like).
[0101] As used herein, the term “payment gateway” may refer to an entity and / or a payment processing system operated by or on behalf of such an entity (e.g., a merchant service provider, a payment service provider, a payment facilitator, a payment facilitator that contracts with an acquirer, a payment aggregator, and / or the like), which provides payment services (e.g., transaction service provider payment services, payment processing services, and / or the like) to one or more merchants. The payment services may be associated with the use of portable financial devices managed by a transaction service provider. As used herein, the term “payment gateway system” may refer to one or more computer systems, computer devices, servers, groups of servers, and / or the like, operated by or on behalf of a payment gateway.
[0102] As used herein, a “point-of-sale (POS) device” may refer to one or more devices, which may be used by a merchant to conduct a transaction (e.g., a payment transaction) and / or process a transaction. For example, a POS device may include one or more client devices. Additionally or alternatively, a POS device may include peripheral devices, card readers, scanning devices (e.g., code scanners), Bluetooth® communication receivers, near-field communication (NFC) receivers, radio frequency identification (RFID) receivers, and / or other contactless transceivers or receivers, contact-based receivers, payment terminals, and / or the like. As used herein, a “point- of-sale (POS) system” may refer to one or more client devices and / or peripheral devices used by a merchant to conduct a transaction. For example, a POS system may include one or more POS devices and / or other like devices that may be used to conduct a payment transaction. In some non-limiting embodiments or aspects, a POS system (e.g., a merchant POS system) may include one or more server computers programmed or configured to process online payment transactions through webpages, mobile applications, and / or the like.
[0103] As used herein, the term “server” may refer to or include one or more computing devices that are operated by or facilitate communication and processing for multiple parties in a network environment, such as the Internet, although it will be appreciated that communication may be facilitated over one or more public or private network environments and that various other arrangements are possible. Further, multiple computing devices (e.g., servers, point-of-sale (POS) devices, mobile devices, etc.) directly or indirectly communicating in the network environment may constitute a “system.”
[0104] As used herein, the term “system” may refer to one or more computing devices or combinations of computing devices (e.g., processors, servers, client devices, software applications, components of such, and / or the like). Reference to “a device,” “a server,” “a processor,” and / or the like, as used herein, may refer to a previously-recited device, server, or processor that is recited as performing a previous step or function, a different device, server, or processor, and / or a combination of devices, servers, and / or processors. For example, as used in the specification and the claims, a first device, a first server, or a first processor that is recited as performing a first step or a first function may refer to the same or different device, server, or processor recited as performing a second step or a second function.
[0105] As used herein, the term “transaction service provider” may refer to an entity that receives transaction authorization requests from merchants or other entities and provides guarantees of payment, in some cases through an agreement between the transaction service provider and an issuer institution. For example, a transaction service provider may include a payment network such as Visa® or any other entity that processes transactions. The term “transaction processing system” may refer to one or more computer systems operated by or on behalf of a transaction service provider, such as a transaction processing server executing one or more software applications. A transaction processing server may include one or more processors and, in some non-limiting embodiments or aspects, may be operated by or on behalf of a transaction service provider.
[0106] Non-limiting embodiments or aspects of the disclosed subject matter are directed to methods, systems, and computer program products for processing e- commerce transactions using a computer-generated code. A merchant system may be integrated into an electronic payment processing network for processing e- commerce transactions by integrating with a payment operations system. Integration of the merchant system with the payment network enhances the security of payment transactions processed thereby, thus reducing the risk of fraudulent transactions. The merchant system may integrate with the payment operations system by communicating with the payment operations system during processing of the e- commerce transaction and / or by receiving a software development kit (SDK) from the payment operations system in order to modify the merchant application and / or website with the capabilities provided in the SDK that enable the merchant system to process e-commerce transactions over the electronic payment processing network.
[0107] Non-limiting embodiments or aspects generate a code storing transaction data of the payment transaction and an identifier of the merchant. The code may be generated by the payment operations system and / or the merchant application / website. The code may be a QR code, such as a Bharat QR (BQR) code. The code generated in response to receiving a transaction request may enable the merchant system to process e-commerce transactions over the electronic payment processing network with a plurality of participating issuer systems depending on the issuer system for which the consumer has a payment account. The issuer system may have issued a credit payment account, a debit payment account, an electronicwallet account a peer-to-peer payment transaction account, or any other account configured to transfer funds electronically for e-commerce payment transactions.
[0108] The use of the generated code to access payment networks compatible with a plurality of participating issuer systems enables the merchant system to engage with a single entity (e.g., payment operations system) to engage with the plurality of issuers, as opposed to engaging with a plurality of different payment service providers and / or payment gateways. Further, integration with the payment network in this way may enable real-time settlement of the e-commerce transactions. Moreover, the payment transaction is able to be initiated with a user without a physical POS device being provided by the merchant.
[0109] Referring now to FIG. 1 , shown is a system 100 for processing e-commerce transactions using a computer-generated code, according to some non-limiting embodiments or aspects. The system may include user device 102, merchant application or website 104 (hereinafter referred to as merchant application 104), merchant SDK 106, payment operations system 108, issuer application 110, issuer system 111 , and / or acquirer system 1 12.
[0110] User device 102 may include one or more computing devices capable of (e.g., configured to) receiving information from and / or communicating information to merchant application 104, issuer application 110, and / or issuer system 111 (e.g., directly via wired or wireless communication connection, indirectly via a communication network, and / or the like). For example, user device 102 may include a computing device. User device 102 may be capable of initiating an electronic payment transaction by communicating with merchant application 104. The electronic payment transaction may comprise an e-commerce transaction.
[0111] Merchant application 104 may comprise a merchant website and / or a merchant application (e.g., mobile application) accessed by user device 102. User device may initiate the e-commerce transaction using merchant application 104. Merchant application 104 may be generated using merchant SDK 106. Merchant SDK 106 may be an SDK provided by payment operations system 108 and may comprise software development tools for a merchant system of the merchant to generate merchant application 104 configured to engage in e-commerce transactions over an electronic payment network as described herein. For example, merchant SDK 106 may comprise software development tools and / or protocols that enable merchant application 104 to generate the code as described herein, which is used duringprocessing of the payment transaction to engage with at least one of a plurality of issuer applications / systems 110, 111. Merchant application 104 may be generated using merchant SDK 106.
[0112] Payment operations system 108 may include one or more devices capable of receiving information from and / or communicating information to merchant application 104 and / or issuer application / system 110, 111 (e.g., directly via wired or wireless communication connection, indirectly via a communication network, and / or the like). For example, payment operations system 108 may include a computing device, such as a server, a group of servers, and / or other like devices. In some nonlimiting embodiments or aspects, payment operations system 108 may provide merchant SDK 106 to a merchant system generating a merchant application 104. In some non-limiting embodiments or aspects, payment operations system 108 may receive transaction request messages from merchant application 104 and generate a code for each transaction as described herein. Payment operations system 108 may provide merchant application 104 means to engage with one or more issuer applications / systems 110, 1 11 to process e-commerce transactions.
[0113] Issuer application 110 may comprise an issuer website and / or an issuer application (e.g., mobile application) accessed by user device 102 during the payment transaction. User device 102 may initiate the e-commerce transaction using merchant application 104 and be redirected to issuer application 110 for further processing.
[0114] Issuer system 11 1 may include one or more devices capable of receiving information from and / or communicating information to payment operations system 108, merchant application 104, merchant system 124 (see e.g., FIG. 7), user device 102, and / or acquirer system 112 (e.g., directly via wired or wireless communication connection, indirectly via a communication network, and / or the like). For example, issuer system 111 may include a computing device, such as a server, a group of servers, and / or other like devices. In some non-limiting embodiments or aspects, issuer system 111 may generate issuer application 110.
[0115] Acquirer system 112 may include one or more devices capable of receiving information from and / or communicating information to issuer application / system 1 10, 111 and / or merchant application 104 (e.g., directly via wired or wireless communication connection, indirectly via a communication network, and / or the like). For example, acquirer system 112 may include a computing device, such as a server, a group of servers, and / or other like devices.
[0116] The number and arrangement of systems and devices shown in FIG. 1 are provided as an example. There may be additional systems and / or devices, fewer systems and / or devices, different systems and / or devices, and / or differently arranged systems and / or devices than those shown in FIG. 1. Furthermore, two or more systems or devices shown in FIG. 1 may be implemented within a single system or device, or a single system or device shown in FIG. 1 may be implemented as multiple, distributed systems or devices. Additionally or alternatively, a set of systems (e.g., one or more systems) or a set of devices (e.g., one or more devices) of system 100 may perform one or more functions described as being performed by another set of systems or another set of devices of system 100.
[0117] With continued reference to FIG. 1 , in some non-limiting embodiments or aspects, payment operations system 108 may provide a merchant system with merchant SDK 106 comprising software development tools for the merchant system of the merchant to generate merchant application 104 configured to engage in e- commerce transactions over an electronic payment network. Merchant system may generate (e.g., code, build, and the like) merchant application 104 configured to engage in e-commerce transactions over an electronic payment network, such as by engaging with one or more issuer applications / systems 110, 111 to process e- commerce transactions. In some non-limiting embodiments or aspects, merchant application 104 may additionally and / or alternatively engage with payment operations system 108 during processing of e-commerce transactions in order to be redirected to one or more issuer applications 110 to process e-commerce transactions.
[0118] Referring to FIG. 2, a system 200 for processing e-commerce transactions using a computer-generated code is shown, according to some non-limiting embodiments or aspects.
[0119] Referring to step S1 , in system 200, a user may engage with user device 102 to shop for goods and / or services of a merchant. User device 102 may engage with merchant application 104 to shop for goods and / or services of the merchant, such as by vising a website and / or application (e.g., mobile application) of the merchant on user device 102. At a step S2, goods and / or services offered on merchant application 104 may be selected and added to an order of the user (e.g., a user’s virtual shopping cart). The user may initiate an e-commerce transaction for the selected goods / services using user device 102. The e-commerce transaction may be initiated without a merchant-provided POS device. A transaction request may be initiated byuser device 102 and received by merchant application 104 to initiate the e-commerce transaction.
[0120] With continued reference to FIG. 2, at a step S3, merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 may generate a code storing (e.g., storing and / or encoding) transaction data of the e-commerce payment transaction and an identifier of the merchant. In some non-limiting embodiments or aspects, merchant application 104 may transmit the transaction message to payment operations system 108 to cause payment operations system 108 to generate the code. In some non-limiting embodiments or aspects, merchant application 104 (based on merchant SDK 106) may generate the code without communicating with payment operations system 108 during the payment transaction. Merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 and / or issuer system 1 11 may generate a transaction identifier that uniquely identifies the e-commerce transaction.
[0121] The code may be any suitable form of code configured to store data that can be read (e.g., read and / or decoded) by one or more computing devices configured to read the code. For example, the code may comprise a QR code. The QR code may comprise a Bharat QR code. The data stored on the code may comprise transaction data of the payment transaction, which may comprise transaction data used to process the transaction to completion. Non-limiting examples of transaction data include user data (e.g., user PAN or token, expiration data, cvv code, and the like), transaction amount, goods / services purchased (e.g., identifiers thereof), transaction data, and the like. The transaction data may include data elements specified by ISO 8583. The data stored on the code may comprise an identifier of the merchant. The identifier may be a unique identifier that enables a device reading the code to identify the specific merchant participating in the transaction. From identification of the merchant, a payment account associated with the merchant may be identified based on associations between merchant and merchant payment accounts stored in at least one data storage device (e.g., not shown). These associations enable settlement of the e-commerce transactions by identifying the payment account to which the transaction amount for the e-commerce is to be transferred (e.g., from an issuer account and / or a user account controlled by the issuer).
[0122] In some non-limiting embodiments or aspects, the code may be displayed on user device 102 as a selectable element. In response to a user selecting the selectable code, a default payment application may be launched, or step S4 as described hereinafter may be executed. Selecting the selectable code may cause the payment data stored in the code to auto-populate the data into a designated location in the payment application.
[0123] The code generated in step S3 may enable a user to select a payment application from a plurality of payment applications configured to support processing of payment transactions using the code, as opposed to the code only being configured to process transactions using a single payment application.
[0124] With continued reference to FIG. 2, at a step S4, merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 may search user device 102 for at least one payment application (e.g., issuer application 1 10) on user device 102 supporting processing of payment transactions using the code. It will be appreciated that not all issuer systems that issue payment accounts to users may be enabled to process e-commerce transactions using the code. Therefore, user device 102 may be searched to identify issuer applications 1 10 configured to process e-commerce transactions using the code. The searching may identify issuer applications 110 configured to process e- commerce transactions using the code from issuer applications not configured to process e-commerce transactions using the code and from other applications that are not issuer applications on user device 102.
[0125] Searching user device 102 may comprise automatically accessing and / or reviewing data stored on user device 102 and identifying, based on the data, applications downloaded on, stored on, capable of being downloaded or stored on, or the like, user device 102. Each application may comprise one or more parameters that may be matched to one or more parameters associated with an application being configured to process e-commerce transactions using the code, in order to determine whether an application is configured to process e-commerce transactions using the code by the searching.
[0126] Referring to FIG. 3, user device 102 (e.g., a mobile device as a non-limiting example) is shown having applications 114 displayed thereon, such as displaying applications 114 downloaded on user device 102. The applications 114 may include a plurality of issuer applications configured to process e-commerce transactions usingthe code: 11 , 12, 13, and I4. The applications 114 may include a plurality of applications (issuer or otherwise) not configured to process e-commerce transactions using the code: NI1 , NI2, NI3, NI4, NI5, NI6, NI7, and NI8. Searching user device 102 may comprise identifying 11 -14 from all applications on user device 102 (e.g., from 11 -14 and NI1 -NI8), to identify the issuer applications configured to process e-commerce transactions using the code.
[0127] Referring again to FIG. 2, at a step S4, merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 may display selectable elements of identifiers associated with the issuer applications configured to process e-commerce transactions using the code (which were identified based on the search of user device 102). Displaying the issuer applications configured to process e-commerce transactions using the code may comprise causing the selectable elements of the identifiers to be displayed on a graphical user interface of user device 102. The identifier may comprise any word, phrase, image, symbol, or the like that identifies the issuer, such as a trademark, trade name, business name, domain name, logo, or the like.
[0128] Referring to FIG. 4, user device 102 (e.g., a mobile device as a non-limiting example) is shown displaying an interface of merchant application 104. The interface of merchant application 104 may display the code 116 generated for the e-commerce transaction. The interface of merchant application 104 may display selectable issuers 118 associated with the issuer applications identified by the search as being on user device 102 and being configured to process e-commerce transactions using the code. In the example in which Issuers 1 -4 (11 -14) were identified by the search as being the issuer applications on user device 102 being configured to process e-commerce transactions using the code, selectable elements identifying Issuers 1 -4 (selectable issuers 1 18) are displayed on user device 102. In some non-limiting examples, including the example shown in FIG. 4, a plurality of issuer applications (e.g., Issuers 1 -4) configured to process e-commerce transactions using the code may be available for use by user device 102 for processing the e-commerce transaction.
[0129] A user engaging user device 102 may select the selectable element associated with the issuer the user desires to use for the e-commerce transaction.
[0130] Referring again to FIG. 2, at a step S5, merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 may receive a user selection of a selectable element of anissuer application to be used to process e-commerce transaction. For example, as shown in FIG. 4, a plurality of issuer application selectable elements (for Issuers 1 -4) may be displayed on user device 102, and user may select one of the selectable elements (e.g., the selectable element associated with Issuer 1 ), indicating that the issuer application for Issuer 1 is to be used to process the e-commerce transaction. User may select the selectable element in any suitable way, such as by engaging (e.g., tapping) the selectable element displayed on the graphical user interface of user device 102.
[0131] Referring again to FIG. 2, at a step S6, merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 may automatically redirect user device 102 to issuer application 110 for completion of processing of the e-commerce transaction. User device 102 may be redirected to issuer application 110 in response to the user selecting the selectable element of the identifier of the issuer of issuer application 110. User device 102 may not be redirected to non-selected issuer applications displayed on user device 102.
[0132] In some non-limiting embodiments or aspects, user device 102 may be redirected from merchant application 104 to issuer application 110. The redirecting may include automatically opening and / or activating issuer application 110 (which was previously closed) and automatically displaying issuer application 110 on user device 102, such that the user interface of issuer application 110 is displayed on user device 102 instead of and / or in addition to the user interface of merchant application 104. In some non-limiting embodiments or aspects, merchant application 104 may remain open and / or active, but the user interface thereof not actively displayed on user device 102.
[0133] In some non-limiting embodiments or aspects, the redirecting step includes transmitting a transaction message to issuer application 1 10 that includes transaction data for further processing of the e-commerce transaction. For example, merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 may transmit the transaction message to issuer application 1 10. Code 116 storing the transaction data of the payment transaction and the identifier of the merchant may be transmitted to issuer application 1 10 in the transaction message, and issuer application 110 may be configured to read the code 116 (e.g., read and / or decode the data store in code 116).Issuer application 110 may be configured to complete the e-commerce transaction using the code 116 as described herein.
[0134] Redirecting user device 102 to issuer application 1 10 may enhance security of the transaction by not requiring user to provide payment credentials (e.g., PAN or token) to merchant application 104 and / or not storing payment credentials with merchant system.
[0135] With continued reference to FIG. 2, at a step S7, in response to user device 102 being redirected to issuer application 110, issuer application 110 may authenticate the user. Issuer application 110 may authenticate the user using any suitable authentication protocol. For example, user may be prompted to enter a username, password, personal identification number (PIN), credential, a predetermined question / answer pair, and / or the like. The user may be prompted to execute a two- factor authentication protocol. The user may be prompted execute a biometric authentication protocol, such as fingerprint biometrics, retinal biometrics, facial biometrics, and the like. In response to the authentication protocol failing, the e- commerce transaction may be automatically terminated and / or may be redirected back to merchant application 104 for further processing (e.g. selection of a different issuer application). In response to the authentication protocol being successfully completed, issuer application 110 may further process the e-commerce transaction.
[0136] Referring to FIG. 5, user device 102 (e.g., a mobile device as a non-limiting example) is shown with issuer application 110 open and displaying an authentication screen 120. It will be appreciated that any suitable authentication screen 120 for authenticating a user may be used.
[0137] Referring again to FIG. 2, at a step S8, issuer application 110 may identify at least one payment device of the user. In some non-limiting embodiments or aspects, user may have a single payment device issued by issuer of issuer application 110, while in some non-limiting embodiments or aspects, user may have a plurality of payment devices issued by issuer of issuer application 110. Issuer application 110 may display selectable elements identifying payment devices available for use by user for the e-commerce transaction.
[0138] Referring to FIG. 6, user device 102 (e.g., a mobile device as a non-limiting example) is shown with issuer application 1 10 open and selectable elements identifying payment devices available for use by user for the e-commerce transaction displayed on a payment device selection screen 122. In the non-limiting example ofFIG. 6, selectable elements for 5 payment devices (PD1 -PD5) are displayed on a payment device selection screen 122. User may select the selectable element associated with the payment device to be used in any suitable way, such as by engaging (e.g., tapping) the corresponding selectable element displayed on the graphical user interface of user device 102.
[0139] Referring again to FIG. 2, step S8 further comprises receiving, by issuer application 110, a user selection of the payment device to be used for the e-commerce transaction. In response to receiving the selection of the payment device to be used, issuer application 110 may process the e-commerce transaction to completion using the selected payment device. Processing the e-commerce transaction to completion may comprise authorization, clearance, and / or settlement of the e-commerce transaction. The e-commerce transaction may be completed by issuer application 110 using the code 116. This may comprise issuer application 110 reading the code 116 (e.g., decoding the code 116) to retrieve the data from the code 116.
[0140] In some non-limiting embodiments or aspects, completion of the e- commerce transaction may comprise settling the transaction, which may comprise transferring at least a portion of the transaction amount to a merchant payment account. For example, the transaction amount may be transferred from a user account (e.g., controlled by issuer system 1 11 associated with issuer application 110) to the merchant account. In some non-limiting examples, the transfer of the transaction amount may comprise an initiated push payment from user account to merchant account.
[0141] In some non-limiting embodiments or aspects, settlement of the e- commerce transaction may occur in real-time, relative to initiation of the e-commerce transaction and / or authorization of the e-commerce transaction by issuer system 11 1 (e.g., in real-time, in near real-time, during the event, as soon as practically available after the event, during processing and / or communication of messages related to the event, at the time of making a decision (e.g., authorization decision, authentication decision, and / or the like) related to the event (e.g., receiving a transaction or authorization request and / or determining an authorization decision based thereon), and / or the like). For example, the term “real-time” may refer to performance of a task or tasks during another process or before another process is completed.
[0142] With continued reference to FIG. 2, at a step S9, in response to completion of the e-commerce transaction, issuer system 111 may generate and transmit anotification message to user device 102. The notification message may notify user device 102 that the e-commerce transaction was completed. In response to termination (e.g., failed completion) of the e-commerce transaction, issuer system 11 1 may generate and transmit a notification message to user device 102. The notification message may notify user device 102 that the e-commerce transaction was terminated. The notification message may be a short message service (SMS) text message or any other form of electronic message. Issuer system 111 may correspond to the issuer issuing the payment device used to process the e-commerce transaction.
[0143] With continued reference to FIG. 2, at a step S10, in response to completion of the e-commerce transaction, acquirer system 112 may generate and transmit a notification message to merchant application 104 (and / or merchant system). The notification message may notify merchant application 104 that the e-commerce transaction was completed. In response to termination (e.g., failed completion) of the e-commerce transaction, acquirer system 112 may generate and transmit a notification message to merchant application 104. The notification message may notify merchant application 104 that the e-commerce transaction was terminated. The notification message may be an SMS text message or any other form of electronic message. Acquirer system 1 12 may correspond to the acquirer of the merchant.
[0144] With continued reference to FIG. 2, in some non-limiting embodiments or aspects, a query protocol may be executed according to steps S11 -S14. In some nonlimiting embodiments or aspects, steps S11 -14 of the query protocol may be executed before completion of the e-commerce transaction in order to query a status of the e- commerce transaction. User device 102 and / or merchant system may query the status of e-commerce transaction. User device 102 and / or merchant system may use a transaction identifier of the e-commerce transaction to identify the transaction in the query protocol. User device 102 and / or merchant system may receive the transaction identifier from issuer system 111 , payment operations system 108, and / or merchant SDK 106.
[0145] In some non-limiting embodiments or aspects, at a step S11 , user device 102 may submit a query request to merchant application 104 prior to completion of the e-commerce transaction. Merchant application 104 may generate and return a transaction status to user device 102 at a step S14. User device 102 may display the transaction status. The transaction status may be generated by receiving / retrieving a transaction status from issuer system 111.
[0146] In some non-limiting embodiments or aspects, at a step S11 , user device 102 may submit a query request to merchant application 104 prior to completion of the e-commerce transaction. At a step S12, merchant application 104 may generate and submit a query request to merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108. At a step S13, merchant SDK 106 (e.g., a portion of merchant application 104 generated based on merchant SDK 106) and / or payment operations system 108 may generate and return a transaction status to merchant application 104. The transaction status may be generated by receiving / retrieving a transaction status from issuer system 111. At a step S14, merchant application 104 may return the transaction status to user device 102. User device 102 may display the transaction status.
[0147] In some non-limiting embodiments or aspects, merchant system of the merchant may initiate the query protocol. Merchant system may query issuer system 111 to receive / retrieve the transaction status.
[0148] Referring to FIG. 7, a system 700 for querying a transaction status is shown, according to some non-limiting embodiments or aspects. Querying the transaction status may be executed prior to completion of the e-commerce transaction.
[0149] The system 700 may comprise merchant system 124 of the merchant, issuer system 111 of the issuer of the payment device used in the e-commerce transaction, and query API 126. Alternatively, user device 102 may be the querying device and replace merchant system 124 as described in FIG. 7. Query API 126 may comprise an application programming interface exposed by issuer system 111 configured to receive query requests and generate and return query responses, the query requests and responses associated with transaction statuses of e-commerce transactions being processed by issuer system 111.
[0150] With continued reference to FIG. 7, in some non-limiting embodiments or aspects merchant system 124 may receive a transaction identifier associated with an e-commerce transaction of the merchant from issuer system 111 (and / or merchant SDK 106 and / or payment operations system 108) after initiation of the e-commerce transaction. The transaction identifier may be used to query the status of the e- commerce prior to completion of the transaction.
[0151] Merchant system 124 may generate a query request comprising the transaction identifier. The query request may be transmitted to issuer system 111 via query AP1 126. Issuer system 111 may generate a query response comprising a statusof the e-commerce transaction. Issuer system 111 may transmit the query response to merchant system 124 via query API 126. The status may be displayed on a computing device of merchant system 124. In some non-limiting embodiments or aspects, merchant system 124 may periodically poll issuer system 11 1 using query API 126 about the status of the e-commerce transaction until the e-commerce transaction is completed (or terminated). For example, merchant system 124 may poll issuer system 111 every few seconds, minutes, hours, and the like.
[0152] The status generated by issuer system 111 may be any suitable status descriptive of the process of the e-commerce transaction. For example, the status may be an identification of a step that the e-commerce transaction is currently undergoing. The status may be a projected time by which processing of the e- commerce transaction is expected to be completed.
[0153] Referring now to FIG. 8, shown is a flow diagram for a process 800 for processing e-commerce transactions using a computer-generated code, according to some non-limiting embodiments or aspects. The steps shown in FIG. 8 are for example purposes only. It will be appreciated that additional, fewer, different, and / or a different order of steps may be used in some non-limiting embodiments or aspects. In some non-limiting embodiments or aspects, a step may be automatically performed in response to performance and / or completion of a prior step.
[0154] In some non-limiting embodiments or aspects, one or more of the steps of process 800 may be performed (e.g., completely, partially, and / or the like) by merchant application 104 and / or merchant SDK 106 (e.g., one or more devices thereof). In some non-limiting embodiments or aspects, one or more of the steps of process 800 may be performed (e.g., completely, partially, and / or the like) by another system, another device, another group of systems, or another group of devices, such as user device 102, payment operations system 108, issuer application 110, issuer system 111 , acquirer system 112, merchant system 124, query API 126, and / or the like.
[0155] At a step 802, process 800 may include receiving, with merchant application 104, a transaction request initiated by user device 102, the transaction request associated with a payment transaction between a user of user device 102 and a merchant (associated with merchant application 104).
[0156] At a step 804, process 800 may include generating, with merchant application 104 and / or payment operations system 108, a code storing transaction data of the payment transaction and an identifier of the merchant.
[0157] At a step 806, process 800 may include searching, with merchant application 104 and / or payment operations system 108, user device 102 for at least one payment application on user device 102 supporting processing of payment transactions using the code.
[0158] At a step 808, process 800 may include, based on the searching, identifying, with merchant application 104 and / or payment operations system 108, the at least one payment application (e.g., issuer application 110).
[0159] At a step 810, process 800 may include redirecting, with merchant application 104 and / or payment operations system 108, user device 102 to the at least one payment application (e.g., issuer application 110) for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
[0160] Referring now to FIG. 9, shown is a diagram of example components of a device 900 according to non-limiting embodiments. Device 900 may correspond to user device 102, merchant application 104, merchant SDK 106, payment operations system 108, issuer applications 110, issuer system 11 1 , acquirer system 1 12, merchant system 124, and / or query API 126, as an example. In some non-limiting embodiments, such systems or devices may include at least one device 900 and / or at least one component of device 900. The number and arrangement of components shown are provided as an example. In some non-limiting embodiments, device 900 may include additional components, fewer components, different components, or differently arranged components than those shown. Additionally, or alternatively, a set of components (e.g., one or more components) of device 900 may perform one or more functions described as being performed by another set of components of device 900.
[0161] As shown in FIG. 9, device 900 may include a bus 902, a processor 904, memory 906, a storage component 908, an input component 910, an output component 912, and a communication interface 914. Bus 902 may include a component that permits communication among the components of device 900. In some non-limiting embodiments, processor 904 may be implemented in hardware, firmware, or a combination of hardware and software. For example, processor 904 may include a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), etc.), a microprocessor, a digital signal processor (DSP), and / or any processing component (e.g., a field-programmablegate array (FPGA), an application-specific integrated circuit (ASIC), etc.) that can be programmed to perform a function. Memory 906 may include random access memory (RAM), read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by processor 904.
[0162] With continued reference to FIG. 9, storage component 908 may store information and / or software related to the operation and use of device 900. For example, storage component 908 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, a solid-state disk, etc.) and / or another type of computer-readable medium. Input component 910 may include a component that permits device 900 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, a microphone, etc.). Additionally, or alternatively, input component 910 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.). Output component 912 may include a component that provides output information from device 900 (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), etc.). Communication interface 914 may include a transceiver-like component (e.g., a transceiver, a separate receiver and transmitter, etc.) that enables device 900 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 914 may permit device 900 to receive information from another device and / or provide information to another device. For example, communication interface 914 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi® interface, a cellular network interface, and / or the like.
[0163] Device 900 may perform one or more processes described herein. Device 900 may perform these processes based on processor 904 executing software instructions stored by a computer-readable medium, such as memory 906 and / or storage component 908. A computer-readable medium may include any non-transitory memory device. A memory device includes memory space located inside of a single physical storage device or memory space spread across multiple physical storage devices. Software instructions may be read into memory 906 and / or storage component 908 from another computer-readable medium or from another device viacommunication interface 914. When executed, software instructions stored in memory 906 and / or storage component 908 may cause processor 904 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software. The term “configured to,” as used herein, may refer to an arrangement of software, device(s), and / or hardware for performing and / or enabling one or more functions (e.g., actions, processes, steps of a process, and / or the like). For example, “a processor configured to” may refer to a processor that executes software instructions (e.g., program code) that cause the processor to perform one or more functions.
[0164] Although embodiments have been described in detail for the purpose of illustration, it is to be understood that such detail is solely for that purpose and that the disclosure is not limited to the disclosed embodiments or aspects, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present disclosure contemplates that, to the extent possible, one or more features of any embodiment or aspect can be combined with one or more features of any other embodiment or aspect. In fact, any of these features can be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
Claims
WHAT IS CLAIMED IS:1 . A computer-implemented method, comprising: receiving, with at least one processor, a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generating, with the at least one processor, a code storing transaction data of the payment transaction and an identifier of the merchant; searching, with at least one processor, the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identifying, with at least one processor, the at least one payment application; and redirecting, with at least one processor, the user device to the at least one payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
2. The computer-implemented method of claim 1 , further comprising: displaying, with at least one processor and on the user device, a selectable element of an identifier of the at least one payment application; and in response to the user selecting the selectable element of the identifier of the at least one payment application, redirecting, with at least one processor, the user device to the at least one payment application for completion of the payment transaction.
3. The computer-implemented method of claim 2, wherein the at least one payment application on the user device supporting processing of payment transactions using the code comprises a plurality of payment applications comprising a first application and a second application, wherein the user selects a selectable element of an identifier of the first application, and, in response, the user device is redirected to the first application for completion of the payment transaction.
4. The computer-implemented method of claim 1 , wherein the code comprises a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
5. The computer-implemented method of claim 1 , wherein the payment transaction is an electronic commerce payment transaction.
6. The computer-implemented method of claim 1 , wherein the transaction request is initiated by the user device on a merchant website or a merchant application.
7. The computer-implemented method of claim 1 , further comprising: in response to the redirecting, authenticating, by the at least one payment application, the user.
8. The computer-implemented method of claim 1 , further comprising: identifying, by the at least one payment application, at least one payment device of the user; and completing, by the at least one payment application, the payment transaction using the at least one payment device.
9. The computer-implemented method of claim 8, wherein completing the payment transaction comprises initiating a push payment from an account of the user to an account of the merchant.
10. The computer-implemented method of claim 1 , further comprising: in response to completion of the payment transaction, transmitting a notification message to the user device indicating completion of the payment transaction.11 . The computer-implemented method of claim 1 , further comprising: receiving, with the user device, a transaction identifier associated with the payment transaction; before completion of the payment transaction, querying, by the user device using an application programming interface, a status of the payment transaction based on the transaction identifier; and receiving, by the user device using the application programming interface, a status update for the payment transaction.
12. The computer-implemented method of claim 1 , wherein the searching of the user device for at least one payment application on the user device supporting processing of payment transactions using the code comprises: identifying a plurality of applications downloaded on the user device; and identifying a subset of the plurality of applications, the subset supporting processing of payment transactions using the code.
13. A system, comprising at least one processor configured to: receive a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generate a code storing transaction data of the payment transaction and an identifier of the merchant; search the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identify the at least one payment application; and redirect the user device to the at least one payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.
14. The system of claim 13, the at least one processor configured to: display, on the user device, a selectable element of an identifier of the at least one payment application; andin response to the user selecting the selectable element of the identifier of the at least one payment application, redirect the user device to the at least one payment application for completion of the payment transaction.
15. The system of claim 14, wherein the at least one payment application on the user device supporting processing of payment transactions using the code comprises a plurality of payment applications comprising a first application and a second application, wherein the user selects a selectable element of an identifier of the first application, and, in response, the user device is redirected to the first application for completion of the payment transaction.
16. The system of claim 13, wherein the code comprises a QR code storing the transaction data of the payment transaction and the identifier of the merchant.
17. The system of claim 13, wherein the payment transaction is an electronic commerce payment transaction.
18. The system of claim 13, wherein the transaction request is initiated by the user device on a merchant website or a merchant application.
19. The system of claim 13, comprising the at least one payment application configured to: in response to the redirecting, authenticate, the user.
20. A computer program product comprising at least one non- transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to: receive a transaction request initiated by a user device, the transaction request associated with a payment transaction between a user of the user device and a merchant; generate a code storing transaction data of the payment transaction and an identifier of the merchant;search the user device for at least one payment application on the user device supporting processing of payment transactions using the code; based on the searching, identify the at least one payment application; and redirect the user device to the at least one payment application for completion of the payment transaction, the payment transaction completed by the at least one payment application using the code.