US20200258080A1 - Facilitating end-to-end encryption for e-commerce - Google Patents

Facilitating end-to-end encryption for e-commerce Download PDF

Info

Publication number
US20200258080A1
US20200258080A1 US16/792,760 US202016792760A US2020258080A1 US 20200258080 A1 US20200258080 A1 US 20200258080A1 US 202016792760 A US202016792760 A US 202016792760A US 2020258080 A1 US2020258080 A1 US 2020258080A1
Authority
US
United States
Prior art keywords
transaction
information
intermediary
client device
merchant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
US16/792,760
Inventor
Aaron Batalion
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Living Social Inc
LivingSocial Inc
Original Assignee
Living Social Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Living Social Inc filed Critical Living Social Inc
Priority to US16/792,760 priority Critical patent/US20200258080A1/en
Publication of US20200258080A1 publication Critical patent/US20200258080A1/en
Assigned to LIVINGSOCIAL, INC. reassignment LIVINGSOCIAL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BATALION, AARON
Assigned to GROUPON, INC., LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.) reassignment GROUPON, INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Assignors: JPMORGAN CHASE BANK, N.A.
Assigned to GROUPON, INC., LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.) reassignment GROUPON, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A.
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/16Payments settled via telecommunication systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Definitions

  • This document relates to encryption for e-commerce.
  • Electronic commerce generally describes the process of buying and selling goods and services over the internet. Increased usage of the internet has resulted in e-commerce becoming an increasingly important component for facilitating business transactions.
  • processing secure information over the internet may be improved by using a transaction intermediary that is configured to receive a request to perform a transaction from a client device, enable the client device to enter transaction information in a form, receive a transaction package containing the transaction information in the form to facilitate the execution of the transaction, route the transaction to a transaction processor, receive an indication from the transaction processor that the transaction package has been processed, and generate an electronic voucher for a subsequent retail transaction based on the indication sent from the transaction processor.
  • a transaction intermediary that is configured to receive a request to perform a transaction from a client device, enable the client device to enter transaction information in a form, receive a transaction package containing the transaction information in the form to facilitate the execution of the transaction, route the transaction to a transaction processor, receive an indication from the transaction processor that the transaction package has been processed, and generate an electronic voucher for a subsequent retail transaction based on the indication sent from the transaction processor.
  • Implementations may include one or more of the following features.
  • the indication may include a token that includes information corresponding to validation of the transaction information in the information package.
  • Other implementations may include determining the status of the transaction from the token and then storing the status on the transaction intermediary.
  • Yet another implementation may include determining that the status of the transaction may be recorded on a list and updated on a user account associated with the transaction.
  • the transaction package may be encrypted.
  • the encryption may be generated from at least one encryption module residing on the client device.
  • the encryption module may include a PGP encryption module.
  • the encrypted transaction package may be decrypted in the transaction processor.
  • the transaction information in the decrypted transaction package may be stored in the transaction processor, where the transaction package may include payment method information, retail vendor information, and user identification information.
  • Implementations may include a system capable of achieving the above features, including, for instance, a user device, a transaction intermediary, a transaction processor, and a network between these components.
  • FIG. 1 is an illustration of a transaction list maintained upon receiving a transaction package from a user's device.
  • FIG. 2A is a diagram of a first group of graphical data output from the transaction list.
  • FIG. 2B is a diagram of a second group of graphical data output from the transaction list.
  • FIG. 3 is a flow chart illustrating a method for enabling a secure transaction.
  • FIG. 4 is a flowchart illustrating the transaction information moving through a communications system.
  • FIG. 5 is a login web page provided by the transaction intermediary that a user on a client device can access to login into a user account.
  • FIG. 6 is a web page enabled by the transaction intermediary that provides a user with transaction possibilities after they have logged into their account.
  • a transaction intermediary may be configured facilitate transactions between a user community, a vendor, and a transaction processor. Specifically, a transaction intermediary may be configured to propose one or more details (e.g., a “deal” to dine at a particular restaurant) to a user community. One or more users then may accept the offer and provide the necessary information into a form that facilitates the transaction. For example, the transaction intermediary may propose a 50% discount if the user agrees to pay now and dine under specified circumstances.
  • one or more details e.g., a “deal” to dine at a particular restaurant
  • the transaction intermediary provides the form that includes payment information. However, the transaction intermediary may seek to avoid exposure with sensitive information, such as the user's credit card number.
  • the form provided by the transaction intermediary may include javascript code that creates a transaction package that is encrypted on a client device (e.g., a smart phone).
  • the transaction intermediary receives the encrypted transaction package and routes the transaction package to the transaction processor for processing.
  • the transaction processor may include a bank or credit card processing system that is configured to decrypt the transaction package and execute the proposed transaction.
  • the transaction processor then provides an indication that the transaction has been executed so that the transaction intermediary may generate an electronic voucher (e.g., a coupon that can be printed out) for use in a subsequent retail opportunity such as a dinner reservation.
  • the transaction processor maintains a private key for the user's account and provides a public key to the transaction intermediary for distribution in the form that is completed to begin generating the transaction package.
  • key distribution architecture is used that facilitates distribution of symmetric private key pairs.
  • a transaction intermediary may maintain a data list that specifies where a particular transaction package should be routed.
  • a data list 100 is illustrated that displays where a received transaction package may be routed for processing.
  • a transaction package may include information related to a proposed transaction between a user and a merchant.
  • the transaction package may include at least one piece of transaction information, such as, for example, a user's payment information such as credit card numbers, credit card expiration dates, bank account numbers, etc.
  • the transaction information may also include a user's mailing address, phone number, social security number, or other personal information that identifies the user.
  • the transaction information may include identification information related to the identification of a particular merchant with whom the user is considering engaging in the transaction (e.g., the merchant's name, tax identification number, mailing address, phone number, or other information that identifies the merchant).
  • the received transaction package may be associated with a user account 110 through which the user engages the transaction intermediary for the purpose of executing a proposed transaction.
  • This user account may be accessed via a web page.
  • the user may accept a proposed transaction offered by a merchant 130 .
  • the merchant's transaction may be tied with a certain deal model 150 that the merchant may be offering to the user.
  • This deal model 150 may take a variety of forms, such as a reduced price on a product or service that the merchant normally offers, a special limited time product or service that the merchant is offering, or any other special deal model that the merchant may offer to facilitate a retail purchase.
  • a routing location 140 can be determined.
  • the routing location 140 is a remote device able to act as a transaction processor where the encrypted user information is decrypted to execute the proposed transaction.
  • the encrypted transaction package may be sent through the web tier, such that it can be readily associated with a user account and a user's chosen transaction.
  • a label for the proposed user's transaction may be entered into data list 100 in order to identify the transaction intermediary as having routed the encrypted transaction package.
  • Data list 100 then may be used to facilitate in processing subsequent transactions.
  • Data list 100 may be stored in data structure that allows it to be represented on a graphic user interface (GUI) in a table form as shown in 100 .
  • GUI graphic user interface
  • data in data list 100 can also be shown in graphical form. For instance, information pertaining to the volume of deal models 150 that a certain remote location 140 has handled in a certain time frame, may be outputted as a pie chart 210 . Likewise, information pertaining to the volume of transactions per merchant 130 that a remote location 140 has handled in a certain time frame, may be outputted as a pie chart 220 . It should be understood that data list 100 may be outputted in many other graphical manners as can be found in the known art of graphically outputting data in list form. Data list 100 then may be fed into an analytic and modeling engine that can be used to visualize the profitability for one or more proposed vendor partnerships depending on the particular terms of the proposed transaction. For example, the extent to which users are already registered with payment information may be used to determine the acceptance rate and profitability of a proposed transaction.
  • FIG. 3 illustrates a process for enabling a user to execute a transaction through a transaction intermediary with a merchant.
  • a request for a transaction is received from a user device (e.g., a smart phone).
  • the request may come from a user selecting certain transaction when they access their user account on a web page.
  • the user may choose a transaction from a list of transactions that they can generally access from a web page without having to access a user account.
  • a transaction may be tied to one or more offers provided by one or more merchants across multiple geographic locations.
  • step 320 enables the user to enter their transaction information into a form.
  • the form may be provided through an encrypted portion of the web page which the user has accessed to choose the deal.
  • the transaction information entered into the form by the user can include the user's payment method (i.e. through Visa, MasterCard, Debt Account, PayPal, etc.), payment information (i.e. account numbers, account expiration dates, etc.).
  • This transaction information may also include a user's mailing address, phone number, social security number, or other personal information that can identify the user.
  • certain transaction information may be imbedded into the form such as merchant information (i.e. merchant name, merchant tax identification number, merchant mailing address, merchant phone number, etc.).
  • a web browser on the user device may, for example, load a javascript package that securely encrypts credit card information.
  • the javascript package may encrypt this information using a public key for a transaction processor.
  • the transaction package may include the encrypted information that is sent to the transaction intermediary for routing to the transaction processor.
  • a transaction package, that includes the transaction information, is then received in step 330 and routed in step 340 to an appropriate location where the transaction information can be processed.
  • the location for routing may be determined based on the user's transaction request, the user's location, the merchant connected with the transaction, the user's payment method, or information associated with information in the user's account.
  • an indication is received that indicates if the transaction information in the transaction package has been validated.
  • This indication may be in the form of a token indicating that the information was valid or not valid.
  • an electronic voucher is generated in step 360 which the user can redeem and use in a subsequent retail opportunity tied with the transaction.
  • the voucher may be accessible through the user's account, may be mailed emailed to the user, or through merchant associated with the transaction.
  • the voucher may be generated when there is an indication that the transaction was valid, or may be generated with an indication that the voucher was not valid.
  • a communication system 400 may be structured and arranged to facilitate communications with a client device 410 , at least one transaction intermediary 420 , at least one transaction processor 430 and communication software and hardware enabling communications between client device 410 , transaction intermediary 420 and transaction processor 430 . More particularly, the communications system 400 typically includes a client device 410 , a transaction intermediary 420 , a transaction processor 430 , a network 440 between the client device and a network 450 between the transaction intermediary 420 and the transaction processor 430 . As will be described in greater detail with respect to FIG. 5 , the client device 410 generally transmits requests and transactions packages across network 440 to one or more transaction processors 420 , where the transaction packages or portions thereof, are routed to at least one transaction processor through network 450 .
  • a client device 410 may be structured and arranged to facilitate user communications such that a user of the client device may access web pages in order to facilitate a user request for a transaction across network 440 .
  • the client device 410 may include a general-purpose computer having a central processor unit (CPU), and memory/storage devices that store data and various programs such as an operating system and one or more application programs.
  • Other examples of a client device 410 includes but is not limited to a smart phone, a PDA, a tablet device, a workstation, a server, a device, a special purpose device or component, a broadcast system, other mobile communication device, or some combination thereof capable of responding to and executing instructions in a defined manner.
  • the client device 410 also typically includes an input/output (I/O) device (e.g., video and audio input and conversion capability), and peripheral equipment such as a display communications card or device (e.g., a modem or a network adapter) for exchanging data with the network 440 .
  • I/O input/output
  • peripheral equipment such as a display communications card or device (e.g., a modem or a network adapter) for exchanging data with the network 440 .
  • a communications link 460 is used to communicate data between the client device 410 and network 440 .
  • Communications link 460 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • the network 440 typically includes hardware and/or software capable of enabling direct or indirect communications between the client device 410 and the transaction intermediary 420 .
  • the network 440 may include a direct link between the client device 410 and the transaction intermediary 420 , or it may include one or more networks or subnetworks between them (not explicitly shown).
  • Each network or subnetwork may include, for example, a wired or wireless data pathway capable of carrying and receiving data.
  • Examples of network 440 include the Internet, the World Wide Web, a WAN (“Wide Area Network”), a LAN (“Local Area Networks”), an analog or a digital wired and wireless telephone network (e.g., PSTN (“Public Switched Telephone Network”), an ISDN (“Integrated Services Digital Network”), xDSL (“any form of Digital Subscriber Loop”), and/or a radio, television, cable, satellite, or any other delivery mechanism for carrying data.
  • PSTN Public Switched Telephone Network
  • ISDN Integrated Services Digital Network
  • xDSL any form of Digital Subscriber Loop
  • a communications link 470 is used to communicate data between the network 440 and the transaction intermediary 420 .
  • Communications link 470 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • the transaction intermediary 420 typically is structured and arranged to receive a request for a transaction, enable a user of the client device to complete a form with transaction information and receive a transaction package from the user which includes at least some of the entered transaction information.
  • the transaction intermediary 420 is also structured and arranged to route the transaction information to a transaction processor 430 without processing the transaction information in the transaction package.
  • the transaction intermediary 420 is structured and arranged to receive an indication that the transaction has been processed by the transaction processor 430 and generate an electronic voucher in response to receiving this indication.
  • a transaction intermediary 420 is structured and arranged to receive the transaction package through the web tier. In some implementations, a transaction intermediary 420 can route this information to the transaction processor 430 through a different web tier as the one used to receive the transaction package.
  • the transaction intermediary 420 may include a controller (not shown) that processes instructions received from or generated by a software application, a program, a piece of code, a device, a computer, a computer system, or a combination thereof, which independently or collectively direct operations of the transaction intermediary 420 .
  • the instructions may be embodied permanently or temporarily in any type of machine, component, equipment, storage medium, or propagated signal that is capable of being delivered to the transaction intermediary 420 or that may reside with the controller at transaction intermediary 420 .
  • Transaction intermediary 420 may include a general-purpose computer (e.g., a personal computer, PDA, smart phone, etc.) capable of responding to and executing instructions in a defined manner capable of responding to and executing instructions.
  • the transaction intermediary 420 includes one or more information retrieval support software applications (e.g., a web server and database) capable of receiving and routing one or more transaction packages.
  • the information retrieval support applications may run on a general purpose operating system and a hardware platform that includes a general purpose processor and specialized hardware for graphics, communications and/or other capabilities.
  • transaction intermediary 420 may also include one or more electronic storage mediums (not shown) for storing and updating information based on receiving a transaction package and receiving information from client device 410 and transaction processor 430 .
  • Transaction packages received by transaction intermediary 420 may be accessed by or sent to transaction processor 430 through network 450 via communications link 480 .
  • Communications link 480 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • Network 450 is structured and arranged to receive transaction packages transmitted from the transaction processor 430 for transmission to the transaction processor 430 .
  • the network 450 may include hardware and/or software capable of enabling direct or indirect communications between the transaction intermediary 420 and the transaction processor 430 .
  • the network 450 may include a direct link between the transaction intermediary 420 and the transaction processor 430 , or it may include one or more networks or subnetworks between them (not shown).
  • Each network or subnetwork may include, for example, a wired or, wireless data pathway capable of carrying and receiving data.
  • Examples of the delivery network include the Internet, the World Wide Web, WANs, LANs, analog or digital wired and wireless telephone networks (e.g., PSTN, ISDN, or xDSL), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data.
  • Network 440 and network 450 may share one or more hardware or software devices.
  • a communications link 490 is used to communicate data between the network 450 and the transaction processor 430 .
  • Communications link 480 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • the transaction processor 430 may include one or more devices capable of receiving and processing the transaction package transmitted by transaction intermediary 420 through network 450 .
  • the transaction processor 430 may include a controller (not shown) that processes instructions received from or generated by a software application, a program, a piece of code, a device, a computer, a computer system, or a combination thereof, which independently or collectively direct operations of the transaction processor 430 .
  • the instructions may be embodied permanently or temporarily in any type of machine, component, equipment, storage medium, or propagated signal that is capable of being delivered to the transaction processor 430 or that may reside with the controller at transaction processor 430 .
  • Transaction processor 430 may include a general-purpose computer (e.g., a personal computer, PDA, smart phone, etc.) capable of responding to and executing instructions in a defined manner capable of responding to and executing instructions.
  • the transaction processor 430 includes one or more information retrieval software applications (e.g., a browser, a mail application, an instant messaging client, an Internet service provider client, or other integrated client) capable of receiving one or more transaction packages.
  • the information retrieval applications may run on a general purpose operating system and a hardware platform that includes a general purpose processor and specialized hardware for graphics, communications and/or other capabilities.
  • transaction processor 430 may include one or more information decrypting software applications capable of decrypting one or more transaction packages.
  • transaction processor 430 may include one or more electronic storage mediums for storing and updating information based on transaction information processed in the transaction package received information from transaction intermediary 420 .
  • the transaction flow from a client device 410 to transaction processor 430 , through transaction intermediary 420 begins with a request for a transaction 411 from the client device 410 .
  • the request is received at step 421 in the transaction intermediary 420 .
  • the transaction intermediary After going through any type of verification process known in the art, the transaction intermediary enables the user to input transaction information electronically into a form at step 422 .
  • a user through the client device 410 can enter transaction information into the form at step 421 .
  • the entered transaction information is either partially or fully encrypted in the client device 410 into a transaction package at step 413 using software, hardware, or a combination of the two.
  • the encryption may be achieved using at least one encryption algorithm residing on the client device.
  • One of these encryption algorithms may include PGP (“Pretty Good Privacy”) encryption.
  • the client device 410 may then transmit the encrypted transaction package, via a web tier, to the transaction intermediary 420 .
  • the transaction package is received in the transaction intermediary 420 at step 423 and based on characteristics of the transaction, routed at step 424 to the transaction processor 430 .
  • Information on the transaction, including routing information, may be stored in the transaction intermediary at step 425 .
  • the transaction intermediary may not store sensitive information (e.g., a credit card number)
  • the transaction intermediary may store a metadata label that includes a higher description of the user account and their payment information to assist in routing additional transactions.
  • the routed transaction package is received in the transaction processor 430 at step 431 and is then subsequently decrypted in step 432 using software, hardware, or a combination of the two.
  • the decrypted transaction information in the transaction package is then processed in the transaction processor 430 to verify that it is valid. This verification may entail matching the information to at least one data base that includes verification parameters and user records. After the verification, an indication is generated which indicates whether the transaction information in the transaction package was valid or not. This information may be in the form of token.
  • This information is then sent from the transaction processor 430 to the transaction intermediary 420 . Information processed in step 433 may then be stored on the transaction processor in step 434 .
  • the indication is received in the transaction intermediary 426 and is processed to determine whether an electronic voucher for a subsequent sales transaction may be made available to the user of the client device 410 . If it is determined that the indication allows for an electronic voucher to be made available to the user of client device 410 , an electronic voucher is transmitted to the user in step 427 . This transmission may be made directly to the client device 410 , made available on a user's account profile that the transaction intermediary 420 can update, or may be emailed to the user and or merchant. In the case of being sent to a merchant, the user is sent an indication in step 427 that the transaction was successful. In step 428 , information pertaining to the status of the transaction, i.e. successful or not, may be stored on the transaction intermediary 420 .
  • the transaction intermediary 420 may also, in step 428 , update a user account associated with the transaction with information on the transaction as well as further transaction choices. Voucher information may also be stored in step 428 . Furthermore, the status of transaction may be updated on a list or database stored in step 428 on the transaction intermediary 420 .
  • the user on client device 410 then receives an acknowledgement in step 415 that the transaction was successful. They may receive this acknowledgement and the electronic voucher through any of the above methods.
  • FIG. 5 shows an example of a web portal that allows the user to access a web page in which they may make transaction choices in.
  • the user can enter a user id and user password in the web portal in order to gain access to the web page with transaction choices.
  • user id and user passwords are not necessary to gain access to a web page with transaction choices.
  • the web portal may be hosted on the transaction intermediary 420 , or may be modified in any manner through the transaction intermediary 420 .
  • FIG. 6 shows an example of a welcome web page after a user has logged in that displays a transaction option that the user can select. Once the user has selected this transaction, they are directed to an electronic form to fill in transaction information pertaining to the particular transaction choice.
  • the web page that includes transaction information along with the web page with the form may be hosted on the transaction intermediary 420 , or may be modified in any manner through the transaction intermediary 420 .
  • the disclosed and other implementations can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus.
  • the computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more them.
  • data processing apparatus encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
  • the apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • a computer program does not necessarily correspond to a file in a file system.
  • a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
  • a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • the processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.
  • the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor will receive instructions and data from a read only memory or a random access memory or both.
  • the essential elements of a computer can include a processor for performing instructions and one or more memory devices for storing instructions and data.
  • a computer can also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • a computer need not have such devices.
  • Computer readable media suitable for storing computer program instructions and data can include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks.
  • semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
  • magnetic disks e.g., internal hard disks or removable disks
  • magneto optical disks e.g., CD ROM and DVD-ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

Abstract

A transaction intermediary configured to receive a transaction request, enable the input of transaction information, receive a transaction package including the inputted transaction information, route the transaction package to a processing location, receive an indication that the transaction package has been processed, and generate an electronic voucher in response to the indication.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a continuation of U.S. application Ser. No. 13/467,168, filed May 9, 2012, which application claims priority from U.S. Provisional Application No. 61/484,027, filed May 9, 2011, and titled “Facilitating End-to-End Encryption for E-Commerce.” The entire contents of both applications are incorporated by reference herein.
  • TECHNICAL FIELD
  • This document relates to encryption for e-commerce.
  • BACKGROUND
  • Electronic commerce (e-commerce) generally describes the process of buying and selling goods and services over the internet. Increased usage of the internet has resulted in e-commerce becoming an increasingly important component for facilitating business transactions.
  • Overview
  • In one general aspect, processing secure information over the internet may be improved by using a transaction intermediary that is configured to receive a request to perform a transaction from a client device, enable the client device to enter transaction information in a form, receive a transaction package containing the transaction information in the form to facilitate the execution of the transaction, route the transaction to a transaction processor, receive an indication from the transaction processor that the transaction package has been processed, and generate an electronic voucher for a subsequent retail transaction based on the indication sent from the transaction processor.
  • Implementations may include one or more of the following features. For example, the indication may include a token that includes information corresponding to validation of the transaction information in the information package. Other implementations may include determining the status of the transaction from the token and then storing the status on the transaction intermediary. Yet another implementation may include determining that the status of the transaction may be recorded on a list and updated on a user account associated with the transaction.
  • The transaction package may be encrypted. The encryption may be generated from at least one encryption module residing on the client device. The encryption module may include a PGP encryption module. The encrypted transaction package may be decrypted in the transaction processor. The transaction information in the decrypted transaction package may be stored in the transaction processor, where the transaction package may include payment method information, retail vendor information, and user identification information.
  • Implementations may include a system capable of achieving the above features, including, for instance, a user device, a transaction intermediary, a transaction processor, and a network between these components.
  • DESCRIPTION OF DRAWINGS
  • FIG. 1 is an illustration of a transaction list maintained upon receiving a transaction package from a user's device.
  • FIG. 2A is a diagram of a first group of graphical data output from the transaction list.
  • FIG. 2B is a diagram of a second group of graphical data output from the transaction list.
  • FIG. 3 is a flow chart illustrating a method for enabling a secure transaction.
  • FIG. 4 is a flowchart illustrating the transaction information moving through a communications system.
  • FIG. 5 is a login web page provided by the transaction intermediary that a user on a client device can access to login into a user account.
  • FIG. 6 is a web page enabled by the transaction intermediary that provides a user with transaction possibilities after they have logged into their account.
  • DETAILED DESCRIPTION
  • A transaction intermediary may be configured facilitate transactions between a user community, a vendor, and a transaction processor. Specifically, a transaction intermediary may be configured to propose one or more details (e.g., a “deal” to dine at a particular restaurant) to a user community. One or more users then may accept the offer and provide the necessary information into a form that facilitates the transaction. For example, the transaction intermediary may propose a 50% discount if the user agrees to pay now and dine under specified circumstances.
  • The transaction intermediary provides the form that includes payment information. However, the transaction intermediary may seek to avoid exposure with sensitive information, such as the user's credit card number. The form provided by the transaction intermediary may include javascript code that creates a transaction package that is encrypted on a client device (e.g., a smart phone). The transaction intermediary receives the encrypted transaction package and routes the transaction package to the transaction processor for processing. The transaction processor may include a bank or credit card processing system that is configured to decrypt the transaction package and execute the proposed transaction. The transaction processor then provides an indication that the transaction has been executed so that the transaction intermediary may generate an electronic voucher (e.g., a coupon that can be printed out) for use in a subsequent retail opportunity such as a dinner reservation. In one configuration, the transaction processor maintains a private key for the user's account and provides a public key to the transaction intermediary for distribution in the form that is completed to begin generating the transaction package. In another configuration, key distribution architecture is used that facilitates distribution of symmetric private key pairs.
  • A transaction intermediary may maintain a data list that specifies where a particular transaction package should be routed. Referring to FIG. 1, a data list 100 is illustrated that displays where a received transaction package may be routed for processing. A transaction package may include information related to a proposed transaction between a user and a merchant. The transaction package may include at least one piece of transaction information, such as, for example, a user's payment information such as credit card numbers, credit card expiration dates, bank account numbers, etc. The transaction information may also include a user's mailing address, phone number, social security number, or other personal information that identifies the user. Furthermore, the transaction information may include identification information related to the identification of a particular merchant with whom the user is considering engaging in the transaction (e.g., the merchant's name, tax identification number, mailing address, phone number, or other information that identifies the merchant).
  • The received transaction package may be associated with a user account 110 through which the user engages the transaction intermediary for the purpose of executing a proposed transaction. This user account may be accessed via a web page. Once a user has accessed their account, the user may accept a proposed transaction offered by a merchant 130. The merchant's transaction may be tied with a certain deal model 150 that the merchant may be offering to the user. This deal model 150, may take a variety of forms, such as a reduced price on a product or service that the merchant normally offers, a special limited time product or service that the merchant is offering, or any other special deal model that the merchant may offer to facilitate a retail purchase.
  • Once a user has selected or accepted a proposed transaction, the user may be prompted to enter their transaction information into a form. Upon the user acknowledging the completion of the form, the transaction information that they entered into the form may be encrypted on the user's system as a transaction package. Based on characteristics of this transaction, such as the merchant 130, the location of the user 120, the deal model 150, the user's payment method (i.e. through Visa, MasterCard, Debt Account, PayPal, etc.), information associated with the user account 110, etc., a routing location 140 can be determined. The routing location 140 is a remote device able to act as a transaction processor where the encrypted user information is decrypted to execute the proposed transaction.
  • The encrypted transaction package may be sent through the web tier, such that it can be readily associated with a user account and a user's chosen transaction. As a result, a label for the proposed user's transaction may be entered into data list 100 in order to identify the transaction intermediary as having routed the encrypted transaction package. Data list 100 then may be used to facilitate in processing subsequent transactions. Data list 100 may be stored in data structure that allows it to be represented on a graphic user interface (GUI) in a table form as shown in 100.
  • Referring to FIGS. 2A and 2B, data in data list 100 can also be shown in graphical form. For instance, information pertaining to the volume of deal models 150 that a certain remote location 140 has handled in a certain time frame, may be outputted as a pie chart 210. Likewise, information pertaining to the volume of transactions per merchant 130 that a remote location 140 has handled in a certain time frame, may be outputted as a pie chart 220. It should be understood that data list 100 may be outputted in many other graphical manners as can be found in the known art of graphically outputting data in list form. Data list 100 then may be fed into an analytic and modeling engine that can be used to visualize the profitability for one or more proposed vendor partnerships depending on the particular terms of the proposed transaction. For example, the extent to which users are already registered with payment information may be used to determine the acceptance rate and profitability of a proposed transaction.
  • FIG. 3 illustrates a process for enabling a user to execute a transaction through a transaction intermediary with a merchant. At step 310, a request for a transaction is received from a user device (e.g., a smart phone). The request may come from a user selecting certain transaction when they access their user account on a web page. Alternatively, the user may choose a transaction from a list of transactions that they can generally access from a web page without having to access a user account. A transaction may be tied to one or more offers provided by one or more merchants across multiple geographic locations.
  • Once the user has chosen a transaction, step 320 enables the user to enter their transaction information into a form. The form may be provided through an encrypted portion of the web page which the user has accessed to choose the deal. The transaction information entered into the form by the user can include the user's payment method (i.e. through Visa, MasterCard, Debt Account, PayPal, etc.), payment information (i.e. account numbers, account expiration dates, etc.). This transaction information may also include a user's mailing address, phone number, social security number, or other personal information that can identify the user. Furthermore, certain transaction information may be imbedded into the form such as merchant information (i.e. merchant name, merchant tax identification number, merchant mailing address, merchant phone number, etc.). A web browser on the user device may, for example, load a javascript package that securely encrypts credit card information. The javascript package may encrypt this information using a public key for a transaction processor. The transaction package may include the encrypted information that is sent to the transaction intermediary for routing to the transaction processor.
  • A transaction package, that includes the transaction information, is then received in step 330 and routed in step 340 to an appropriate location where the transaction information can be processed. The location for routing may be determined based on the user's transaction request, the user's location, the merchant connected with the transaction, the user's payment method, or information associated with information in the user's account.
  • In step 350, an indication is received that indicates if the transaction information in the transaction package has been validated. This indication may be in the form of a token indicating that the information was valid or not valid. In response to the receiving this indication, an electronic voucher is generated in step 360 which the user can redeem and use in a subsequent retail opportunity tied with the transaction. The voucher may be accessible through the user's account, may be mailed emailed to the user, or through merchant associated with the transaction. The voucher may be generated when there is an indication that the transaction was valid, or may be generated with an indication that the voucher was not valid.
  • Referring to FIG. 5, a communication system 400 may be structured and arranged to facilitate communications with a client device 410, at least one transaction intermediary 420, at least one transaction processor 430 and communication software and hardware enabling communications between client device 410, transaction intermediary 420 and transaction processor 430. More particularly, the communications system 400 typically includes a client device 410, a transaction intermediary 420, a transaction processor 430, a network 440 between the client device and a network 450 between the transaction intermediary 420 and the transaction processor 430. As will be described in greater detail with respect to FIG. 5, the client device 410 generally transmits requests and transactions packages across network 440 to one or more transaction processors 420, where the transaction packages or portions thereof, are routed to at least one transaction processor through network 450.
  • Typically, a client device 410 may be structured and arranged to facilitate user communications such that a user of the client device may access web pages in order to facilitate a user request for a transaction across network 440. The client device 410 may include a general-purpose computer having a central processor unit (CPU), and memory/storage devices that store data and various programs such as an operating system and one or more application programs. Other examples of a client device 410 includes but is not limited to a smart phone, a PDA, a tablet device, a workstation, a server, a device, a special purpose device or component, a broadcast system, other mobile communication device, or some combination thereof capable of responding to and executing instructions in a defined manner. The client device 410 also typically includes an input/output (I/O) device (e.g., video and audio input and conversion capability), and peripheral equipment such as a display communications card or device (e.g., a modem or a network adapter) for exchanging data with the network 440.
  • A communications link 460 is used to communicate data between the client device 410 and network 440. Communications link 460 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • The network 440 typically includes hardware and/or software capable of enabling direct or indirect communications between the client device 410 and the transaction intermediary 420. The network 440 may include a direct link between the client device 410 and the transaction intermediary 420, or it may include one or more networks or subnetworks between them (not explicitly shown). Each network or subnetwork may include, for example, a wired or wireless data pathway capable of carrying and receiving data. Examples of network 440 include the Internet, the World Wide Web, a WAN (“Wide Area Network”), a LAN (“Local Area Networks”), an analog or a digital wired and wireless telephone network (e.g., PSTN (“Public Switched Telephone Network”), an ISDN (“Integrated Services Digital Network”), xDSL (“any form of Digital Subscriber Loop”), and/or a radio, television, cable, satellite, or any other delivery mechanism for carrying data.
  • A communications link 470 is used to communicate data between the network 440 and the transaction intermediary 420. Communications link 470 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • The transaction intermediary 420 typically is structured and arranged to receive a request for a transaction, enable a user of the client device to complete a form with transaction information and receive a transaction package from the user which includes at least some of the entered transaction information. The transaction intermediary 420 is also structured and arranged to route the transaction information to a transaction processor 430 without processing the transaction information in the transaction package. Furthermore, the transaction intermediary 420 is structured and arranged to receive an indication that the transaction has been processed by the transaction processor 430 and generate an electronic voucher in response to receiving this indication.
  • In some implementations, a transaction intermediary 420 is structured and arranged to receive the transaction package through the web tier. In some implementations, a transaction intermediary 420 can route this information to the transaction processor 430 through a different web tier as the one used to receive the transaction package.
  • The transaction intermediary 420 may include a controller (not shown) that processes instructions received from or generated by a software application, a program, a piece of code, a device, a computer, a computer system, or a combination thereof, which independently or collectively direct operations of the transaction intermediary 420. The instructions may be embodied permanently or temporarily in any type of machine, component, equipment, storage medium, or propagated signal that is capable of being delivered to the transaction intermediary 420 or that may reside with the controller at transaction intermediary 420. Transaction intermediary 420 may include a general-purpose computer (e.g., a personal computer, PDA, smart phone, etc.) capable of responding to and executing instructions in a defined manner capable of responding to and executing instructions.
  • For instance, in one implementation, the transaction intermediary 420 includes one or more information retrieval support software applications (e.g., a web server and database) capable of receiving and routing one or more transaction packages. The information retrieval support applications may run on a general purpose operating system and a hardware platform that includes a general purpose processor and specialized hardware for graphics, communications and/or other capabilities.
  • Generally, transaction intermediary 420 may also include one or more electronic storage mediums (not shown) for storing and updating information based on receiving a transaction package and receiving information from client device 410 and transaction processor 430.
  • Transaction packages received by transaction intermediary 420 may be accessed by or sent to transaction processor 430 through network 450 via communications link 480. Communications link 480 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • Network 450 is structured and arranged to receive transaction packages transmitted from the transaction processor 430 for transmission to the transaction processor 430.
  • The network 450 may include hardware and/or software capable of enabling direct or indirect communications between the transaction intermediary 420 and the transaction processor 430. As such, the network 450 may include a direct link between the transaction intermediary 420 and the transaction processor 430, or it may include one or more networks or subnetworks between them (not shown). Each network or subnetwork may include, for example, a wired or, wireless data pathway capable of carrying and receiving data. Examples of the delivery network include the Internet, the World Wide Web, WANs, LANs, analog or digital wired and wireless telephone networks (e.g., PSTN, ISDN, or xDSL), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data. Network 440 and network 450 may share one or more hardware or software devices.
  • A communications link 490 is used to communicate data between the network 450 and the transaction processor 430. Communications link 480 may include a telephone line, a wireless network link, a cable network, or a direct connection, for example.
  • The transaction processor 430 may include one or more devices capable of receiving and processing the transaction package transmitted by transaction intermediary 420 through network 450. The transaction processor 430 may include a controller (not shown) that processes instructions received from or generated by a software application, a program, a piece of code, a device, a computer, a computer system, or a combination thereof, which independently or collectively direct operations of the transaction processor 430. The instructions may be embodied permanently or temporarily in any type of machine, component, equipment, storage medium, or propagated signal that is capable of being delivered to the transaction processor 430 or that may reside with the controller at transaction processor 430. Transaction processor 430 may include a general-purpose computer (e.g., a personal computer, PDA, smart phone, etc.) capable of responding to and executing instructions in a defined manner capable of responding to and executing instructions.
  • For instance, in one implementation, the transaction processor 430 includes one or more information retrieval software applications (e.g., a browser, a mail application, an instant messaging client, an Internet service provider client, or other integrated client) capable of receiving one or more transaction packages. The information retrieval applications may run on a general purpose operating system and a hardware platform that includes a general purpose processor and specialized hardware for graphics, communications and/or other capabilities. In another implementation, transaction processor 430 may include one or more information decrypting software applications capable of decrypting one or more transaction packages. In yet another implementation, transaction processor 430 may include one or more electronic storage mediums for storing and updating information based on transaction information processed in the transaction package received information from transaction intermediary 420.
  • The transaction flow from a client device 410 to transaction processor 430, through transaction intermediary 420 begins with a request for a transaction 411 from the client device 410. The request is received at step 421 in the transaction intermediary 420. After going through any type of verification process known in the art, the transaction intermediary enables the user to input transaction information electronically into a form at step 422.
  • Once enabled to enter transaction information electronically, a user through the client device 410, can enter transaction information into the form at step 421. Once acknowledging that the form is complete, the entered transaction information is either partially or fully encrypted in the client device 410 into a transaction package at step 413 using software, hardware, or a combination of the two. The encryption may be achieved using at least one encryption algorithm residing on the client device. One of these encryption algorithms may include PGP (“Pretty Good Privacy”) encryption. At step 414, the client device 410 may then transmit the encrypted transaction package, via a web tier, to the transaction intermediary 420.
  • The transaction package is received in the transaction intermediary 420 at step 423 and based on characteristics of the transaction, routed at step 424 to the transaction processor 430. Information on the transaction, including routing information, may be stored in the transaction intermediary at step 425. For example, although the transaction intermediary may not store sensitive information (e.g., a credit card number), the transaction intermediary may store a metadata label that includes a higher description of the user account and their payment information to assist in routing additional transactions.
  • The routed transaction package is received in the transaction processor 430 at step 431 and is then subsequently decrypted in step 432 using software, hardware, or a combination of the two. In step 433, the decrypted transaction information in the transaction package is then processed in the transaction processor 430 to verify that it is valid. This verification may entail matching the information to at least one data base that includes verification parameters and user records. After the verification, an indication is generated which indicates whether the transaction information in the transaction package was valid or not. This information may be in the form of token. This information is then sent from the transaction processor 430 to the transaction intermediary 420. Information processed in step 433 may then be stored on the transaction processor in step 434.
  • The indication is received in the transaction intermediary 426 and is processed to determine whether an electronic voucher for a subsequent sales transaction may be made available to the user of the client device 410. If it is determined that the indication allows for an electronic voucher to be made available to the user of client device 410, an electronic voucher is transmitted to the user in step 427. This transmission may be made directly to the client device 410, made available on a user's account profile that the transaction intermediary 420 can update, or may be emailed to the user and or merchant. In the case of being sent to a merchant, the user is sent an indication in step 427 that the transaction was successful. In step 428, information pertaining to the status of the transaction, i.e. successful or not, may be stored on the transaction intermediary 420. The transaction intermediary 420 may also, in step 428, update a user account associated with the transaction with information on the transaction as well as further transaction choices. Voucher information may also be stored in step 428. Furthermore, the status of transaction may be updated on a list or database stored in step 428 on the transaction intermediary 420.
  • The user on client device 410, then receives an acknowledgement in step 415 that the transaction was successful. They may receive this acknowledgement and the electronic voucher through any of the above methods.
  • FIG. 5 shows an example of a web portal that allows the user to access a web page in which they may make transaction choices in. The user can enter a user id and user password in the web portal in order to gain access to the web page with transaction choices. In other implementations, user id and user passwords are not necessary to gain access to a web page with transaction choices. The web portal may be hosted on the transaction intermediary 420, or may be modified in any manner through the transaction intermediary 420.
  • FIG. 6 shows an example of a welcome web page after a user has logged in that displays a transaction option that the user can select. Once the user has selected this transaction, they are directed to an electronic form to fill in transaction information pertaining to the particular transaction choice. The web page that includes transaction information along with the web page with the form may be hosted on the transaction intermediary 420, or may be modified in any manner through the transaction intermediary 420.
  • The disclosed and other implementations can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer can include a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer can also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data can include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
  • While this document contains many specifics, these should not be construed as limitations on the scope of an invention that is claimed or of what may be claimed, but rather as descriptions of features specific to particular configurations. Certain features that are described in this document in the context of separate configurations can also be implemented in combination in a single configuration. Conversely, various features that are described in the context of a single configuration can also be implemented in multiple configurations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination. Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.
  • Only a few examples and implementations are disclosed. Variations, modifications, and enhancements to the described examples and implementations and other implementations can be made based on what is disclosed.

Claims (21)

1-20. (canceled)
21. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
receiving, at a transaction intermediary and from a client device associated with a user, a request for initiating a proposed transaction associated with a merchant, wherein the transaction intermediary comprises an intermediary device for network communication between the client device and a transaction processor over a communication network;
transmitting, from the transaction intermediary to the client device, data corresponding to a form, the form comprising a plurality of fields for inputting transaction information, the plurality of fields comprising at least a first field configured for providing an encrypted data portion of the transaction information and at least a second field configured for providing a non-encrypted data portion of the transaction information;
receiving, at the transaction intermediary from the client device, a transaction package related to the proposed transaction between the user and the merchant, wherein the transaction package comprises the transaction information, and wherein the transaction intermediary is not configured to decrypt the encrypted data portion;
determining, by the transaction intermediary, a routing location associated with the transaction processor;
routing at least the encrypted data portion of the transaction information from the transaction intermediary to the routing location associated with the transaction processor;
receiving, at the transaction intermediary from the transaction processor, a transaction validity indicator representing whether the transaction processor determined that the transaction information is valid based on the transaction processor processing at least the encrypted data portion of the transaction information; and
generating, at the transaction intermediary, an electronic voucher for the proposed transaction in response to receiving the transaction validity indicator.
22. The computer-readable medium of claim 21, wherein the computer-readable medium is further configured to cause the one or more computers to:
verifying the client device based on (i) the non-encrypted data portion of the transaction information, (ii) a metadata portion of the transaction package or, (iii) a combination of the non-encrypted data portion of the transaction information and the metadata portion of the transaction package,
wherein the data corresponding to the form is transmitted in response to verifying the client device.
23. The computer-readable medium of claim 21, wherein generating the electronic voucher for the proposed transaction in response to receiving the transaction validity indicator comprises:
generating the electronic voucher in response to determining the transaction validity indicator indicates the transaction information is valid; or
generating the electronic voucher in response to determining the transaction validity indicator indicates the transaction information is not valid.
24. The computer-readable medium of claim 21, wherein the computer-readable medium is further configured to cause the one or more computers to:
providing the electronic voucher to the user by (i) transmitting, by the transaction intermediary, data embodying the electronic voucher to the client device, (ii) transmitting, by the transaction intermediary, data embodying the electronic voucher to a merchant device associated with the merchant, or (iii) storing, by the transaction intermediary, the electronic voucher associated with a user account accessible to the user.
25. The computer-readable medium of claim 21, wherein the computer-readable medium is further configured to cause the one or more computers to:
storing the routing location; and
utilizing the stored routing location to route a second transaction package received from the client device.
26. The computer-readable medium of claim 21, wherein the non-encrypted data portion comprises a payment method indicator, and wherein the routing location is determined based on at least the payment method indicator.
27. The computer-readable medium of claim 21, wherein the form comprises embedded merchant information fields, wherein the non-encrypted data portion of the transaction information comprises merchant information from the embedded merchant information fields, and wherein the routing location is determined based on at least the merchant information.
28. A computer-implemented method comprising:
receiving, at a transaction intermediary and from a client device associated with a user, a request for initiating a proposed transaction associated with a merchant, wherein the transaction intermediary comprises an intermediary device for network communication between the client device and a transaction processor over a communication network;
transmitting, from the transaction intermediary to the client device, data corresponding to a form, the form comprising a plurality of fields for inputting transaction information, the plurality of fields comprising at least a first field configured for providing an encrypted data portion of the transaction information and at least a second field configured for providing a non-encrypted data portion of the transaction information;
receiving, at the transaction intermediary from the client device, a transaction package related to the proposed transaction between the user and the merchant, wherein the transaction package comprises the transaction information, and wherein the transaction intermediary is not configured to decrypt the encrypted data portion;
determining, by the transaction intermediary, a routing location associated with the transaction processor;
routing at least the encrypted data portion of the transaction information from the transaction intermediary to the routing location associated with the transaction processor;
receiving, at the transaction intermediary from the transaction processor, a transaction validity indicator indicating whether the transaction processor determined that the transaction information is valid based on the transaction processor processing at least the encrypted data portion of the transaction information; and
generating, at the transaction intermediary, an electronic voucher for the proposed transaction in response to receiving the transaction validity indicator.
29. The computer-implemented method of claim 28, the method further comprising:
verifying the client device based on (i) the non-encrypted data portion of the transaction information, (ii) a metadata portion of the transaction package or, (iii) a combination of the non-encrypted data portion of the transaction information and the metadata portion of the transaction package,
wherein the data corresponding to the form is transmitted in response to verifying the client device.
30. The computer-implemented method of claim 28, wherein generating the electronic voucher for the proposed transaction in response to receiving the transaction validity indicator comprises:
generating the electronic voucher in response to determining the transaction validity indicator indicates the transaction information is valid; or
generating the electronic voucher in response to determining the transaction validity indicator indicates the transaction information is not valid.
31. The computer-implemented method of claim 28, the computer-implemented method further comprising:
providing the electronic voucher to the user by (i) transmitting, by the transaction intermediary, data embodying the electronic voucher to the client device, (ii) transmitting, by the transaction intermediary, data embodying the electronic voucher to a merchant device associated with the merchant, or (iii) storing, by the transaction intermediary, the electronic voucher associated with a user account accessible to the user.
32. The computer-implemented method of claim 28, the computer-implemented method further comprising
storing the routing location; and
utilizing the stored routing location to route a second transaction package received from the client device.
33. The computer-implemented method of claim 28, wherein the non-encrypted data portion comprises a payment method indicator, and wherein the routing location is determined based on at least the payment method indicator.
34. The computer-implemented method of claim 28, wherein the form comprises embedded merchant information fields, wherein the non-encrypted data portion of the transaction information comprises merchant information from the embedded merchant information fields, and wherein the routing location is determined based on at least the merchant information.
35. A system comprising:
one or more processors; and
one or more memories operatively coupled to the one or more processors, the one or more memories having instructions stored therein that cause the one or more processors to:
receive, from a client device associated with a user, a request for initiating a proposed transaction associated with a merchant, wherein the system comprises an intermediary device for network communication between the client device and a transaction processor over a communication network;
transmitting, to the client device, data corresponding to a form, the form comprising a plurality of fields for inputting transaction information, the plurality of fields comprising at least a first field configured for providing an encrypted data portion of the transaction information and at least a second field configured for providing a non-encrypted data portion of the transaction information;
receive, from the client device, a transaction package related to the proposed transaction between the user and the merchant, wherein the transaction package comprises the transaction information, and wherein the system is not configured to decrypt the encrypted data portion;
determine a routing location associated with the transaction processor;
route at least the encrypted data portion of the transaction information to the routing location associated with the transaction processor;
receive, from the transaction processor, a transaction validity indicator representing whether the transaction processor determined that the transaction information is valid based on the transaction processor processing at least the encrypted data portion of the transaction information; and
generate, an electronic voucher for the proposed transaction in response to receiving the transaction validity indicator.
36. The system of claim 35, wherein the instructions further cause the one or more processors to:
verify the client device based on (i) the non-encrypted data portion of the transaction information, (ii) a metadata portion of the transaction package or, (iii) a combination of the non-encrypted data portion of the transaction information and the metadata portion of the transaction package,
wherein the data corresponding to the form is transmitted in response to verifying the client device.
37. The system of claim 35, wherein to generate the electronic voucher for the proposed transaction in response to receiving the transaction validity indicator, the system is caused to:
generate the electronic voucher in response to determining the transaction validity indicator indicates the transaction information is valid; or
generate the electronic voucher in response to determining the transaction validity indicator indicates the transaction information is not valid.
38. The system of claim 35, wherein the instructions further cause the one or more processors to:
provide the electronic voucher to the user by (i) transmitting data embodying the electronic voucher to the client device, (ii) transmitting data embodying the electronic voucher to a merchant device associated with the merchant, or (iii) storing the electronic voucher associated with a user account accessible to the user.
39. The system of claim 35, wherein the instructions further cause the one or more processors to:
storing the routing location; and
utilizing the stored routing location to route a second transaction package received from the client device.
40. The system of claim 35, wherein the form comprises embedded merchant information fields, wherein the non-encrypted data portion of the transaction information comprises merchant information from the embedded merchant information fields, and wherein the routing location is determined based on at least the merchant information.
US16/792,760 2011-05-09 2020-02-17 Facilitating end-to-end encryption for e-commerce Pending US20200258080A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/792,760 US20200258080A1 (en) 2011-05-09 2020-02-17 Facilitating end-to-end encryption for e-commerce

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161484027P 2011-05-09 2011-05-09
US13/467,168 US10607218B1 (en) 2011-05-09 2012-05-09 Facilitating end-to-end encryption for E-commerce
US16/792,760 US20200258080A1 (en) 2011-05-09 2020-02-17 Facilitating end-to-end encryption for e-commerce

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/467,168 Continuation US10607218B1 (en) 2011-05-09 2012-05-09 Facilitating end-to-end encryption for E-commerce

Publications (1)

Publication Number Publication Date
US20200258080A1 true US20200258080A1 (en) 2020-08-13

Family

ID=69951519

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/467,168 Active 2035-10-22 US10607218B1 (en) 2011-05-09 2012-05-09 Facilitating end-to-end encryption for E-commerce
US16/792,760 Pending US20200258080A1 (en) 2011-05-09 2020-02-17 Facilitating end-to-end encryption for e-commerce

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/467,168 Active 2035-10-22 US10607218B1 (en) 2011-05-09 2012-05-09 Facilitating end-to-end encryption for E-commerce

Country Status (1)

Country Link
US (2) US10607218B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056398A1 (en) * 2000-04-14 2001-12-27 E-Vantage International, Inc. Method and system for delivering foreign exchange risk management advisory solutions to a designated market
US20060047603A1 (en) * 2002-10-22 2006-03-02 Koninklijke Philips Electronics N.V. System and method for managing digital rights
US7107242B1 (en) * 2000-11-21 2006-09-12 Vasil Paul E Electronic transaction security method
US7228359B1 (en) * 2002-02-12 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing domain name service based on a client identifier
US20100262508A1 (en) * 2009-04-10 2010-10-14 Will Volnak Method and system for an online library marketplace
US20110161233A1 (en) * 2009-12-30 2011-06-30 First Data Corporation Secure transaction management

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5122950A (en) * 1989-11-02 1992-06-16 Moneyfax, Inc. Method of and system for electronic funds transfer via facsimile machines
US5679938A (en) * 1994-12-02 1997-10-21 Telecheck International, Inc. Methods and systems for interactive check authorizations
WO2001011524A1 (en) * 1999-08-04 2001-02-15 Rapidmoney Corporation System and method for rapidly and securely transferring funds electronically between two points
US6976053B1 (en) * 1999-10-14 2005-12-13 Arcessa, Inc. Method for using agents to create a computer index corresponding to the contents of networked computers
US7577612B2 (en) * 2000-02-18 2009-08-18 Ncr Corporation Self service terminal
US6990470B2 (en) * 2000-04-11 2006-01-24 Mastercard International Incorporated Method and system for conducting secure payments over a computer network
CA2406001A1 (en) * 2000-04-14 2001-10-25 American Express Travel Related Services Company, Inc. A system and method for using loyalty points
US20020013899A1 (en) * 2000-06-17 2002-01-31 Faul Jacob Joel Automated document distribution and transaction verification
GB2366882A (en) * 2000-09-19 2002-03-20 Ncr Int Inc A data warehouse and brokerage system
US20040029567A1 (en) * 2001-05-25 2004-02-12 Timmins Timothy A. Technique for effectively providing personalized communications and information assistance services
US7797434B2 (en) * 2002-12-31 2010-09-14 International Business Machines Corporation Method and system for user-determind attribute storage in a federated environment
US20040151292A1 (en) * 2003-01-31 2004-08-05 Larsen David J. Prepaid and postpaid subscriber telephony platform
US20040193553A1 (en) * 2003-03-25 2004-09-30 Lloyd Joseph Alexander Process for securing digital transactions
US8150704B2 (en) * 2004-11-09 2012-04-03 Siemens Aktiengesellschaft Method of preparing a product quote for a customer
JP2008009303A (en) * 2006-06-30 2008-01-17 Sony Corp Content distribution server and content distribution method
US20090048993A1 (en) * 2007-08-13 2009-02-19 Motorola, Inc. Implementation of operating system securing
US8127261B2 (en) * 2009-01-20 2012-02-28 International Business Machines Corporation System for quickly specifying formal verification environments
US20120066501A1 (en) * 2009-03-17 2012-03-15 Chuyu Xiong Multi-factor and multi-channel id authentication and transaction control
US8463944B2 (en) * 2010-01-05 2013-06-11 International Business Machines Corporation Optimal compression process selection methods
US20120036069A1 (en) * 2010-08-09 2012-02-09 Loans for less Inc. System and method for remotely providing financial services
US20120253901A1 (en) * 2011-04-01 2012-10-04 Event Bonus LLC Dynamic offer pairing and distribution systems and methods

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056398A1 (en) * 2000-04-14 2001-12-27 E-Vantage International, Inc. Method and system for delivering foreign exchange risk management advisory solutions to a designated market
US7107242B1 (en) * 2000-11-21 2006-09-12 Vasil Paul E Electronic transaction security method
US7228359B1 (en) * 2002-02-12 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing domain name service based on a client identifier
US20060047603A1 (en) * 2002-10-22 2006-03-02 Koninklijke Philips Electronics N.V. System and method for managing digital rights
US20100262508A1 (en) * 2009-04-10 2010-10-14 Will Volnak Method and system for an online library marketplace
US20110161233A1 (en) * 2009-12-30 2011-06-30 First Data Corporation Secure transaction management

Also Published As

Publication number Publication date
US10607218B1 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
US20230334463A1 (en) Cloud-based systems and methods for providing consumer financial data
US20220300963A1 (en) Bifurcated digital wallet systems and methods for processing transactions using information extracted from multiple sources
US9430767B2 (en) Tokenization in mobile environments
AU2012294451B2 (en) Payment device with integrated chip
CA3045611C (en) Mobile payment system
US11455624B2 (en) Payment system and method
US10713630B2 (en) Apparatus and method for purchasing a product using an electronic device
US9083534B2 (en) Method and system for propagating a client identity
US20160092869A1 (en) Systems and methods for administering mobile applications using pre-loaded tokens
US20150039517A1 (en) Cloud entertainment platform
US20150154592A1 (en) Authorizing a transaction between a client device and a server using a scannable code
WO2013185147A2 (en) Authorizing a transaction between a client device and a server using a scannable code
US20210209684A1 (en) System and method for transferring currency using blockchain
US20120215700A1 (en) Payment systems and methods using mobile computing devices
US20160078397A1 (en) Authentication system for purchase delivery
US11593849B2 (en) Employee profile for customer assignment, analytics and tip payments
US20230115996A1 (en) System and method for closing pre-authorization amounts on a virtual token account
KR101172871B1 (en) Method and system of secure payment using onetime authentication information
US20140032312A1 (en) Systems, methods, and computer program products for providing offers to mobile wallets
US20230125124A1 (en) Obtaining conditions data for utilizing an exchange item
US20240015030A1 (en) Methods and systems for authorizing transactions based on a derived public key
US20200258080A1 (en) Facilitating end-to-end encryption for e-commerce
US20140149289A1 (en) Method and Apparatus for the Restricted Transfer of Funds
US20110087568A1 (en) Integrated profile and payment exchange
WO2019203982A2 (en) Server and method for sending a transaction receipt via a push notification

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED

AS Assignment

Owner name: LIVINGSOCIAL, INC., DISTRICT OF COLUMBIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BATALION, AARON;REEL/FRAME:055003/0799

Effective date: 20120723

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

AS Assignment

Owner name: LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.), ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:066676/0001

Effective date: 20240212

Owner name: GROUPON, INC., ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:066676/0001

Effective date: 20240212

Owner name: LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.), ILLINOIS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:066676/0251

Effective date: 20240212

Owner name: GROUPON, INC., ILLINOIS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:066676/0251

Effective date: 20240212