US20190281107A1 - Providing customer information obtained from a carrier system to a client device - Google Patents

Providing customer information obtained from a carrier system to a client device Download PDF

Info

Publication number
US20190281107A1
US20190281107A1 US16/215,247 US201816215247A US2019281107A1 US 20190281107 A1 US20190281107 A1 US 20190281107A1 US 201816215247 A US201816215247 A US 201816215247A US 2019281107 A1 US2019281107 A1 US 2019281107A1
Authority
US
United States
Prior art keywords
client device
information
aggregator
merchant
crm
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.)
Abandoned
Application number
US16/215,247
Inventor
Atreedev Banerjee
James Pardue
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.)
Boku Identity Inc
Original Assignee
Danal 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 Danal Inc filed Critical Danal Inc
Priority to US16/215,247 priority Critical patent/US20190281107A1/en
Assigned to Danal Inc. reassignment Danal Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Banerjee, Atreedev, Pardue, James
Publication of US20190281107A1 publication Critical patent/US20190281107A1/en
Abandoned 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • 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
    • G06Q30/00Commerce
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/42

Definitions

  • the present disclosure relates to transactions made on a client device, and more particularly relates to accessing customer relationship management (CRM) information stored in a carrier system associated with a user of an identified client device.
  • CRM customer relationship management
  • CRM customer relationship management
  • the client device may be configured to pre-populate data fields associated with a transaction.
  • transactions require information, including payment information, which may be tedious and difficult to enter on a client device, such as a mobile phone.
  • an aggregator system of the present disclosure may receive CRM information associated with a client device based on an identification of the client device, and the CRM information may be used to pre-populate data fields on the client device.
  • the CRM information may be received from any suitable source, such as a carrier system associated with the client device. Thus, a consumer need not be required to manually complete data fields related to client device transactions.
  • an aggregator system receives client device information from a carrier system and identifies a client device based on the client device identification information.
  • the aggregator system further receives CRM information from the carrier system and outputs data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • an aggregator method includes identifying a client device based on client device identification information received from a carrier system.
  • the aggregator method further includes receiving CRM information from the carrier system and outputting data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to the least a subset of the CRM information.
  • a non-transitory computer readable medium has stored instructions that when executed direct a carrier input to receive client device identification information from a carrier system, and direct client device identification circuitry to identify a client device based on the client device identification information.
  • the instructions further direct a carrier input to receive CRM information from the carrier system and communication circuitry to output data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information.
  • the client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • an aggregator system receives client device identification information from a merchant system and identifies a client device based on the client device identification information.
  • the aggregator system further receives CRM information from a carrier system and outputs data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • an aggregator method includes identifying a client device based on client device identification information received from a merchant system.
  • the aggregator method further includes receiving CRM information from a carrier system and outputting data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to the least a subset of the CRM information.
  • a non-transitory computer readable medium has stored instructions that when executed direct a merchant input to receive client device identification information from a merchant system, and direct client device identification circuitry to identify a client device based on the client device identification information.
  • the instructions further direct a carrier input to receive CRM information from a carrier system and communication circuitry to output data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information.
  • the client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • FIG. 1 is a block diagram of illustrative systems and devices implemented in a network environment in accordance with some embodiments of the present disclosure
  • FIG. 2 is a block diagram showing illustrative paths of communication between systems and devices in accordance with some embodiments of the present disclosure
  • FIG. 3 is a block diagram of an illustrative aggregator system in accordance with some embodiments of the present disclosure
  • FIG. 4 is a block diagram of an illustrative merchant system in accordance with some embodiments of the present disclosure.
  • FIG. 5 is a block diagram of an illustrative carrier system in accordance with some embodiments of the present disclosure.
  • FIG. 6 is a block diagram of an illustrative client device in accordance with some embodiments of the present disclosure.
  • FIG. 7 is a block diagram showing an illustrative process flow in a system that implements a mobile originated client device identification technique in accordance with some embodiments of the present disclosure
  • FIG. 8 is a block diagram showing an illustrative process flow in a system that implements a mobile terminated client device identification technique in accordance with some embodiments of the present disclosure
  • FIG. 9 is a block diagram showing an illustrative process flow in a system that implements a header enrichment client device identification technique in accordance with some embodiments of the present disclosure.
  • FIG. 10 shows an illustrative client-initiated interaction between a client device and an aggregator system in accordance with some embodiments of the present disclosure
  • FIG. 11 is a flow diagram including illustrative steps for outputting data corresponding to at least a subset of CRM information in accordance with some embodiments of the present disclosure
  • FIG. 12 shows a sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure
  • FIG. 13 shows another sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure.
  • FIG. 14 is a block diagram showing detailed components of an illustrative aggregator system in accordance with some embodiments of the present disclosure.
  • CRM customer relationship management
  • the present disclosure is directed towards using customer relationship management (CRM) information stored at a carrier system in connection with a transaction at a client device.
  • the CRM information may be used to pre-populate fields of a form being displayed on the client device.
  • the client device may be for example, a mobile phone owned by a user having an account with the carrier system.
  • the carrier system provides mobile network services to the client device.
  • examples of carrier systems include systems operated by Verizon, AT&T, and Sprint, among others.
  • CRM information as referred to herein, is understood to refer to any suitable user-specific data, including personal information such as, for example, name, address, telephone number, email, client device location, and payment information.
  • a carrier system typically stores CRM information associated with its users. Attempts are made by the carrier system to keep its stored CRM information secure because of the sensitive nature of the personal information contained therein.
  • a system configured to access CRM information stored at the carrier system and to provide the CRM information to a client device to be used in, for example, a transaction between the client device and a separate merchant system.
  • this is accomplished by identifying the client device, authenticating the user of the client device, and providing the client device with the ability to make application programming interface (API) calls to the carrier system (e.g., directly or through a conduit aggregator system trusted by the carrier system).
  • API application programming interface
  • the client device may use the CRM information accessed from the carrier system for any suitable purpose, including, for example, populating corresponding fields of a form to be electronically submitted to a merchant system as part of a transaction.
  • the term “transaction” shall be understood to include within its scope any suitable transaction, registration, any other suitable process, or any combination thereof.
  • a client device may use data corresponding to at least a subset of the CRM information to pre-populate data fields for a purchase transaction with a merchant system.
  • FIG. 1 is a block diagram of illustrative systems and devices implemented in a network environment in accordance with some embodiments of the present disclosure.
  • Aggregator system 100 , merchant system 102 , carrier system 104 , and client device 106 may be coupled via network 108 .
  • Network 108 may include or communicate with any suitable one or more network structure or structures, such any suitable local area network (LAN), wide area network (WAN) (e.g., the internet), wireless local area network (WLAN), a mobile communications network, any other suitable network, or any combination thereof.
  • LAN local area network
  • WAN wide area network
  • WLAN wireless local area network
  • mobile communications network any other suitable network, or any combination thereof.
  • network 108 may be a carrier network provided and operated by carrier system 104 .
  • the lines coupling network 108 to the various systems and devices may represent a wireless coupling, a wired coupling, any other suitable coupling, or any combination thereof.
  • devices and systems may be connected to network 108 through a WiFi or Ethernet connection, with access to the internet.
  • client device 106 may be coupled to network 108 using one or more mobile communications networks, such as a 3G, 4G, LTE, cellular network, any other suitable mobile communications network, or any combination thereof.
  • Aggregator system 100 may be any suitable system which acts as an intermediary between two or more systems, such as between client device 106 and carrier system 104 , merchant system 102 and carrier system 104 , client device 106 and merchant system 102 , between any other systems and devices, or any combination thereof.
  • Aggregator system 100 may act as an intermediary by facilitating the communication of information, such as payment information (e.g. credit card information, PayPal information, routing number data, bank account information, billing address, legal name, social security number, any other suitable information related to making a payment, or any combination thereof) and/or registration information (e.g., name, address, email, phone number, social security number, payment information, any other suitable information, or any combination thereof), between two systems.
  • payment information e.g. credit card information, PayPal information, routing number data, bank account information, billing address, legal name, social security number, any other suitable information related to making a payment, or any combination thereof
  • registration information e.g., name, address, email, phone number, social security number,
  • Aggregator system 100 may be trusted by carrier system 104 , and may access CRM information stored in carrier system 104 for secure communication to merchant system 102 or client device 106 .
  • An example of aggregator system 100 is the system developed and operated by Danal Inc. (doing business as BilltoMobile) located in San Jose, Calif., which provides mobile payment services to merchants using data provided by United States carrier systems.
  • aggregator system 100 may be configured to provide CRM information to client device 106 or merchant system 102 for use in a transaction via network 108 .
  • Merchant system 102 may be any suitable one or more entities capable of entering into a transaction with a client device. Examples of a transaction include a purchase transaction for goods, services, or both provided by merchant system 102 , a money transfer, a bill payment, a transaction that results in access to banking information, banking services, or both, any other suitable transaction, or any combination thereof.
  • Merchant system 102 may include, for example, a web server that publishes a website which requires personal information (e.g., payment information, registration information). Examples of merchant system 102 include systems operated by Amazon.com, Citibank, freecreditscore.com, among others.
  • merchant system 102 may be configured to communicate with client device 106 (e.g., enable a transaction) using network 108 .
  • Carrier system 104 may be any suitable system which provides mobile network services to client device 106 .
  • Providing mobile network services to client device 106 may include providing a carrier network to client device 106 .
  • a carrier system may be a system operated by Verizon, Sprint, or AT&T.
  • Client device 106 is any suitable hardware, software, or both that can be used to conduct a transaction with merchant system 102 using the carrier network provided by carrier system 104 .
  • a client device of the present disclosure may be a mobile phone.
  • a mobile phone may be associated with a mobile phone number, a carrier system, any other mobile phone identification information, or any combination thereof.
  • a client device may be a tablet device, laptop device, any other suitable client device, mobile or otherwise, or any combination thereof.
  • carrier system 104 may include or have access to CRM information associated with client device 106 , and may be configured to communicate the CRM information to aggregator system 100 via network 108 .
  • FIG. 2 is block diagram showing illustrative paths of communication between the systems and devices of FIG. 1 in accordance with some embodiments of the present disclosure.
  • Aggregator system 202 may be configured to communicate with merchant system 204 , carrier system 208 , and client device 206 via communications channels 210 , 212 , and 218 respectively.
  • Merchant system 204 may be configured to communicate with aggregator system 202 and client device 206 via communication channels 210 and 218 respectively.
  • Client device 206 may be configured to communicate with merchant system 204 , aggregator system 202 , and carrier system 208 via communication channels 216 , 218 , and 214 respectively.
  • Carrier system 208 may be configured to communicate with aggregator system 202 and client device 206 via communication channels 212 and 214 respectively.
  • Communication between systems and devices may include communicating over a network, such as network 108 of FIG. 1 , and may include receiving data, sending data, or both.
  • FIG. 3 is a block diagram of illustrative aggregator system 300 in accordance with some embodiments of the present disclosure.
  • Aggregator system 300 may be any suitable aggregator system, such as aggregator system 100 of FIG. 1 or aggregator system 202 of FIG. 2 .
  • aggregator system 300 may be implemented in a network environment, such as that of FIG. 1 .
  • Aggregator system 300 may include any suitable software, hardware, or both configured to implement the features as described herein.
  • aggregator system 300 may include server hardware and software.
  • Aggregator system 300 may include communication circuitry 302 , storage system 322 , and processing equipment 320 .
  • Communication circuitry 302 may be configured with any suitable software, hardwired instructions, or both to communicate with database 304 and processing equipment 320 , and may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof.
  • An input or output is a relative communication channel that can be used to receive or send data, respectively.
  • a communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof.
  • Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof.
  • aggregator system 300 may include a carrier input coupled to a carrier system and configured to receive data from the carrier system, a carrier output coupled to the carrier system and configured to output data to the carrier system, a merchant input coupled to a merchant system and configured to receive data from the merchant system, a merchant output coupled to the merchant system and configured to output data to the merchant system, a client device input coupled to a client device and configured to receive data from the client device, a client device output coupled to the client device and configured to output data to the client device, any other suitable input or output, or any combination thereof.
  • communication circuitry 302 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices.
  • Storage system 322 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing one or more databases and information related to, for example, merchant data, client device data, user data, authentication, rules, and carrier data.
  • storage system 322 may include database 304 .
  • storage system 322 may store information which is not stored in database 304 , such as information related to, for example application programming interfaces (APIs), HTML for content pages, any other suitable information, and any combination thereof.
  • APIs application programming interfaces
  • HTML HyperText Markup Language
  • Database 304 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing information related to, for example, merchant data, client device data, user data, and carrier data.
  • Information related to merchant data may include, for example, stock keeping units (SKUs) related to goods for sale, customer service contact information (e.g., a phone number, an email address, a hyperlink for a website), data related to criteria for revoking authentication, any other merchant data, or any combination thereof.
  • Information related to client device data may include, for example, a mobile device number, identification information associated with a client device, any other client device data, or any combination thereof.
  • database 304 may store encrypted information.
  • hashed information may be generated using a hash operation, and the hashed information may be stored in database 304 .
  • aggregator system 300 or any processing equipment or database thereof, such as database 304 , may temporarily store CRM information associated with a user solely for the purpose of providing information where aggregator system 300 acts as an intermediary between systems and client devices, such that the user's privacy is preserved.
  • aggregator system 300 may temporarily store CRM information associated with a user of a client device until the information is communicated to a merchant system, where aggregator system 300 is configured to act as an intermediary between the merchant system and the client device.
  • aggregator system 300 or any processing equipment or database thereof is deemed to be a trusted system by a carrier system that stores CRM information, and if permission is granted to aggregator system 300 by the carrier system, then aggregator system 300 or any processing equipment or database thereof may be configured to store CRM information.
  • Processing equipment 320 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a client device, a merchant system, a carrier system, or any other suitable system or device), process data to be output to other systems and devices, generate data (e.g., generate authentication information), analyze data (e.g., identify a client device based on identification information), and perform other tasks.
  • other systems and devices e.g., a client device, a merchant system, a carrier system, or any other suitable system or device
  • process data to be output to other systems and devices e.g., generate authentication information
  • analyze data e.g., identify a client device based on identification information
  • processing equipment 320 may include one or more circuitries for performing the functionality as described herein, such as client device identification circuitry 306 , authentication circuitry 308 , credential engine 310 , transaction processing circuitry 312 , request processing circuitry 314 , data verification circuitry 316 , data integration circuitry 318 , any other suitable processing equipment, or any combination thereof.
  • the circuitries within processing equipment 320 may communicate with one another to implement the features as described herein. Additionally, the circuitries within processing equipment 320 may all be implemented together on one or more devices.
  • processing equipment 320 may communicate with communication circuitry 302 and database 304 to retrieve or transmit information (e.g. identification information, authentication information, any other suitable information, or any combination thereof). For example, processing equipment 320 may send identifying information associated with a client device, such as a mobile phone number, to database 304 to retrieve additional information related to the client device or user in possession of the client device.
  • Client device identification circuitry 306 may be configured with any suitable software, hardwired instructions, or both to identify a client device based on client device identification information.
  • client device identification circuitry 306 may be at least a portion of one or more integrated circuit processors. Identifying a client device may enable aggregator system 300 to access information associated with the client device, to communicate with the client device, to authenticate the client device, to process a transaction on the client device, to perform any other suitable action, or any combination thereof.
  • a client device may be identified, for example, by way of a mobile originated (MO) message identification technique, a mobile terminated (MT) identification technique, a header enrichment identification technique, any other suitable identification technique, or any combination thereof.
  • MO mobile originated
  • MT mobile terminated
  • client device identification circuitry 306 may be configured to store client device identification information in a database, such as database 304 , and may be configured to identify a client device based at least in part on information stored in database 304 .
  • Client device identification information may include, for example, information identifying a mobile phone number associated with the client device, information identifying a carrier system associated with the client device, information identifying software or hardware of the client device, information identifying a user in possession of the client device, any other suitable identification information, or any combination thereof.
  • client device identification circuitry 306 may identify a client device by identifying and storing a mobile phone number associated with a client device based on client device identification information which is received from a carrier system.
  • Authentication circuitry 308 may be configured with any suitable software, hardwired instructions, or both to authenticate a client device.
  • authentication circuitry 308 may be at least a portion of one or more integrated circuit processors.
  • authenticating a client device may allow the client device to receive or request protected information (e.g., payment information), for example, as a part of a transaction.
  • Authenticating a client device may include authenticating a user in possession of the client device.
  • authenticating a user in possession of a client device may include verifying the identity of the user.
  • Verifying a user's identity may include, for example, requesting the user to provide uniquely identifying information, requesting the user to provide a unique one-time pin, requesting the user to send a particular MO message, requesting the user to send a particular silent MO message, requesting the user to complete any other suitable request, or any combination thereof.
  • authenticating a client device may include comparing any provided information related to a user in possession of a client device to any information stored in database 304 , for example, to detect differences between the provided information and the information stored in database 304 .
  • authentication circuitry 308 may be further configured to generate data which can be used to prove authentication, such as authentication keys, credential information, any other suitable information, or any combination thereof. For example, authentication circuitry 308 may be configured to generate credentials for an authenticated user in possession of a client device.
  • Credential engine 310 may be any suitable hardware, software, or both configured to determine criteria for revoking authentication for an identified client device. Revoking authentication for an identified client device may prohibit the client device from participating in interactions which require authentication (e.g., requesting protected information for use in a transaction). In some embodiments, revoking authentication for an identified client device may include invalidating credentials for an authenticated user in possession of the client device. Credential engine 310 may be configured to define criteria based on rules for revoking authentication received from a plurality of interested parties. Criteria may include events and conditions which, when met, indicate that authentication should be revoked. The rules received from a plurality of interested parties may comprise multiple types, and in some embodiments credential engine 310 may determine criteria which comprise only one rule of each type.
  • Credential engine 310 may be configured to combine rules received from a plurality of interested parties based on a priority associated with each rules.
  • Interested parties may be any suitable source from which information associated with the client device may be received (e.g. carrier systems, financial institutions, utility companies, government organizations, universities, schools, any other suitable sources, or any combination thereof), a country in which the client device operates, any other suitable interested party, or any combination thereof.
  • Transaction processing circuitry 312 may be configured with any suitable software, hardwired instructions, or both to process a transaction on a client device, such as client device 106 of FIG. 1 .
  • transaction processing circuitry 312 may be at least a portion of one or more integrated circuit processors.
  • transaction processing circuitry 312 may use information stored in database 304 to process a transaction. Processing a transaction may include, for example, submitting payment information, completing a sale, any other suitable process, or any combination thereof.
  • a user attempting to make a purchase transaction on a client device may be redirected from a webpage of a merchant system to a webpage associated with aggregator system 300 , and transaction processing circuitry 312 may process the purchase transaction.
  • Request processing circuitry 314 may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, such as merchant system 102 of FIG. 1 , carrier system 104 of FIG. 1 , and client device 106 of FIG. 1 .
  • request processing circuitry 314 may be at least a portion of one or more integrated circuit processors. Requests may include a request to output information, a request to accept information, such as a rule, a request to validate information, a request to process a transaction, any other suitable request, or any combination thereof.
  • one or more requests may be received by communication circuitry 302 , and passed from communication circuitry 302 to request processing circuitry 314 .
  • Request processing circuitry 314 may determine any suitable response to each of the one or more requests, such as processing information, retrieving information, transmitting information, any other suitable response, or any combination thereof.
  • request processing circuitry 314 may be configured to process and/or respond to requests received from other circuitries within processing equipment 320 .
  • request processing circuitry 314 may receive a request for information associated with a client device, and may in response retrieve information from database 304 and communicate the information to communication circuitry 302 to be output.
  • Data verification circuitry 316 may be configured with any suitable software, hardwired instructions, or both to verify information associated with a client device, such as client device 106 of FIG. 1 .
  • data verification module 316 may be at least a portion of one or more integrated circuit processors.
  • aggregator system 300 may receive information associated with a client device from one or more sources, and data verification circuitry 316 may be configured to verify the information.
  • request processing circuitry 314 may receive a request from a merchant system to verify information associated with a client device, and data verification circuitry 316 may verify the information.
  • Verification may include comparing received information to information stored in database 304 , comparing received information to information received from one or more sources, deterministic matching, probabilistic matching, fuzzy matching, any other suitable verification technique, or any combination thereof.
  • verifying information associated with a client device may include verifying information associated with a user in possession of the client device.
  • Data integration circuitry 318 may be configured with any suitable software, hardwired instructions, or both to integrate information associated with a client device which is received from one or more sources.
  • data integration circuitry 318 may be at least a portion of one or more integrated circuit processors.
  • aggregator system 300 may receive information associated with a client device from one or more sources, and data integration circuitry 318 may integrate the data received from the one or more sources.
  • Data integration may include, for example, eliminating inconsistencies between information from different sources or between information received from one source and information stored in a database (e.g., database 304 ), eliminating duplicate information from different sources or between information received from one source and information stored in a database (e.g., database 304 ), any other suitable integration technique, or any combination thereof.
  • Sources may include interested parties such as, for example, carrier systems, financial institutions, utility companies, government organizations, universities, schools, any other suitable sources, or any combination thereof.
  • FIG. 4 is a block diagram of illustrative merchant system 400 in accordance with some embodiments of the present disclosure.
  • Merchant system 400 may be any suitable merchant system, for example, merchant system 102 of FIG. 1 or merchant system 204 of FIG. 2 .
  • merchant system 400 may be implemented in a network environment, such as that of FIG. 1 .
  • Merchant system 400 may include any suitable software, hardware, or both configured to implement the features as described herein.
  • merchant system 400 may include server hardware and software.
  • Merchant system 400 may include communication circuitry 402 , storage system 416 , and processing equipment 412 .
  • Communication circuitry 402 may be configured with any suitable software, hardwired instructions, or both to communicate with database 414 and processing equipment 412 , and may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof.
  • An input or output is a relative communication channel that can be used to receive or send data, respectively.
  • a communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof.
  • Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof.
  • merchant system 400 may include a carrier input coupled to a carrier system and configured to receive data from the carrier system, a carrier output coupled to the carrier system and configured to output data to the carrier system, an aggregator input coupled to an aggregator system and configured to receive data from the aggregator system, an aggregator output coupled to the aggregator system and configured to output data to the aggregator system, a client device input coupled to a client device and configured to receive data from the client device, a client device output coupled to the client device and configured to output data to the client device, any other suitable input or output, or any combination thereof.
  • merchant system 400 need not be able to communicate with a carrier system in preferred embodiments of the present invention. While different inputs and outputs are described, it will be understood that they need not be separate components and two or more of the inputs and/or outputs may, indeed be implemented as a single component that can be used to send or receive data relative to more than one destination or source, respectively.
  • communication circuitry 402 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices.
  • Storage system 416 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing one or more databases and information related to, for example, merchant data, client device data, user data, authentication, rules, and carrier data.
  • storage system 416 may include database 414 .
  • storage system 416 may store information which is not stored in database 414 , such as information related to merchant data, for example APIs, HTML for content pages, any other suitable information, and any combination thereof.
  • merchant system 400 may be configured to communicate any information stored in storage system 416 or in database 414 to a trusted aggregator system, such as aggregator system 300 .
  • Database 414 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing information related to, for example, merchant data, client device data, user data, and carrier data.
  • Information related to merchant data may include, for example, SKUs related to goods for sale, customer service contact information (e.g., a phone number, an email address, a hyperlink for a website), payload information, data related to criteria for revoking authentication, any other merchant data, or any combination thereof.
  • Information related to client device data may include, for example, a mobile device number, identification information associated with a client device, any other client device data, or any combination thereof.
  • Information related to user data may include, for example, authentication information for an authenticated user, credential information for an authenticated user, any other user related information, or any combination thereof.
  • Carrier data may include, for example, the carrier network associated with a client device.
  • database 414 may store information in an encrypted form. For example, hashed information may be generated using a hash operation, and the hashed information may be stored in database 414 .
  • Processing equipment 412 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a client device, an aggregator system, or any other suitable system or device), process data to be output to other systems and devices, generate data, analyze data (e.g., confirm authentication information provided by a client device), and perform other tasks.
  • processing equipment 412 may include one or more circuitries for performing the functionality as described herein, such as payload generation circuitry 404 , encryption circuitry 406 , request processing circuitry 408 , transaction processing circuitry 410 , any other suitable processing equipment, or any combination thereof.
  • the circuitries within processing equipment 412 may communicate with one another to implement the features described herein.
  • processing equipment 412 may all be implemented together on one or more devices.
  • Processing equipment 412 may communicate with communication circuitry 402 and database 414 to retrieve and/or transmit information.
  • processing equipment 412 may retrieve credential information associated with a user in possession of a client device from database 414 before allowing a transaction to be made on the client device.
  • Payload generation circuitry 404 may be configured with any suitable software, hardwired instructions, or both to generate a payload.
  • payload generation circuitry 404 may be at least a portion of one or more integrated circuit processors.
  • a payload is data which allows a client device to initiate communication (e.g., through API calls) with an aggregator system.
  • a payload may be generated by payload generation circuitry 404 , subsequently passed to encryption circuitry 406 to be encrypted, and the encrypted payload may be passed to a client device, such as client device 106 of FIG. 1 .
  • a payload may be generated by combining correlation identification information, a timestamp value, and a nonce value.
  • Correlation identification information may include, for example, merchant generated identification information which is associated with a particular client device transaction.
  • correlation identification information may be a user identification value (e.g. a user ID) associated with a user in possession of a client device.
  • a timestamp value may include, for example the current date and time.
  • a timestamp value may be expressed in the format “yyyyMMddHHmmss”, where “yyyy” represents the current year, “MM” represents the current month, “dd” represents the current day, “HH” represents the hours, “mm” represents the current minutes, and “ss” represents the current seconds.
  • the timestamp value need not be expressed in the above described format, but may instead be expressed in any suitable format.
  • a nonce value may include, for example, a random value with a minimum length of 32 characters.
  • Encryption circuitry 406 may be configured with any suitable software, hardwired instructions, or both to encrypt, decrypt, or both information such as, for example, a payload, information to be stored in database 414 , any other suitable information, or any combination thereof.
  • encryption module 406 may be at least a portion of one or more integrated circuit processors. Encrypting information may protect the information from being stolen, hacked, or otherwise leaked to a source which does not have permission to access the information.
  • information may be encrypted using an encryption key, such as a symmetric key, an asymmetric key, any other suitable encryption method, or any combination thereof.
  • an aggregator system may provision a merchant system with an encryption key, and the merchant system may use the encryption key to encrypt information.
  • the advanced encryption standard (AES), or any other suitable strong symmetric-key block cipher should be used when information is encrypted by encryption circuitry 406 .
  • information to be encrypted may include a payload generated by payload generation circuitry 404 .
  • Merchant system 400 may pass a payload encrypted by encryption circuitry 406 to a client device, and the encrypted payload may facilitate client-initiated interaction between a client device and an aggregator system.
  • An encrypted payload may be unique for a client device, but not unique for each request made by the client device.
  • Request processing circuitry 408 may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, for example, carrier system 104 of FIG. 1 , aggregator system 100 of FIG. 1 , or client device 106 of FIG. 1 .
  • request processing circuitry 408 may be at least a portion of one or more integrated circuit processors. Requests may include a request to output information (e.g., identification information or authentication information), a request to accept information, any other suitable request, or any combination thereof.
  • one or more requests may be received by communication circuitry 402 and passed from communication circuitry 402 to request processing circuitry 408 .
  • Request processing circuitry 408 may determine an appropriate response to each of the one or more requests, for example, processing information, generating information, analyzing information, communicating with another circuitry within processing equipment 412 , transmitting data to database 414 , receiving data from database 414 , any other appropriate response, or any combination thereof. In some embodiments, request processing circuitry may process, respond to, or both, requests received from other circuitries within processing equipment 412 .
  • Transaction processing circuitry 410 may be configured with any suitable software, hardwired instructions, or both to process a transaction made on a client device.
  • transaction processing circuitry 410 may be at least a portion of one or more integrated circuit processors. Processing a transaction may include, for example, submitting payment information, completing a sale, any other suitable process, or any combination thereof.
  • a transaction may be a purchase transaction, a registration, any other suitable process, or any combination thereof.
  • transaction processing circuitry 410 may use data stored in database 414 to process a transaction.
  • transaction processing circuitry 410 may use data received from another system, such as an aggregator system, to process a transaction.
  • a client device may visit a website published by merchant system 400 to make a purchase transaction, and merchant system 400 may receive information from an aggregator system, such as aggregator system 100 of FIG. 1 , to process the purchase transaction.
  • transaction processing circuitry 410 may pre-populate transaction data fields with information received from another system or device, or information received from database 414 .
  • FIG. 5 is a block diagram of illustrative carrier system 500 in accordance with some embodiments of the present disclosure.
  • Carrier system 500 may be any suitable carrier system, such as carrier system 208 of FIG. 2 or carrier system 104 of FIG. 1 .
  • carrier system 500 may be implemented in a network environment, such as that of FIG. 1 .
  • Carrier system 500 may include any suitable software, hardware, or both configured to implement the features as described herein.
  • carrier system 500 may include server hardware and software.
  • Carrier system 500 may include communication circuitry 502 , storage system 518 , and processing equipment 516 .
  • Communication circuitry 502 may be configured with any suitable software, hardwired instructions, or both to communicate with database 514 and processing equipment 516 , and may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof.
  • An input or output is a relative communication channel that can be used to receive or send data, respectively.
  • a communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof.
  • Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof.
  • carrier system 500 may include an aggregator input coupled to an aggregator system and configured to receive data from the aggregator system, an aggregator output coupled to the aggregator system and configured to output data to the aggregator system, a merchant input coupled to a merchant system and configured to receive data from the merchant system, a merchant output coupled to the merchant system and configured to output data to the merchant system, a client device input coupled to a client device and configured to receive data from the client device, a client device output coupled to the client device and configured to output data to the client device, any other suitable input or output, or any combination thereof.
  • carrier system 500 need not be able to communicate with a merchant system in preferred embodiments of the present invention. While different inputs and outputs are described, it will be understood that they need not be separate components and two or more of the inputs and/or outputs may, indeed be implemented as a single component that can be used to send or receive data relative to more than one destination or source, respectively.
  • communication circuitry 502 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices.
  • Storage system 518 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing one or more databases and information related to, for example, account data, rules, and CRM information associated with a user in possession of a client device.
  • storage system 518 may include database 514 .
  • storage system 518 may store information which is not stored in database 514 , and carrier system 500 may be configured to communicate such information to a trusted aggregator system, such as aggregator system 300 .
  • Database 514 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing information related to, for example, account data and CRM information associated with a user in possession of a client device.
  • database 514 may store information in an encrypted form.
  • hashed information may be generated using a hash operation, and the hashed information may be stored in database 514 .
  • Processing equipment 516 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a client device, an aggregator system, or any other suitable system or device), process data to be output to other systems and devices (e.g., CRM information), and perform other tasks.
  • processing equipment 516 may include one or more circuitries for performing the functionality as described herein, such as header enrichment circuitry 504 , message creation circuitry 506 , redirect circuitry 508 , request processing circuitry 510 , CRM information retrieval circuitry 512 , any other suitable processing equipment, or any combination thereof.
  • the circuitries within processing equipment 516 may communicate with one another to implement the features as described herein.
  • processing equipment 516 may all be implemented together on one or more devices.
  • Processing equipment 516 may be configured to communicate with communication circuitry 502 and database 514 to retrieve and/or transmit information related to user account data, CRM information, any other information, or any combination thereof.
  • Header enrichment circuitry 504 may be configured with any suitable software, hardwired instructions, or both to insert one or more headers (e.g., a hypertext transfer protocol (http) header) into a request or response, such as an http redirect request or response.
  • header enrichment circuitry 504 may be at least a portion of one or more integrated circuit processors.
  • An http redirect request and/or response may include a message header, and an http header may be inserted into the message header.
  • http headers inserted into an http redirect request may include client device identification information, and a system receiving an http response where http headers were inserted in a corresponding http request may extract the client device identification information for use or storage (e.g., for use in identifying a client device).
  • a client device on a carrier network operated by carrier system 500 may be redirected from a website published by a merchant system to a website published by an aggregator system using an http redirect request processed by carrier system 500 , and header enrichment circuitry 504 may insert one or more http headers in the http redirect request.
  • Message creation circuitry 506 may be configured with any suitable software, hardwired instructions, or both to create a message such as, for example, a short message service (SMS) message, a silent SMS message, any other suitable type of message, or any combination thereof.
  • SMS short message service
  • message creation circuitry 506 may be at least a portion of one or more integrated circuit processors.
  • message creation circuitry 506 may be configured to generate an SMS message in response to a request from another system or device, such as aggregator system 100 of FIG. 1 or client device 106 of FIG. 1 .
  • carrier system 500 may receive a request to generate an SMS message and send it to a client device, and message creation circuitry may create the SMS message and may specify that the message should be sent to the mobile phone number of the client device.
  • Redirect circuitry 508 may be configured with any suitable software, hardwired instructions, or both to redirect, for example, a request, information, or both from one system to another system.
  • redirect circuitry 508 may be at least a portion of one or more integrated circuit processors.
  • redirect circuitry 508 may be configured to redirect an SMS message from one system or device to another system or device.
  • redirect circuitry 508 may be configured to perform an http redirect from a website associated with one system to a website associated with another system.
  • Redirect circuitry 508 may additionally be configured to perform any other suitable redirect from one system to another system.
  • redirect circuitry 508 may receive instructions which cause the redirect to be performed. In some embodiments, redirect circuitry 508 may receive such instructions from request processing circuitry 410 .
  • Request processing circuitry 510 may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, for example, aggregator system 100 of FIG. 1 or client device 106 of FIG. 1 .
  • request processing circuitry 510 may be at least a portion of one or more integrated circuit processors. Requests may include a request for information, such as user account information or CRM information, any other suitable request, or any combination thereof.
  • One or more requests may be received by communication circuitry 502 and passed from communication circuitry 502 to request processing circuitry 510 .
  • Request processing circuitry 510 may determine a suitable response to each of the one or more requests, such as processing information, communicating with another circuitry within processing equipment 516 , transmitting data to database 514 , receiving data from database 514 , any other appropriate response, or any combination thereof. In some embodiments, request processing circuitry 510 may process, respond, or both to requests received from other circuitries within processing equipment 516 .
  • CRM information retrieval circuitry 512 may be configured with any suitable software, hardwired instructions, or both to retrieve CRM information associated with a client device.
  • CRM information retrieval circuitry 512 may be at least a portion of one or more integrated circuit processors.
  • CRM information may include information related to an account associated with a user in possession of a client device (e.g., payment information, name, address, social security number, etc.), or any other suitable information which may be obtained through interactions between carrier system 500 and a client device. It should be understood that protected information associated with a user, such as a social security number, may only be accessed by trusted systems and devices to which permission has been granted by the user.
  • CRM information retrieval circuitry 512 may be configured to retrieve appropriate CRM information from database 514 .
  • CRM information retrieval circuitry 512 may be configured to retrieve appropriate CRM information in response to a request received from request processing circuitry 510 .
  • an aggregator system such as aggregator system 100 of FIG. 1 , may request CRM information associated with an identified client device from carrier system 500 , and CRM information retrieval circuitry 512 may retrieve the requested CRM information and provide it to communication circuitry 502 to be output to the aggregator system.
  • FIG. 6 is a block diagram of illustrative client device 600 in accordance with some embodiments of the present disclosure.
  • Client device 600 may be any suitable client device, such as client device 206 of FIG. 2 or client device 106 of FIG. 1 .
  • client device 600 may be implemented in a network environment, such as that of FIG. 1 .
  • Client device 600 may include any suitable software, hardware, or both configured to implement the features as described herein.
  • Client device 600 may include display 602 , communication circuitry 616 , power supply 622 , speaker 610 , microphone 612 , keyboard 614 , memory 608 , and processing equipment 620 .
  • Display 602 may be configured to display any information stored on or received by client device 600 in any suitable format. Information displayed may include, for example, information requested by a user of client device 600 , information related to client device 600 , information related to a transaction, information related to an mobile application, information received from another system or device, information to be sent to another system or device, an SMS message, any other suitable information, or any combination thereof.
  • Display 602 may be, for example, a flat panel display such as a liquid crystal display, plasma display, any other suitable display, or any combination thereof.
  • Power supply 622 may be configured to supply power to client device 600 .
  • Power supply 622 may be any suitable internal or external power source such as, for example, a battery.
  • Speaker 610 may be configured to provide audible sound.
  • the audible sound may be related to a phone call on client device 600 , an application running on client device 600 , an alarm set on client device 600 , a transaction, any other suitable process or application, or any combination thereof.
  • Microphone 612 may be configured to receive user input such as, for example, audible user input.
  • the inputs received by microphone 612 may include information related to, for example, a phone call on client device 600 , a user in possession of client device 600 , a transaction, any other suitable information, or any combination thereof.
  • Keyboard 614 may be configured to receive user input such as, for example, text input.
  • the inputs received by keyboard 614 may be information related to, for example, a message stored on or created on client device 600 , a user in possession of client device 600 , a transaction, any other suitable information, or any combination thereof.
  • Communication circuitry 616 may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof. Communication circuitry 616 may be configured with any suitable software, hardwired instructions, or both. An input or output is a relative communication channel that can be used to receive or send data, respectively. A communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof. Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof.
  • client device 600 may include a carrier input coupled to a carrier system and configured to receive data from the carrier system, a carrier output coupled to the carrier system and configured to output data to the carrier system, a merchant input coupled to a merchant system and configured to receive data from the merchant system, a merchant output coupled to the merchant system and configured to output data to the merchant system, an aggregator input coupled to an aggregator system and configured to receive data from the aggregator system, an aggregator output coupled to the aggregator system and configured to output data to the aggregator system, any other suitable input or output, or any combination thereof.
  • communication circuitry 616 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices.
  • Communication circuitry 616 may be configured to communicate with memory 608 , processing equipment 620 , speaker 610 , microphone 612 , keyboard 614 , power supply 622 , and display 602 .
  • Memory 608 may be one or more suitable memory devices such as, for example, a hard disk drive, flash memory, random access memory (RAM), an optical disk, any other suitable memory device, or any combination thereof.
  • Memory 608 may include identification information 604 and other information 606 .
  • Identification information 604 may include any suitable identification information related to client device 600 .
  • identification information 604 may include information identifying hardware or software of client device 600 , information identifying a mobile phone number associated with client device 600 , information identifying a device model of client device 600 , information identifying a user in possession of client device 600 , information identifying a carrier system associated with client device 600 , any other suitable identification information, or any combination thereof.
  • Other information 606 may include any information stored in memory 608 other than identification information 604 .
  • other information 606 may store information related to applications, messaging, photos and videos, transactions, merchants, networks, capacity and storage, any other suitable information, or any combination thereof.
  • Processing equipment 620 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a merchant system, a carrier system, an aggregator system, or any other suitable system or device), process data to be output to other systems and devices, process data related to mobile applications, and perform other tasks.
  • processing equipment 620 may include one or more circuitries for performing the functionality as described herein, such as authentication circuitry 616 , processing circuitry 618 , any other suitable processing equipment, or any combination thereof.
  • the circuitries within processing equipment 620 may communicate with one another to implement the features as described herein. Additionally, the circuitries within processing equipment 620 may all be implemented together on one or more devices.
  • Processing equipment 620 may be configured to communicate with communication circuitry 616 , memory 608 , speaker 610 , microphone 612 , keyboard 614 , power supply 622 , and display 602 .
  • Authentication circuitry 616 may be configured with any suitable software, hardwired instructions, or both to authenticate client device 600 .
  • authentication circuitry 616 may be at least a portion of one or more integrated circuit processors.
  • authenticating client device 600 may include authenticating a user in possession of client device 600 .
  • authentication circuitry 616 may communicate with a system, such as a merchant system or an aggregator system, via communication circuitry 616 , in order to authenticate client device 600 .
  • Authenticating client device 600 may include prompting a user in possession of client device 600 to input information. Information may be input via display 602 , keyboard 614 , microphone 612 , any other suitable user input, or any combination thereof.
  • authentication circuitry 616 may communicate with memory 608 to authenticate client device 600 .
  • memory 608 may store information received from an aggregator system, such as aggregator system 100 of FIG. 1 , and subsequent to prompting a user in possession of client device 600 for information, authentication circuitry 616 may compare the entered information to that stored in memory 608 .
  • Processing circuitry 618 may be configured with any suitable software, hardwired instructions, or both to implement any features other than authentication.
  • processing circuitry 618 may be at least a portion of one or more integrated circuit processors.
  • processing circuitry 618 may be configured to run applications, to compute information, to process instructions, to carry out functions related to client device operation, to carry out any other suitable operation or implementation, or any combination thereof.
  • FIG. 11 is a flow diagram including illustrative steps for outputting data corresponding to at least a subset of CRM information in accordance with some embodiments of the present disclosure.
  • the steps of FIG. 11 may be performed by an aggregator system, such as aggregator system 100 of FIG. 1 , aggregator system 202 of FIG. 2 , or aggregator system 300 of FIG. 3 .
  • client device identification information is received by an aggregator system.
  • client device identification information e.g., information identifying a mobile phone number associated with the client device, information identifying a carrier system associated with the client device, information identifying software or hardware of the client device, information identifying a user in possession of the client device, any other suitable identification information, or any combination thereof
  • client device identification information may be received from a carrier system.
  • client device identification information may be received from a merchant system.
  • an input may be used to receive the client device identification information.
  • communication circuitry 302 of FIG. 3 may be used to receive the client device identification information.
  • a client device may be identified by the aggregator system based on the client device identification information received at step 1102 .
  • the client device may be identified by processing equipment, such as client device identification circuitry 306 of FIG. 3 .
  • a client device may be identified using an MO identification technique, an MT identification technique, a header enrichment identification technique, any other suitable identification technique, or any combination thereof.
  • FIG. 7 is a block diagram showing an illustrative process flow in a system that implements a MO message client device identification technique in accordance with some embodiments of the present disclosure.
  • merchant system 702 may request the user of client device 704 to send an SMS message to a specified short code via communication path 708 .
  • the user of client device 704 may send an SMS message to the specified short code via communication path 710 .
  • Carrier system 706 may route the SMS message sent by client device 704 , along with client device identification information including the user's mobile phone number, to aggregator system 700 .
  • Aggregator system 700 may receive the SMS message and client device identification information routed by carrier system 706 , and subsequently may identify the client device at 714 . Identifying the client device may include storing the received client device identification information, including the user's mobile phone number, in a database of aggregator system 700 , such as database 304 .
  • Merchant system 702 may be any suitable merchant system, such as merchant system 400 of FIG. 4 , merchant system 204 of FIG. 2 , or merchant system 102 of FIG. 1 .
  • Client device 704 may be any suitable client device, such as client device 600 of FIG. 6 , client device 206 of FIG. 2 , or client device 106 of FIG. 1 .
  • Carrier system 706 may be any suitable carrier system, such as carrier system 500 of FIG.
  • Aggregator system 700 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3 , aggregator system 202 of FIG. 2 , or aggregator system 100 of FIG. 1 .
  • a client device may be identified at step 1104 using an MT message identification technique, as shown in FIG. 8 .
  • merchant system 802 provides aggregator system 800 with the mobile phone number of the user of client device 804 , and requests aggregator system 800 to send a unique PIN to client device 804 .
  • Merchant system 802 may provide the mobile phone number and make the request to aggregator system 800 via communication path 808 .
  • aggregator system 800 may generate a unique PIN at 810 .
  • Aggregator system 800 sends an SMS message identifying the unique PIN which is routed to carrier system 806 via communication path 812 , and routed from carrier system 806 to client device 804 via communication path 814 . Subsequent to receiving the SMS message with unique PIN, client device 804 communicates the unique PIN to merchant system 802 via communication path 816 . Merchant system 802 then requests aggregator system 800 to validate the unique PIN communicated by client device 804 via communication path 818 . Aggregator system 800 may validate the unique PIN by comparing the unique PIN communicated by client device 804 against the unique PIN generated at step 810 . If aggregator system 800 determines that the unique PIN entered by client device 804 matches the unique PIN generated at step 810 , then identification is successful.
  • Merchant system 802 may be any suitable merchant system, such as merchant system 400 of FIG. 4 , merchant system 204 of FIG. 2 , or merchant system 102 of FIG. 1 .
  • Client device 804 may be any suitable client device, such as client device 600 of FIG. 6 , client device 206 of FIG. 2 , or client device 106 of FIG. 1 .
  • Carrier system 806 may be any suitable carrier system, such as carrier system 500 of FIG. 5 , carrier system 208 of FIG. 2 , or carrier system 104 of FIG. 1 .
  • Aggregator system 800 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3 , aggregator system 202 of FIG. 2 , or aggregator system 100 of FIG. 1 .
  • a client device may be identified at step 1104 using a header enrichment identification technique, as shown in FIG. 9 .
  • client device 904 communicates with merchant system 902 and carrier system 906 via a carrier network.
  • client device 904 Upon initiating communication with merchant system 902 , client device 904 is redirected to aggregator system 900 via carrier system 906 .
  • Client device 904 may initiate communication with merchant system 902 , for example, by accessing a webpage associated with merchant system 902 .
  • Merchant system 902 sends the redirect request via communication path 908 , and the client device is redirected by carrier system 906 to aggregator system 900 via communication paths 910 and 912 .
  • Carrier system 906 inserts headers in the redirect request, and aggregator system 900 identifies client device 904 at 914 based on client device identification information extracted from the headers.
  • aggregator system 900 may need to decrypt information in the headers before client device 904 can be identified.
  • aggregator system 900 may need to request additional information from carrier system 906 before client device 904 can be identified.
  • Merchant system 902 may subsequently request identification information associated client device 904 from aggregator system 900 via communication path 916 .
  • aggregator system 900 may redirect client device 904 back to merchant system 902 and return the requested identification information via communication path 918 .
  • Merchant system 902 may be any suitable merchant system, such as merchant system 400 of FIG. 4 , merchant system 204 of FIG. 2 , or merchant system 102 of FIG. 1 .
  • Client device 904 may be any suitable client device such as client device 600 of FIG. 6 , client device 206 of FIG. 2 , or client device 106 of FIG. 1 .
  • Carrier system 906 may be any suitable carrier system such as carrier system 500 of FIG. 5 , carrier system 208 of FIG. 2 , or carrier system 104 of FIG. 1 .
  • Aggregator system 900 may be any suitable aggregator system such as aggregator system 300 of FIG. 3 , aggregator system 202 of FIG. 2 , or aggregator system 100 of FIG. 1 .
  • a user in possession of the identified client device may be authenticated by the aggregator system.
  • processing equipment such as authentication circuitry 308 may be used to authenticate the client device at step 1106 .
  • authenticating a user may include verifying the identity of the user. Verifying a user may include, for example, requesting uniquely identifying information from the user, requesting the user to confirm a unique PIN sent to the user's client device, requesting the user to send a specific MO message, requesting the user to send a specific silent MO message, any other suitable verification technique or request, or any combination thereof.
  • Authenticating a user may additionally include comparing any information provided by the user in possession of the client device to any information stored in a database of the aggregator system, such as database 304 , determining that the client device has not been identified as being stolen, determining that the client device has not been associated with a fraud event, any other suitable process or analysis, or any combination thereof.
  • the aggregator system may determine whether or not the user in possession of the client device has been authenticated. If at step 1108 the aggregator system determines that the user of the client device has not been authenticated, step 1106 will be repeated and the aggregator system will attempt to authenticate the user in possession of the client device again. In some embodiments, authentication may only be attempted a limited number of times, for example, three times. If at step 1108 the aggregator system determines that the user in possession of the client device has been authenticated, the aggregator system may proceed to step 1110 .
  • the aggregator system may determine whether or not user consent has been received.
  • User consent may be provided by the user in possession of the client device, and may be requested by the aggregator system or a merchant system.
  • User consent may indicate permission for the aggregator system to retrieve protected consumer and payment information, such as CRM information.
  • the aggregator system may send the client device a message requesting permission to retrieve protected information (e.g., CRM information), and in response the user in possession of the client device may reply with or select an indication which grants or denies permission.
  • User consent may be requested and/or received by the aggregator system using inputs and/or outputs, such as communication circuitry 302 of FIG. 3 . If at step 1110 the aggregator system determines that user consent has been received, the aggregator system may proceed to step 1112 .
  • the aggregator system may receive CRM information associated with the identified client device.
  • the CRM information may be associated with a user in possession of the client device, and may include information such as payment information, registration information, any other suitable information, protected or not, or any combination thereof.
  • the CRM information may be received from a carrier system, such as carrier system 104 of FIG. 1 , and may be based on transactions between the carrier system and the user of the client device.
  • the CRM information need not be received from a carrier system, and may be received from any other suitable source such as financial institutions, utility companies, government organizations, universities, schools, any other suitable sources, or any combination thereof.
  • the CRM information may be received using an input, such as, for example, communication circuitry 302 of FIG. 3 .
  • the aggregator system may output data corresponding to at least a subset of the CRM information.
  • Data corresponding to at least a subset of the CRM information may be output using, for example, communication circuitry 302 of FIG. 3 .
  • data corresponding to at least a subset of the CRM information may include a user's first and last name, credit card or bank account information, address, and email information.
  • the data may be output to a client device for use in a transaction.
  • the data may be output to a merchant for use in a transaction.
  • the client device or a merchant system may be configured to pre-populate data fields based on the CRM information, as shown in FIG. 12 and FIG. 13 .
  • FIG. 12 shows a sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure.
  • Display 1200 shows blank registration data fields 1206 for a registration being made on a client device, such as client device 106 of FIG. 1 .
  • the registration may be, for example, a registration for a website published by a merchant, a club, an organization, a financial institution, any other suitable entity requiring registration, or any combination thereof.
  • the client device may pre-populate the data fields as shown in display 1202 .
  • Transitional arrow 1208 may represent the client device pre-populating the data fields 1206 .
  • a client device may re-populate fields using processing equipment, such as processing circuitry 618 of FIG. 6 .
  • Display 1202 illustrates registration data fields 1210 , which are completed with pre-populated information associated with the user in possession of the client device.
  • Display 1204 illustrates a confirmation screen on which the user may confirm the accuracy of the information 1214 which was used to pre-populate data fields 1206 on the client device.
  • Displays 1200 , 1202 , and 1204 all may be display screens of a client device, such as client device 106 of FIG. 1 , client device 206 of FIG. 2 , or client device 600 of FIG. 6 .
  • FIG. 13 shows another sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure.
  • Display 1300 illustrates transaction details, including purchase information, for a transaction being made on a client device, such as client device 106 of FIG. 1 .
  • the transaction may be, for example, a transaction for a sale of goods or services on a website published by a merchant system, a transaction to pay a bill, any other suitable transaction requiring payment information, or any combination thereof.
  • the client device may pre-populate data fields for the transaction with information, including payment information, at 1304 .
  • Display 1302 illustrates a confirmation screen on which the user of the client device may confirm the information, including payment information, which was used to pre-populate the transaction data fields at 1304 .
  • Displays 1300 and 1302 may be display screens of a client device, such as client device 106 of FIG. 1 , client device 206 of FIG. 2 , or client device 600 of FIG. 6 .
  • FIG. 10 shows an illustrative client-initiated interaction between a client device and an aggregator system in accordance with some embodiments of the present disclosure.
  • merchant system 1002 may provide client device 1004 with one or more JavaScript imports 1006 and an encrypted payload, such that client device 1004 may directly communicate with aggregator system 1000 .
  • JavaScript imports 1006 provided by merchant system 1002 may include a JQuery JavaScript import, an aggregator JavaScript API, any other suitable JavaScript imports, or any combination thereof.
  • An encrypted payload may be generated by merchant system 1002 at 1008 using processing equipment such as, for example, payload generation circuitry 404 of FIG. 4 and encryption circuitry 406 of FIG. 4 .
  • Merchant system 1002 may pass the encrypted payload to client device 1004 via communication path 1010 .
  • client device 1004 may perform a transaction by initiating an interaction with aggregator system 1000 using JavaScript imports 1006 and via communication path 1012 .
  • client device 1004 may make an identification API call to aggregate system 1000 using JavaScript imports 1006 .
  • An identification API call made by client device 1004 may include a request object, a success handler, an error handler, any other suitable parameter, or any combination thereof.
  • a request object provided by client device 1004 may include a method name, hashed merchant identification information, the encrypted payload, any additional method specific parameters, or any combination thereof.
  • a method name may specify, for example, an identification method, a method to retrieve information related to a user of client device 1004 , any other suitable method, or any combination thereof.
  • Hashed merchant identification information may be provided to client device 1004 by merchant system 1002 .
  • Merchant system 1002 may generate hashed merchant identification information by performing a hash operation on merchant identification information provided by aggregator system 1000 .
  • a success handler when activated, may allow the transaction being performed on client device 1004 to continue.
  • An error handler when activated, may cause the transaction being performed on client device 1004 to halt.
  • a successful identification call may identify the user of client device 1004 with aggregate system 1000 , and may return information related to the carrier system associated with client device 1004 to be used on subsequent API calls via communication path 1012 .
  • client device 1004 may make an API call requesting information to aggregate system 1000 using JavaScript imports 1006 .
  • Requested information may include, for example, CRM information, or any other information including protected information.
  • An API call requesting information made by client device 1004 may include a request object, a success handler, an error handler, and pre-populating parameter.
  • the request object, success handler, and error handler for an API call requesting information are the same as the request object, success handler, and error handler for an identification call as described above.
  • a pre-populating parameter may be have a value of true or false, and may indicate whether client device 1004 should pre-populate data fields in the transaction being performed on client device 1004 upon receiving the requested information.
  • a successful request for information call may return the requested information from aggregator system 1000 to client device 1004 along communication path 1012 .
  • client device 1004 may request information to complete a transaction, and may be configured to pre-populate data fields of the transaction with information returned by aggregator system 1000 . It should be understood that client device 1004 may make various other API calls to aggregator system 1000 , and is not limited to making identification calls and request for information calls.
  • Merchant system 1002 may be any suitable merchant system, such as merchant system 400 of FIG. 4 , merchant system 204 of FIG. 2 , or merchant system 102 of FIG. 1 .
  • Aggregator system 1000 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3 , aggregator system 202 of FIG. 2 or aggregator system 100 of FIG. 1 .
  • FIG. 14 is a block diagram showing detailed components of illustrative aggregator system 1412 in accordance with some embodiments of the present disclosure.
  • the aggregator system 1412 may include request processing circuitry 1400 , credential engine 1402 , transaction storage, analytics, persistent identification storage, any other suitable processing circuitries, storage components, or communication components, or any combination thereof.
  • Aggregator system 1412 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3 , aggregator system 202 of FIG. 2 or aggregator system 100 of FIG. 1 .
  • Credential engine 1402 may be credential engine 310 of FIG. 3 , and may be configured to determine credentials for revoking authentication of an identified client device.
  • an authenticated client device may receive credentials, and when authentication is revoked the credentials may be invalidated.
  • Credential engine 1402 may include merchant rules, provider rules, data rules, match score rules, risk management rules, data corroboration rules, any other suitable rules, or any combination thereof. Rules may define an event or condition, which when matched may cause authentication to be revoked.
  • credential engine 1402 may determine credentials based at least in part on these rules.
  • Credential engine 1402 may communicate with request processing circuitry 1400 . For example, request processing circuitry 1402 may pass rules to credential engine 1402 .
  • Request processing circuitry 1400 may be request processing circuitry 314 of FIG. 3 , and may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, such as client device 106 of FIG. 1 or carrier system 104 of FIG. 1 .
  • request processing circuitry 1400 may be at least a portion of one or more integrated circuit processors.
  • Request processing circuitry 1400 may include an acceptor, a validator, a data processor, a response deliverer, any other suitable component or processor, or any combination thereof.
  • the acceptor may accept a request, such as a request to consider a rule, and the validator, the data processor, the response deliverer, or any combination thereof, may be used to determine that the rule should be passed to credential engine 1402 .
  • Request processing circuitry 1400 may communicate with data provider adapters 1406 and API gateway 1404 , for example, to accept or respond to a request.
  • Data provider adapters 1406 may be configured to enable communication between data providers and aggregator system 1412 .
  • Data provider adapters may include carrier adapters configured to enable communication between carrier systems and aggregator system 1412 , and non-carrier adapters configured to enable communication between non-carrier systems and aggregator system 1412 .
  • Non-carrier systems may include financial institutions, utility companies, government organizations, universities, schools, any other suitable systems, or any combination thereof.
  • API gateway 1404 may enable interaction and communication between aggregator system 1412 and other systems or devices, such as client device 106 of FIG. 1 .
  • a client device may make an API call directly to aggregator system 1412 , such as an identification call or request for information call, and API gateway 1404 may enable such an interaction.
  • API gateway 1404 may include identification APIs, account APIs, consumer APIs, payment info APIs, match APIs, any other suitable APIs, or any combination thereof.
  • API gateway 1404 may communicate with client device software development kits (SDKs), such as mobile phone SDKs 1408 .
  • Phone SDKs 1408 may allow a client device, such as a mobile phone, to make API calls to aggregator system 1412 via API gateway 1404 .
  • Phone SDKs 1408 may include biometrics, device identification information, any other suitable information, or any combination thereof.
  • Portals 1410 may include systems which are external to aggregator system 1412 , such as merchant systems, rules management systems, administrative systems, reporting and marketing systems, any other suitable systems, or any combination thereof. In some embodiments, portals 1410 may communicate with aggregator system 1412 , a client device, such as client device 106 of FIG. 1 , any other suitable system or device, or any combination thereof.
  • steps above are exemplary and that in some implementations, steps may be added, removed, omitted, repeated, reordered, modified in any other suitable way, or any combination thereof.

Abstract

Methods and systems are presented for accessing customer relationship management (CRM) information stored in a carrier system associated with a user of an identified client device. A client device is identified based on client device identification information received from a carrier system. CRM information associated with the identified client device is received from the carrier system, and data corresponding to at least a subset of the CRM information is output to the client device. The client device may be configured to pre-populate data fields of a transaction based on the data corresponding to at least a subset of the CRM information.

Description

  • The present disclosure relates to transactions made on a client device, and more particularly relates to accessing customer relationship management (CRM) information stored in a carrier system associated with a user of an identified client device.
  • SUMMARY
  • Methods and systems are provided for receiving customer relationship management (CRM) information associated with an identified client device and providing the information to the client device. In some embodiments, the client device may be configured to pre-populate data fields associated with a transaction. Typically, transactions require information, including payment information, which may be tedious and difficult to enter on a client device, such as a mobile phone. Accordingly, an aggregator system of the present disclosure may receive CRM information associated with a client device based on an identification of the client device, and the CRM information may be used to pre-populate data fields on the client device. The CRM information may be received from any suitable source, such as a carrier system associated with the client device. Thus, a consumer need not be required to manually complete data fields related to client device transactions.
  • In some embodiments, an aggregator system receives client device information from a carrier system and identifies a client device based on the client device identification information. The aggregator system further receives CRM information from the carrier system and outputs data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • In some embodiments, an aggregator method includes identifying a client device based on client device identification information received from a carrier system. The aggregator method further includes receiving CRM information from the carrier system and outputting data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to the least a subset of the CRM information.
  • In some embodiments, a non-transitory computer readable medium has stored instructions that when executed direct a carrier input to receive client device identification information from a carrier system, and direct client device identification circuitry to identify a client device based on the client device identification information. When executed, the instructions further direct a carrier input to receive CRM information from the carrier system and communication circuitry to output data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information. The client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • In some embodiments, an aggregator system receives client device identification information from a merchant system and identifies a client device based on the client device identification information. The aggregator system further receives CRM information from a carrier system and outputs data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • In some embodiments, an aggregator method includes identifying a client device based on client device identification information received from a merchant system. The aggregator method further includes receiving CRM information from a carrier system and outputting data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information, where the client device is configured to pre-populate data fields based on the data corresponding to the least a subset of the CRM information.
  • In some embodiments, a non-transitory computer readable medium has stored instructions that when executed direct a merchant input to receive client device identification information from a merchant system, and direct client device identification circuitry to identify a client device based on the client device identification information. When executed, the instructions further direct a carrier input to receive CRM information from a carrier system and communication circuitry to output data corresponding to at least a subset of the CRM information to the client device based at least in part on the client device identification information. The client device is configured to pre-populate data fields based on the data corresponding to at least a subset of the CRM information.
  • BRIEF DESCRIPTION OF THE FIGURES
  • The above and other features of the present disclosure, its nature and various advantages will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings in which:
  • FIG. 1 is a block diagram of illustrative systems and devices implemented in a network environment in accordance with some embodiments of the present disclosure;
  • FIG. 2 is a block diagram showing illustrative paths of communication between systems and devices in accordance with some embodiments of the present disclosure;
  • FIG. 3 is a block diagram of an illustrative aggregator system in accordance with some embodiments of the present disclosure;
  • FIG. 4 is a block diagram of an illustrative merchant system in accordance with some embodiments of the present disclosure;
  • FIG. 5 is a block diagram of an illustrative carrier system in accordance with some embodiments of the present disclosure;
  • FIG. 6 is a block diagram of an illustrative client device in accordance with some embodiments of the present disclosure;
  • FIG. 7 is a block diagram showing an illustrative process flow in a system that implements a mobile originated client device identification technique in accordance with some embodiments of the present disclosure;
  • FIG. 8 is a block diagram showing an illustrative process flow in a system that implements a mobile terminated client device identification technique in accordance with some embodiments of the present disclosure;
  • FIG. 9 is a block diagram showing an illustrative process flow in a system that implements a header enrichment client device identification technique in accordance with some embodiments of the present disclosure;
  • FIG. 10 shows an illustrative client-initiated interaction between a client device and an aggregator system in accordance with some embodiments of the present disclosure;
  • FIG. 11 is a flow diagram including illustrative steps for outputting data corresponding to at least a subset of CRM information in accordance with some embodiments of the present disclosure;
  • FIG. 12 shows a sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure;
  • FIG. 13 shows another sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure; and
  • FIG. 14 is a block diagram showing detailed components of an illustrative aggregator system in accordance with some embodiments of the present disclosure.
  • DETAILED DESCRIPTION OF THE FIGURES
  • The present disclosure is directed towards using customer relationship management (CRM) information stored at a carrier system in connection with a transaction at a client device. For example, the CRM information may be used to pre-populate fields of a form being displayed on the client device. The client device may be for example, a mobile phone owned by a user having an account with the carrier system. The carrier system provides mobile network services to the client device. In the United States, examples of carrier systems include systems operated by Verizon, AT&T, and Sprint, among others. CRM information, as referred to herein, is understood to refer to any suitable user-specific data, including personal information such as, for example, name, address, telephone number, email, client device location, and payment information. A carrier system typically stores CRM information associated with its users. Attempts are made by the carrier system to keep its stored CRM information secure because of the sensitive nature of the personal information contained therein.
  • In accordance with the present disclosure, a system is provided that is configured to access CRM information stored at the carrier system and to provide the CRM information to a client device to be used in, for example, a transaction between the client device and a separate merchant system. In some embodiments, this is accomplished by identifying the client device, authenticating the user of the client device, and providing the client device with the ability to make application programming interface (API) calls to the carrier system (e.g., directly or through a conduit aggregator system trusted by the carrier system). This allows data to reach the merchant system without the need for the merchant system to communicate with the carrier system directly.
  • The client device may use the CRM information accessed from the carrier system for any suitable purpose, including, for example, populating corresponding fields of a form to be electronically submitted to a merchant system as part of a transaction. As used herein, the term “transaction” shall be understood to include within its scope any suitable transaction, registration, any other suitable process, or any combination thereof. For example, a client device may use data corresponding to at least a subset of the CRM information to pre-populate data fields for a purchase transaction with a merchant system.
  • FIG. 1 is a block diagram of illustrative systems and devices implemented in a network environment in accordance with some embodiments of the present disclosure. Aggregator system 100, merchant system 102, carrier system 104, and client device 106 may be coupled via network 108. Network 108 may include or communicate with any suitable one or more network structure or structures, such any suitable local area network (LAN), wide area network (WAN) (e.g., the internet), wireless local area network (WLAN), a mobile communications network, any other suitable network, or any combination thereof. In some embodiments, network 108 may be a carrier network provided and operated by carrier system 104. The lines coupling network 108 to the various systems and devices may represent a wireless coupling, a wired coupling, any other suitable coupling, or any combination thereof. For example, devices and systems may be connected to network 108 through a WiFi or Ethernet connection, with access to the internet. In another example, client device 106 may be coupled to network 108 using one or more mobile communications networks, such as a 3G, 4G, LTE, cellular network, any other suitable mobile communications network, or any combination thereof.
  • Aggregator system 100 may be any suitable system which acts as an intermediary between two or more systems, such as between client device 106 and carrier system 104, merchant system 102 and carrier system 104, client device 106 and merchant system 102, between any other systems and devices, or any combination thereof. Aggregator system 100 may act as an intermediary by facilitating the communication of information, such as payment information (e.g. credit card information, PayPal information, routing number data, bank account information, billing address, legal name, social security number, any other suitable information related to making a payment, or any combination thereof) and/or registration information (e.g., name, address, email, phone number, social security number, payment information, any other suitable information, or any combination thereof), between two systems. Aggregator system 100 may be trusted by carrier system 104, and may access CRM information stored in carrier system 104 for secure communication to merchant system 102 or client device 106. An example of aggregator system 100 is the system developed and operated by Danal Inc. (doing business as BilltoMobile) located in San Jose, Calif., which provides mobile payment services to merchants using data provided by United States carrier systems. In some embodiments of the present disclosure, aggregator system 100 may be configured to provide CRM information to client device 106 or merchant system 102 for use in a transaction via network 108.
  • Merchant system 102 may be any suitable one or more entities capable of entering into a transaction with a client device. Examples of a transaction include a purchase transaction for goods, services, or both provided by merchant system 102, a money transfer, a bill payment, a transaction that results in access to banking information, banking services, or both, any other suitable transaction, or any combination thereof. Merchant system 102 may include, for example, a web server that publishes a website which requires personal information (e.g., payment information, registration information). Examples of merchant system 102 include systems operated by Amazon.com, Citibank, freecreditscore.com, among others. In some embodiments, merchant system 102 may be configured to communicate with client device 106 (e.g., enable a transaction) using network 108.
  • Carrier system 104 may be any suitable system which provides mobile network services to client device 106. Providing mobile network services to client device 106 may include providing a carrier network to client device 106. For example, a carrier system may be a system operated by Verizon, Sprint, or AT&T.
  • Client device 106 is any suitable hardware, software, or both that can be used to conduct a transaction with merchant system 102 using the carrier network provided by carrier system 104. In some embodiments, a client device of the present disclosure may be a mobile phone. A mobile phone may be associated with a mobile phone number, a carrier system, any other mobile phone identification information, or any combination thereof. A client device may be a tablet device, laptop device, any other suitable client device, mobile or otherwise, or any combination thereof. In some embodiments, carrier system 104 may include or have access to CRM information associated with client device 106, and may be configured to communicate the CRM information to aggregator system 100 via network 108.
  • FIG. 2 is block diagram showing illustrative paths of communication between the systems and devices of FIG. 1 in accordance with some embodiments of the present disclosure. Aggregator system 202 may be configured to communicate with merchant system 204, carrier system 208, and client device 206 via communications channels 210, 212, and 218 respectively. Merchant system 204 may be configured to communicate with aggregator system 202 and client device 206 via communication channels 210 and 218 respectively. Client device 206 may be configured to communicate with merchant system 204, aggregator system 202, and carrier system 208 via communication channels 216, 218, and 214 respectively. Carrier system 208 may be configured to communicate with aggregator system 202 and client device 206 via communication channels 212 and 214 respectively. Communication between systems and devices may include communicating over a network, such as network 108 of FIG. 1, and may include receiving data, sending data, or both.
  • FIG. 3 is a block diagram of illustrative aggregator system 300 in accordance with some embodiments of the present disclosure. Aggregator system 300 may be any suitable aggregator system, such as aggregator system 100 of FIG. 1 or aggregator system 202 of FIG. 2. In some embodiments, aggregator system 300 may be implemented in a network environment, such as that of FIG. 1. Aggregator system 300 may include any suitable software, hardware, or both configured to implement the features as described herein. For example, aggregator system 300 may include server hardware and software. Aggregator system 300 may include communication circuitry 302, storage system 322, and processing equipment 320.
  • Communication circuitry 302 may be configured with any suitable software, hardwired instructions, or both to communicate with database 304 and processing equipment 320, and may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof. An input or output is a relative communication channel that can be used to receive or send data, respectively. A communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof. Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof. For example, aggregator system 300 may include a carrier input coupled to a carrier system and configured to receive data from the carrier system, a carrier output coupled to the carrier system and configured to output data to the carrier system, a merchant input coupled to a merchant system and configured to receive data from the merchant system, a merchant output coupled to the merchant system and configured to output data to the merchant system, a client device input coupled to a client device and configured to receive data from the client device, a client device output coupled to the client device and configured to output data to the client device, any other suitable input or output, or any combination thereof. While different inputs and outputs are described, it will be understood that they need not be separate components and two or more of the inputs and/or outputs may be implemented as a single component that can be used to send or receive data relative to more than one destination or source, respectively. For example, communication circuitry 302 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices.
  • Storage system 322 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing one or more databases and information related to, for example, merchant data, client device data, user data, authentication, rules, and carrier data. For example, storage system 322 may include database 304. In some embodiments, storage system 322 may store information which is not stored in database 304, such as information related to, for example application programming interfaces (APIs), HTML for content pages, any other suitable information, and any combination thereof.
  • Database 304 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing information related to, for example, merchant data, client device data, user data, and carrier data. Information related to merchant data may include, for example, stock keeping units (SKUs) related to goods for sale, customer service contact information (e.g., a phone number, an email address, a hyperlink for a website), data related to criteria for revoking authentication, any other merchant data, or any combination thereof. Information related to client device data may include, for example, a mobile device number, identification information associated with a client device, any other client device data, or any combination thereof. In some embodiments, database 304 may store encrypted information. For example, hashed information may be generated using a hash operation, and the hashed information may be stored in database 304. It should be understood that aggregator system 300, or any processing equipment or database thereof, such as database 304, may temporarily store CRM information associated with a user solely for the purpose of providing information where aggregator system 300 acts as an intermediary between systems and client devices, such that the user's privacy is preserved. For example, aggregator system 300 may temporarily store CRM information associated with a user of a client device until the information is communicated to a merchant system, where aggregator system 300 is configured to act as an intermediary between the merchant system and the client device. If aggregator system 300, or any processing equipment or database thereof is deemed to be a trusted system by a carrier system that stores CRM information, and if permission is granted to aggregator system 300 by the carrier system, then aggregator system 300 or any processing equipment or database thereof may be configured to store CRM information.
  • Processing equipment 320 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a client device, a merchant system, a carrier system, or any other suitable system or device), process data to be output to other systems and devices, generate data (e.g., generate authentication information), analyze data (e.g., identify a client device based on identification information), and perform other tasks. In some embodiments, processing equipment 320 may include one or more circuitries for performing the functionality as described herein, such as client device identification circuitry 306, authentication circuitry 308, credential engine 310, transaction processing circuitry 312, request processing circuitry 314, data verification circuitry 316, data integration circuitry 318, any other suitable processing equipment, or any combination thereof. The circuitries within processing equipment 320 may communicate with one another to implement the features as described herein. Additionally, the circuitries within processing equipment 320 may all be implemented together on one or more devices. In some embodiments, processing equipment 320 may communicate with communication circuitry 302 and database 304 to retrieve or transmit information (e.g. identification information, authentication information, any other suitable information, or any combination thereof). For example, processing equipment 320 may send identifying information associated with a client device, such as a mobile phone number, to database 304 to retrieve additional information related to the client device or user in possession of the client device.
  • Client device identification circuitry 306 may be configured with any suitable software, hardwired instructions, or both to identify a client device based on client device identification information. For example, client device identification circuitry 306 may be at least a portion of one or more integrated circuit processors. Identifying a client device may enable aggregator system 300 to access information associated with the client device, to communicate with the client device, to authenticate the client device, to process a transaction on the client device, to perform any other suitable action, or any combination thereof. A client device may be identified, for example, by way of a mobile originated (MO) message identification technique, a mobile terminated (MT) identification technique, a header enrichment identification technique, any other suitable identification technique, or any combination thereof. In some embodiments, client device identification circuitry 306 may be configured to store client device identification information in a database, such as database 304, and may be configured to identify a client device based at least in part on information stored in database 304. Client device identification information may include, for example, information identifying a mobile phone number associated with the client device, information identifying a carrier system associated with the client device, information identifying software or hardware of the client device, information identifying a user in possession of the client device, any other suitable identification information, or any combination thereof. For example, client device identification circuitry 306 may identify a client device by identifying and storing a mobile phone number associated with a client device based on client device identification information which is received from a carrier system.
  • Authentication circuitry 308 may be configured with any suitable software, hardwired instructions, or both to authenticate a client device. For example, authentication circuitry 308 may be at least a portion of one or more integrated circuit processors. In some embodiments, authenticating a client device may allow the client device to receive or request protected information (e.g., payment information), for example, as a part of a transaction. Authenticating a client device may include authenticating a user in possession of the client device. In some embodiments, authenticating a user in possession of a client device may include verifying the identity of the user. Verifying a user's identity may include, for example, requesting the user to provide uniquely identifying information, requesting the user to provide a unique one-time pin, requesting the user to send a particular MO message, requesting the user to send a particular silent MO message, requesting the user to complete any other suitable request, or any combination thereof. In some embodiments, authenticating a client device may include comparing any provided information related to a user in possession of a client device to any information stored in database 304, for example, to detect differences between the provided information and the information stored in database 304. In some embodiments, authentication circuitry 308 may be further configured to generate data which can be used to prove authentication, such as authentication keys, credential information, any other suitable information, or any combination thereof. For example, authentication circuitry 308 may be configured to generate credentials for an authenticated user in possession of a client device.
  • Credential engine 310 may be any suitable hardware, software, or both configured to determine criteria for revoking authentication for an identified client device. Revoking authentication for an identified client device may prohibit the client device from participating in interactions which require authentication (e.g., requesting protected information for use in a transaction). In some embodiments, revoking authentication for an identified client device may include invalidating credentials for an authenticated user in possession of the client device. Credential engine 310 may be configured to define criteria based on rules for revoking authentication received from a plurality of interested parties. Criteria may include events and conditions which, when met, indicate that authentication should be revoked. The rules received from a plurality of interested parties may comprise multiple types, and in some embodiments credential engine 310 may determine criteria which comprise only one rule of each type. Credential engine 310 may be configured to combine rules received from a plurality of interested parties based on a priority associated with each rules. Interested parties may be any suitable source from which information associated with the client device may be received (e.g. carrier systems, financial institutions, utility companies, government organizations, universities, schools, any other suitable sources, or any combination thereof), a country in which the client device operates, any other suitable interested party, or any combination thereof.
  • Transaction processing circuitry 312 may be configured with any suitable software, hardwired instructions, or both to process a transaction on a client device, such as client device 106 of FIG. 1. For example, transaction processing circuitry 312 may be at least a portion of one or more integrated circuit processors. In some embodiments, transaction processing circuitry 312 may use information stored in database 304 to process a transaction. Processing a transaction may include, for example, submitting payment information, completing a sale, any other suitable process, or any combination thereof. For example, a user attempting to make a purchase transaction on a client device may be redirected from a webpage of a merchant system to a webpage associated with aggregator system 300, and transaction processing circuitry 312 may process the purchase transaction.
  • Request processing circuitry 314 may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, such as merchant system 102 of FIG. 1, carrier system 104 of FIG. 1, and client device 106 of FIG. 1. For example, request processing circuitry 314 may be at least a portion of one or more integrated circuit processors. Requests may include a request to output information, a request to accept information, such as a rule, a request to validate information, a request to process a transaction, any other suitable request, or any combination thereof. In some embodiments, one or more requests may be received by communication circuitry 302, and passed from communication circuitry 302 to request processing circuitry 314. Request processing circuitry 314 may determine any suitable response to each of the one or more requests, such as processing information, retrieving information, transmitting information, any other suitable response, or any combination thereof. In some embodiments, request processing circuitry 314 may be configured to process and/or respond to requests received from other circuitries within processing equipment 320. For example, request processing circuitry 314 may receive a request for information associated with a client device, and may in response retrieve information from database 304 and communicate the information to communication circuitry 302 to be output.
  • Data verification circuitry 316 may be configured with any suitable software, hardwired instructions, or both to verify information associated with a client device, such as client device 106 of FIG. 1. For example, data verification module 316 may be at least a portion of one or more integrated circuit processors. In one embodiment, aggregator system 300 may receive information associated with a client device from one or more sources, and data verification circuitry 316 may be configured to verify the information. In another embodiment, request processing circuitry 314 may receive a request from a merchant system to verify information associated with a client device, and data verification circuitry 316 may verify the information. Verification may include comparing received information to information stored in database 304, comparing received information to information received from one or more sources, deterministic matching, probabilistic matching, fuzzy matching, any other suitable verification technique, or any combination thereof. In some embodiments, verifying information associated with a client device may include verifying information associated with a user in possession of the client device.
  • Data integration circuitry 318 may be configured with any suitable software, hardwired instructions, or both to integrate information associated with a client device which is received from one or more sources. For example, data integration circuitry 318 may be at least a portion of one or more integrated circuit processors. In one embodiment, aggregator system 300 may receive information associated with a client device from one or more sources, and data integration circuitry 318 may integrate the data received from the one or more sources. Data integration may include, for example, eliminating inconsistencies between information from different sources or between information received from one source and information stored in a database (e.g., database 304), eliminating duplicate information from different sources or between information received from one source and information stored in a database (e.g., database 304), any other suitable integration technique, or any combination thereof. Sources may include interested parties such as, for example, carrier systems, financial institutions, utility companies, government organizations, universities, schools, any other suitable sources, or any combination thereof.
  • FIG. 4 is a block diagram of illustrative merchant system 400 in accordance with some embodiments of the present disclosure. Merchant system 400 may be any suitable merchant system, for example, merchant system 102 of FIG. 1 or merchant system 204 of FIG. 2. In some embodiments, merchant system 400 may be implemented in a network environment, such as that of FIG. 1. Merchant system 400 may include any suitable software, hardware, or both configured to implement the features as described herein. For example, merchant system 400 may include server hardware and software. Merchant system 400 may include communication circuitry 402, storage system 416, and processing equipment 412.
  • Communication circuitry 402 may be configured with any suitable software, hardwired instructions, or both to communicate with database 414 and processing equipment 412, and may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof. An input or output is a relative communication channel that can be used to receive or send data, respectively. A communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof. Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof. For example, merchant system 400 may include a carrier input coupled to a carrier system and configured to receive data from the carrier system, a carrier output coupled to the carrier system and configured to output data to the carrier system, an aggregator input coupled to an aggregator system and configured to receive data from the aggregator system, an aggregator output coupled to the aggregator system and configured to output data to the aggregator system, a client device input coupled to a client device and configured to receive data from the client device, a client device output coupled to the client device and configured to output data to the client device, any other suitable input or output, or any combination thereof. In the context of the present disclosure, it may be preferential for merchant system 400 to not include a carrier input and a carrier output. That is, merchant system 400 need not be able to communicate with a carrier system in preferred embodiments of the present invention. While different inputs and outputs are described, it will be understood that they need not be separate components and two or more of the inputs and/or outputs may, indeed be implemented as a single component that can be used to send or receive data relative to more than one destination or source, respectively. For example, communication circuitry 402 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices.
  • Storage system 416 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing one or more databases and information related to, for example, merchant data, client device data, user data, authentication, rules, and carrier data. For example, storage system 416 may include database 414. In some embodiments, storage system 416 may store information which is not stored in database 414, such as information related to merchant data, for example APIs, HTML for content pages, any other suitable information, and any combination thereof. In some embodiments, merchant system 400 may be configured to communicate any information stored in storage system 416 or in database 414 to a trusted aggregator system, such as aggregator system 300.
  • Database 414 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing information related to, for example, merchant data, client device data, user data, and carrier data. Information related to merchant data may include, for example, SKUs related to goods for sale, customer service contact information (e.g., a phone number, an email address, a hyperlink for a website), payload information, data related to criteria for revoking authentication, any other merchant data, or any combination thereof. Information related to client device data may include, for example, a mobile device number, identification information associated with a client device, any other client device data, or any combination thereof. Information related to user data may include, for example, authentication information for an authenticated user, credential information for an authenticated user, any other user related information, or any combination thereof. Carrier data may include, for example, the carrier network associated with a client device. In some embodiments, database 414 may store information in an encrypted form. For example, hashed information may be generated using a hash operation, and the hashed information may be stored in database 414.
  • Processing equipment 412 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a client device, an aggregator system, or any other suitable system or device), process data to be output to other systems and devices, generate data, analyze data (e.g., confirm authentication information provided by a client device), and perform other tasks. In some embodiments, processing equipment 412 may include one or more circuitries for performing the functionality as described herein, such as payload generation circuitry 404, encryption circuitry 406, request processing circuitry 408, transaction processing circuitry 410, any other suitable processing equipment, or any combination thereof. The circuitries within processing equipment 412 may communicate with one another to implement the features described herein. Additionally, the circuitries within processing equipment 412 may all be implemented together on one or more devices. Processing equipment 412 may communicate with communication circuitry 402 and database 414 to retrieve and/or transmit information. For example, processing equipment 412 may retrieve credential information associated with a user in possession of a client device from database 414 before allowing a transaction to be made on the client device.
  • Payload generation circuitry 404 may be configured with any suitable software, hardwired instructions, or both to generate a payload. For example, payload generation circuitry 404 may be at least a portion of one or more integrated circuit processors. A payload is data which allows a client device to initiate communication (e.g., through API calls) with an aggregator system. A payload may be generated by payload generation circuitry 404, subsequently passed to encryption circuitry 406 to be encrypted, and the encrypted payload may be passed to a client device, such as client device 106 of FIG. 1. In some embodiments, a payload may be generated by combining correlation identification information, a timestamp value, and a nonce value. Correlation identification information may include, for example, merchant generated identification information which is associated with a particular client device transaction. In some embodiments, correlation identification information may be a user identification value (e.g. a user ID) associated with a user in possession of a client device. A timestamp value may include, for example the current date and time. In some embodiments, a timestamp value may be expressed in the format “yyyyMMddHHmmss”, where “yyyy” represents the current year, “MM” represents the current month, “dd” represents the current day, “HH” represents the hours, “mm” represents the current minutes, and “ss” represents the current seconds. The timestamp value need not be expressed in the above described format, but may instead be expressed in any suitable format. In some embodiments, a nonce value may include, for example, a random value with a minimum length of 32 characters.
  • Encryption circuitry 406 may be configured with any suitable software, hardwired instructions, or both to encrypt, decrypt, or both information such as, for example, a payload, information to be stored in database 414, any other suitable information, or any combination thereof. For example, encryption module 406 may be at least a portion of one or more integrated circuit processors. Encrypting information may protect the information from being stolen, hacked, or otherwise leaked to a source which does not have permission to access the information. In some embodiments, information may be encrypted using an encryption key, such as a symmetric key, an asymmetric key, any other suitable encryption method, or any combination thereof. For example, an aggregator system may provision a merchant system with an encryption key, and the merchant system may use the encryption key to encrypt information. In some embodiments, the advanced encryption standard (AES), or any other suitable strong symmetric-key block cipher, should be used when information is encrypted by encryption circuitry 406. In some embodiments, information to be encrypted may include a payload generated by payload generation circuitry 404. Merchant system 400 may pass a payload encrypted by encryption circuitry 406 to a client device, and the encrypted payload may facilitate client-initiated interaction between a client device and an aggregator system. An encrypted payload may be unique for a client device, but not unique for each request made by the client device.
  • Request processing circuitry 408 may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, for example, carrier system 104 of FIG. 1, aggregator system 100 of FIG. 1, or client device 106 of FIG. 1. For example, request processing circuitry 408 may be at least a portion of one or more integrated circuit processors. Requests may include a request to output information (e.g., identification information or authentication information), a request to accept information, any other suitable request, or any combination thereof. In some embodiments, one or more requests may be received by communication circuitry 402 and passed from communication circuitry 402 to request processing circuitry 408. Request processing circuitry 408 may determine an appropriate response to each of the one or more requests, for example, processing information, generating information, analyzing information, communicating with another circuitry within processing equipment 412, transmitting data to database 414, receiving data from database 414, any other appropriate response, or any combination thereof. In some embodiments, request processing circuitry may process, respond to, or both, requests received from other circuitries within processing equipment 412.
  • Transaction processing circuitry 410 may be configured with any suitable software, hardwired instructions, or both to process a transaction made on a client device. For example, transaction processing circuitry 410 may be at least a portion of one or more integrated circuit processors. Processing a transaction may include, for example, submitting payment information, completing a sale, any other suitable process, or any combination thereof. A transaction may be a purchase transaction, a registration, any other suitable process, or any combination thereof. In some embodiments, transaction processing circuitry 410 may use data stored in database 414 to process a transaction. In other embodiments, transaction processing circuitry 410 may use data received from another system, such as an aggregator system, to process a transaction. For example, a client device may visit a website published by merchant system 400 to make a purchase transaction, and merchant system 400 may receive information from an aggregator system, such as aggregator system 100 of FIG. 1, to process the purchase transaction. In some embodiments, transaction processing circuitry 410 may pre-populate transaction data fields with information received from another system or device, or information received from database 414.
  • FIG. 5 is a block diagram of illustrative carrier system 500 in accordance with some embodiments of the present disclosure. Carrier system 500 may be any suitable carrier system, such as carrier system 208 of FIG. 2 or carrier system 104 of FIG. 1. In some embodiments, carrier system 500 may be implemented in a network environment, such as that of FIG. 1. Carrier system 500 may include any suitable software, hardware, or both configured to implement the features as described herein. For example, carrier system 500 may include server hardware and software. Carrier system 500 may include communication circuitry 502, storage system 518, and processing equipment 516.
  • Communication circuitry 502 may be configured with any suitable software, hardwired instructions, or both to communicate with database 514 and processing equipment 516, and may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof. An input or output is a relative communication channel that can be used to receive or send data, respectively. A communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof. Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof. For example, carrier system 500 may include an aggregator input coupled to an aggregator system and configured to receive data from the aggregator system, an aggregator output coupled to the aggregator system and configured to output data to the aggregator system, a merchant input coupled to a merchant system and configured to receive data from the merchant system, a merchant output coupled to the merchant system and configured to output data to the merchant system, a client device input coupled to a client device and configured to receive data from the client device, a client device output coupled to the client device and configured to output data to the client device, any other suitable input or output, or any combination thereof. In the context of the present disclosure, it may be preferential for carrier system 500 to not include a merchant system input and a merchant system output. That is, carrier system 500 need not be able to communicate with a merchant system in preferred embodiments of the present invention. While different inputs and outputs are described, it will be understood that they need not be separate components and two or more of the inputs and/or outputs may, indeed be implemented as a single component that can be used to send or receive data relative to more than one destination or source, respectively. For example, communication circuitry 502 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices.
  • Storage system 518 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing one or more databases and information related to, for example, account data, rules, and CRM information associated with a user in possession of a client device. For example, storage system 518 may include database 514. In some embodiments, storage system 518 may store information which is not stored in database 514, and carrier system 500 may be configured to communicate such information to a trusted aggregator system, such as aggregator system 300.
  • Database 514 may include any suitable hardware, software, or both for implementing an organized data storage system capable of storing information related to, for example, account data and CRM information associated with a user in possession of a client device. In some embodiments, database 514 may store information in an encrypted form. For example, hashed information may be generated using a hash operation, and the hashed information may be stored in database 514.
  • Processing equipment 516 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a client device, an aggregator system, or any other suitable system or device), process data to be output to other systems and devices (e.g., CRM information), and perform other tasks. In some embodiments, processing equipment 516 may include one or more circuitries for performing the functionality as described herein, such as header enrichment circuitry 504, message creation circuitry 506, redirect circuitry 508, request processing circuitry 510, CRM information retrieval circuitry 512, any other suitable processing equipment, or any combination thereof. The circuitries within processing equipment 516 may communicate with one another to implement the features as described herein. Additionally, the circuitries within processing equipment 516 may all be implemented together on one or more devices. Processing equipment 516 may be configured to communicate with communication circuitry 502 and database 514 to retrieve and/or transmit information related to user account data, CRM information, any other information, or any combination thereof.
  • Header enrichment circuitry 504 may be configured with any suitable software, hardwired instructions, or both to insert one or more headers (e.g., a hypertext transfer protocol (http) header) into a request or response, such as an http redirect request or response. For example, header enrichment circuitry 504 may be at least a portion of one or more integrated circuit processors. An http redirect request and/or response may include a message header, and an http header may be inserted into the message header. In some embodiments, http headers inserted into an http redirect request may include client device identification information, and a system receiving an http response where http headers were inserted in a corresponding http request may extract the client device identification information for use or storage (e.g., for use in identifying a client device). For example, a client device on a carrier network operated by carrier system 500 may be redirected from a website published by a merchant system to a website published by an aggregator system using an http redirect request processed by carrier system 500, and header enrichment circuitry 504 may insert one or more http headers in the http redirect request.
  • Message creation circuitry 506 may be configured with any suitable software, hardwired instructions, or both to create a message such as, for example, a short message service (SMS) message, a silent SMS message, any other suitable type of message, or any combination thereof. For example, message creation circuitry 506 may be at least a portion of one or more integrated circuit processors. In some embodiments, message creation circuitry 506 may be configured to generate an SMS message in response to a request from another system or device, such as aggregator system 100 of FIG. 1 or client device 106 of FIG. 1. For example, carrier system 500 may receive a request to generate an SMS message and send it to a client device, and message creation circuitry may create the SMS message and may specify that the message should be sent to the mobile phone number of the client device.
  • Redirect circuitry 508 may be configured with any suitable software, hardwired instructions, or both to redirect, for example, a request, information, or both from one system to another system. For example, redirect circuitry 508 may be at least a portion of one or more integrated circuit processors. In some embodiments, redirect circuitry 508 may be configured to redirect an SMS message from one system or device to another system or device. In other embodiments, redirect circuitry 508 may be configured to perform an http redirect from a website associated with one system to a website associated with another system. Redirect circuitry 508 may additionally be configured to perform any other suitable redirect from one system to another system. In some embodiments, redirect circuitry 508 may receive instructions which cause the redirect to be performed. In some embodiments, redirect circuitry 508 may receive such instructions from request processing circuitry 410.
  • Request processing circuitry 510 may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, for example, aggregator system 100 of FIG. 1 or client device 106 of FIG. 1. For example, request processing circuitry 510 may be at least a portion of one or more integrated circuit processors. Requests may include a request for information, such as user account information or CRM information, any other suitable request, or any combination thereof. One or more requests may be received by communication circuitry 502 and passed from communication circuitry 502 to request processing circuitry 510. Request processing circuitry 510 may determine a suitable response to each of the one or more requests, such as processing information, communicating with another circuitry within processing equipment 516, transmitting data to database 514, receiving data from database 514, any other appropriate response, or any combination thereof. In some embodiments, request processing circuitry 510 may process, respond, or both to requests received from other circuitries within processing equipment 516.
  • CRM information retrieval circuitry 512 may be configured with any suitable software, hardwired instructions, or both to retrieve CRM information associated with a client device. For example, CRM information retrieval circuitry 512 may be at least a portion of one or more integrated circuit processors. In some embodiments, CRM information may include information related to an account associated with a user in possession of a client device (e.g., payment information, name, address, social security number, etc.), or any other suitable information which may be obtained through interactions between carrier system 500 and a client device. It should be understood that protected information associated with a user, such as a social security number, may only be accessed by trusted systems and devices to which permission has been granted by the user. CRM information retrieval circuitry 512 may be configured to retrieve appropriate CRM information from database 514. In some embodiments, CRM information retrieval circuitry 512 may be configured to retrieve appropriate CRM information in response to a request received from request processing circuitry 510. For example, an aggregator system, such as aggregator system 100 of FIG. 1, may request CRM information associated with an identified client device from carrier system 500, and CRM information retrieval circuitry 512 may retrieve the requested CRM information and provide it to communication circuitry 502 to be output to the aggregator system.
  • FIG. 6 is a block diagram of illustrative client device 600 in accordance with some embodiments of the present disclosure. Client device 600 may be any suitable client device, such as client device 206 of FIG. 2 or client device 106 of FIG. 1. In some embodiments client device 600 may be implemented in a network environment, such as that of FIG. 1. Client device 600 may include any suitable software, hardware, or both configured to implement the features as described herein. Client device 600 may include display 602, communication circuitry 616, power supply 622, speaker 610, microphone 612, keyboard 614, memory 608, and processing equipment 620.
  • Display 602 may be configured to display any information stored on or received by client device 600 in any suitable format. Information displayed may include, for example, information requested by a user of client device 600, information related to client device 600, information related to a transaction, information related to an mobile application, information received from another system or device, information to be sent to another system or device, an SMS message, any other suitable information, or any combination thereof. Display 602 may be, for example, a flat panel display such as a liquid crystal display, plasma display, any other suitable display, or any combination thereof.
  • Power supply 622 may be configured to supply power to client device 600. Power supply 622 may be any suitable internal or external power source such as, for example, a battery.
  • Speaker 610 may be configured to provide audible sound. The audible sound may be related to a phone call on client device 600, an application running on client device 600, an alarm set on client device 600, a transaction, any other suitable process or application, or any combination thereof.
  • Microphone 612 may be configured to receive user input such as, for example, audible user input. The inputs received by microphone 612 may include information related to, for example, a phone call on client device 600, a user in possession of client device 600, a transaction, any other suitable information, or any combination thereof.
  • Keyboard 614 may be configured to receive user input such as, for example, text input. The inputs received by keyboard 614 may be information related to, for example, a message stored on or created on client device 600, a user in possession of client device 600, a transaction, any other suitable information, or any combination thereof.
  • Communication circuitry 616 may include inputs, outputs, any other mechanisms which facilitate communication with other systems and devices, or any combination thereof. Communication circuitry 616 may be configured with any suitable software, hardwired instructions, or both. An input or output is a relative communication channel that can be used to receive or send data, respectively. A communication channel may be established as, for example, an IP protocol-based communications session using any suitable network infrastructure, including the Internet, any proprietary LAN, WAN, any other suitable network infrastructure, or any combination thereof. Inputs and outputs can be implemented as one or more physical ports, a data storage device, any other suitable hardware interface, software interface, or any combination thereof. For example, client device 600 may include a carrier input coupled to a carrier system and configured to receive data from the carrier system, a carrier output coupled to the carrier system and configured to output data to the carrier system, a merchant input coupled to a merchant system and configured to receive data from the merchant system, a merchant output coupled to the merchant system and configured to output data to the merchant system, an aggregator input coupled to an aggregator system and configured to receive data from the aggregator system, an aggregator output coupled to the aggregator system and configured to output data to the aggregator system, any other suitable input or output, or any combination thereof. While different inputs and outputs are described, it will be understood that they need not be separate components and two or more of the inputs and/or outputs may, indeed be implemented as a single component that can be used to send or receive data relative to more than one destination or source, respectively. For example, communication circuitry 616 may include a transceiver, such as an Ethernet card, or any other suitable device or circuitry which facilitates communication with other systems and devices. Communication circuitry 616 may be configured to communicate with memory 608, processing equipment 620, speaker 610, microphone 612, keyboard 614, power supply 622, and display 602.
  • Memory 608 may be one or more suitable memory devices such as, for example, a hard disk drive, flash memory, random access memory (RAM), an optical disk, any other suitable memory device, or any combination thereof. Memory 608 may include identification information 604 and other information 606. Identification information 604 may include any suitable identification information related to client device 600. For example, identification information 604 may include information identifying hardware or software of client device 600, information identifying a mobile phone number associated with client device 600, information identifying a device model of client device 600, information identifying a user in possession of client device 600, information identifying a carrier system associated with client device 600, any other suitable identification information, or any combination thereof. Other information 606 may include any information stored in memory 608 other than identification information 604. For example, other information 606 may store information related to applications, messaging, photos and videos, transactions, merchants, networks, capacity and storage, any other suitable information, or any combination thereof.
  • Processing equipment 620 may be any suitable hardware, software, or both configured to process data received from other systems and devices (e.g., a merchant system, a carrier system, an aggregator system, or any other suitable system or device), process data to be output to other systems and devices, process data related to mobile applications, and perform other tasks. In some embodiments, processing equipment 620 may include one or more circuitries for performing the functionality as described herein, such as authentication circuitry 616, processing circuitry 618, any other suitable processing equipment, or any combination thereof. The circuitries within processing equipment 620 may communicate with one another to implement the features as described herein. Additionally, the circuitries within processing equipment 620 may all be implemented together on one or more devices. Processing equipment 620 may be configured to communicate with communication circuitry 616, memory 608, speaker 610, microphone 612, keyboard 614, power supply 622, and display 602.
  • Authentication circuitry 616 may be configured with any suitable software, hardwired instructions, or both to authenticate client device 600. For example, authentication circuitry 616 may be at least a portion of one or more integrated circuit processors. In some embodiments, authenticating client device 600 may include authenticating a user in possession of client device 600. In some embodiments, authentication circuitry 616 may communicate with a system, such as a merchant system or an aggregator system, via communication circuitry 616, in order to authenticate client device 600. Authenticating client device 600 may include prompting a user in possession of client device 600 to input information. Information may be input via display 602, keyboard 614, microphone 612, any other suitable user input, or any combination thereof. Information may include, for example, uniquely identifying information related to the user in possession of client device 600. In some embodiments, authentication circuitry 616 may communicate with memory 608 to authenticate client device 600. For example, memory 608 may store information received from an aggregator system, such as aggregator system 100 of FIG. 1, and subsequent to prompting a user in possession of client device 600 for information, authentication circuitry 616 may compare the entered information to that stored in memory 608.
  • Processing circuitry 618 may be configured with any suitable software, hardwired instructions, or both to implement any features other than authentication. For example, processing circuitry 618 may be at least a portion of one or more integrated circuit processors. For example, processing circuitry 618 may be configured to run applications, to compute information, to process instructions, to carry out functions related to client device operation, to carry out any other suitable operation or implementation, or any combination thereof.
  • FIG. 11 is a flow diagram including illustrative steps for outputting data corresponding to at least a subset of CRM information in accordance with some embodiments of the present disclosure. In some embodiments, the steps of FIG. 11 may be performed by an aggregator system, such as aggregator system 100 of FIG. 1, aggregator system 202 of FIG. 2, or aggregator system 300 of FIG. 3.
  • At step 1102, client device identification information is received by an aggregator system. In some embodiments, client device identification information (e.g., information identifying a mobile phone number associated with the client device, information identifying a carrier system associated with the client device, information identifying software or hardware of the client device, information identifying a user in possession of the client device, any other suitable identification information, or any combination thereof) may be received from a carrier system. In other embodiments, client device identification information may be received from a merchant system. In some embodiments, an input may be used to receive the client device identification information. For example, communication circuitry 302 of FIG. 3 may be used to receive the client device identification information.
  • At step 1104, a client device may be identified by the aggregator system based on the client device identification information received at step 1102. The client device may be identified by processing equipment, such as client device identification circuitry 306 of FIG. 3. In some embodiments, a client device may be identified using an MO identification technique, an MT identification technique, a header enrichment identification technique, any other suitable identification technique, or any combination thereof.
  • FIG. 7 is a block diagram showing an illustrative process flow in a system that implements a MO message client device identification technique in accordance with some embodiments of the present disclosure. In the MO message identification technique, merchant system 702 may request the user of client device 704 to send an SMS message to a specified short code via communication path 708. In response to the request received from merchant system 702, the user of client device 704 may send an SMS message to the specified short code via communication path 710. Carrier system 706 may route the SMS message sent by client device 704, along with client device identification information including the user's mobile phone number, to aggregator system 700. Aggregator system 700 may receive the SMS message and client device identification information routed by carrier system 706, and subsequently may identify the client device at 714. Identifying the client device may include storing the received client device identification information, including the user's mobile phone number, in a database of aggregator system 700, such as database 304. Merchant system 702 may be any suitable merchant system, such as merchant system 400 of FIG. 4, merchant system 204 of FIG. 2, or merchant system 102 of FIG. 1. Client device 704 may be any suitable client device, such as client device 600 of FIG. 6, client device 206 of FIG. 2, or client device 106 of FIG. 1. Carrier system 706 may be any suitable carrier system, such as carrier system 500 of FIG. 5, carrier system 208 of FIG. 2, or carrier system 104 of FIG. 1. Aggregator system 700 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3, aggregator system 202 of FIG. 2, or aggregator system 100 of FIG. 1.
  • In other embodiments, a client device may be identified at step 1104 using an MT message identification technique, as shown in FIG. 8. In the MT message client device identification technique shown in FIG. 8, merchant system 802 provides aggregator system 800 with the mobile phone number of the user of client device 804, and requests aggregator system 800 to send a unique PIN to client device 804. Merchant system 802 may provide the mobile phone number and make the request to aggregator system 800 via communication path 808. In response to the request from merchant system 802, aggregator system 800 may generate a unique PIN at 810. Aggregator system 800 sends an SMS message identifying the unique PIN which is routed to carrier system 806 via communication path 812, and routed from carrier system 806 to client device 804 via communication path 814. Subsequent to receiving the SMS message with unique PIN, client device 804 communicates the unique PIN to merchant system 802 via communication path 816. Merchant system 802 then requests aggregator system 800 to validate the unique PIN communicated by client device 804 via communication path 818. Aggregator system 800 may validate the unique PIN by comparing the unique PIN communicated by client device 804 against the unique PIN generated at step 810. If aggregator system 800 determines that the unique PIN entered by client device 804 matches the unique PIN generated at step 810, then identification is successful. Merchant system 802 may be any suitable merchant system, such as merchant system 400 of FIG. 4, merchant system 204 of FIG. 2, or merchant system 102 of FIG. 1. Client device 804 may be any suitable client device, such as client device 600 of FIG. 6, client device 206 of FIG. 2, or client device 106 of FIG. 1. Carrier system 806 may be any suitable carrier system, such as carrier system 500 of FIG. 5, carrier system 208 of FIG. 2, or carrier system 104 of FIG. 1. Aggregator system 800 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3, aggregator system 202 of FIG. 2, or aggregator system 100 of FIG. 1.
  • In other embodiments, a client device may be identified at step 1104 using a header enrichment identification technique, as shown in FIG. 9. In the header enrichment client device identification technique shown in FIG. 9, client device 904 communicates with merchant system 902 and carrier system 906 via a carrier network. Upon initiating communication with merchant system 902, client device 904 is redirected to aggregator system 900 via carrier system 906. Client device 904 may initiate communication with merchant system 902, for example, by accessing a webpage associated with merchant system 902. Merchant system 902 sends the redirect request via communication path 908, and the client device is redirected by carrier system 906 to aggregator system 900 via communication paths 910 and 912. Carrier system 906 inserts headers in the redirect request, and aggregator system 900 identifies client device 904 at 914 based on client device identification information extracted from the headers. In some embodiments, aggregator system 900 may need to decrypt information in the headers before client device 904 can be identified. In other embodiments, aggregator system 900 may need to request additional information from carrier system 906 before client device 904 can be identified. Merchant system 902 may subsequently request identification information associated client device 904 from aggregator system 900 via communication path 916. In response to the request received from merchant system 902 via communication path 916, aggregator system 900 may redirect client device 904 back to merchant system 902 and return the requested identification information via communication path 918. Merchant system 902 may be any suitable merchant system, such as merchant system 400 of FIG. 4, merchant system 204 of FIG. 2, or merchant system 102 of FIG. 1. Client device 904 may be any suitable client device such as client device 600 of FIG. 6, client device 206 of FIG. 2, or client device 106 of FIG. 1. Carrier system 906 may be any suitable carrier system such as carrier system 500 of FIG. 5, carrier system 208 of FIG. 2, or carrier system 104 of FIG. 1. Aggregator system 900 may be any suitable aggregator system such as aggregator system 300 of FIG. 3, aggregator system 202 of FIG. 2, or aggregator system 100 of FIG. 1.
  • At step 1106 of FIG. 11, a user in possession of the identified client device may be authenticated by the aggregator system. In some embodiments, processing equipment such as authentication circuitry 308 may be used to authenticate the client device at step 1106. In some embodiments, authenticating a user may include verifying the identity of the user. Verifying a user may include, for example, requesting uniquely identifying information from the user, requesting the user to confirm a unique PIN sent to the user's client device, requesting the user to send a specific MO message, requesting the user to send a specific silent MO message, any other suitable verification technique or request, or any combination thereof. Authenticating a user may additionally include comparing any information provided by the user in possession of the client device to any information stored in a database of the aggregator system, such as database 304, determining that the client device has not been identified as being stolen, determining that the client device has not been associated with a fraud event, any other suitable process or analysis, or any combination thereof.
  • At step 1108, the aggregator system may determine whether or not the user in possession of the client device has been authenticated. If at step 1108 the aggregator system determines that the user of the client device has not been authenticated, step 1106 will be repeated and the aggregator system will attempt to authenticate the user in possession of the client device again. In some embodiments, authentication may only be attempted a limited number of times, for example, three times. If at step 1108 the aggregator system determines that the user in possession of the client device has been authenticated, the aggregator system may proceed to step 1110.
  • At step 1110, the aggregator system may determine whether or not user consent has been received. User consent may be provided by the user in possession of the client device, and may be requested by the aggregator system or a merchant system. User consent may indicate permission for the aggregator system to retrieve protected consumer and payment information, such as CRM information. For example, the aggregator system may send the client device a message requesting permission to retrieve protected information (e.g., CRM information), and in response the user in possession of the client device may reply with or select an indication which grants or denies permission. User consent may be requested and/or received by the aggregator system using inputs and/or outputs, such as communication circuitry 302 of FIG. 3. If at step 1110 the aggregator system determines that user consent has been received, the aggregator system may proceed to step 1112.
  • At step 1112, the aggregator system may receive CRM information associated with the identified client device. In some embodiments, the CRM information may be associated with a user in possession of the client device, and may include information such as payment information, registration information, any other suitable information, protected or not, or any combination thereof. The CRM information may be received from a carrier system, such as carrier system 104 of FIG. 1, and may be based on transactions between the carrier system and the user of the client device. The CRM information need not be received from a carrier system, and may be received from any other suitable source such as financial institutions, utility companies, government organizations, universities, schools, any other suitable sources, or any combination thereof. The CRM information may be received using an input, such as, for example, communication circuitry 302 of FIG. 3.
  • At step 1114, the aggregator system may output data corresponding to at least a subset of the CRM information. Data corresponding to at least a subset of the CRM information may be output using, for example, communication circuitry 302 of FIG. 3. In some embodiments, data corresponding to at least a subset of the CRM information may include a user's first and last name, credit card or bank account information, address, and email information. In some embodiments, the data may be output to a client device for use in a transaction. In other embodiments, the data may be output to a merchant for use in a transaction. The client device or a merchant system may be configured to pre-populate data fields based on the CRM information, as shown in FIG. 12 and FIG. 13.
  • FIG. 12 shows a sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure. Display 1200 shows blank registration data fields 1206 for a registration being made on a client device, such as client device 106 of FIG. 1. The registration may be, for example, a registration for a website published by a merchant, a club, an organization, a financial institution, any other suitable entity requiring registration, or any combination thereof. Subsequent to receiving data from an aggregator system, such as data corresponding to at least a subset of CRM information associated with the client device, the client device may pre-populate the data fields as shown in display 1202. Transitional arrow 1208 may represent the client device pre-populating the data fields 1206. A client device may re-populate fields using processing equipment, such as processing circuitry 618 of FIG. 6. Display 1202 illustrates registration data fields 1210, which are completed with pre-populated information associated with the user in possession of the client device. Display 1204 illustrates a confirmation screen on which the user may confirm the accuracy of the information 1214 which was used to pre-populate data fields 1206 on the client device. Displays 1200, 1202, and 1204 all may be display screens of a client device, such as client device 106 of FIG. 1, client device 206 of FIG. 2, or client device 600 of FIG. 6.
  • FIG. 13 shows another sequence of illustrative displays in which data fields are pre-populated in accordance with some embodiments of the present disclosure. Display 1300 illustrates transaction details, including purchase information, for a transaction being made on a client device, such as client device 106 of FIG. 1. The transaction may be, for example, a transaction for a sale of goods or services on a website published by a merchant system, a transaction to pay a bill, any other suitable transaction requiring payment information, or any combination thereof. Subsequent to receiving data corresponding to at least a subset of CRM information associated with the user in possession of the client device (e.g., from an aggregator system or another suitable system), the client device may pre-populate data fields for the transaction with information, including payment information, at 1304. Display 1302 illustrates a confirmation screen on which the user of the client device may confirm the information, including payment information, which was used to pre-populate the transaction data fields at 1304. Displays 1300 and 1302 may be display screens of a client device, such as client device 106 of FIG. 1, client device 206 of FIG. 2, or client device 600 of FIG. 6.
  • FIG. 10 shows an illustrative client-initiated interaction between a client device and an aggregator system in accordance with some embodiments of the present disclosure. In some embodiments, merchant system 1002 may provide client device 1004 with one or more JavaScript imports 1006 and an encrypted payload, such that client device 1004 may directly communicate with aggregator system 1000. JavaScript imports 1006 provided by merchant system 1002 may include a JQuery JavaScript import, an aggregator JavaScript API, any other suitable JavaScript imports, or any combination thereof. An encrypted payload may be generated by merchant system 1002 at 1008 using processing equipment such as, for example, payload generation circuitry 404 of FIG. 4 and encryption circuitry 406 of FIG. 4. Merchant system 1002 may pass the encrypted payload to client device 1004 via communication path 1010. In some embodiments, client device 1004 may perform a transaction by initiating an interaction with aggregator system 1000 using JavaScript imports 1006 and via communication path 1012.
  • In some embodiments, client device 1004 may make an identification API call to aggregate system 1000 using JavaScript imports 1006. An identification API call made by client device 1004 may include a request object, a success handler, an error handler, any other suitable parameter, or any combination thereof. A request object provided by client device 1004 may include a method name, hashed merchant identification information, the encrypted payload, any additional method specific parameters, or any combination thereof. A method name may specify, for example, an identification method, a method to retrieve information related to a user of client device 1004, any other suitable method, or any combination thereof. Hashed merchant identification information may be provided to client device 1004 by merchant system 1002. Merchant system 1002 may generate hashed merchant identification information by performing a hash operation on merchant identification information provided by aggregator system 1000. A success handler, when activated, may allow the transaction being performed on client device 1004 to continue. An error handler, when activated, may cause the transaction being performed on client device 1004 to halt. A successful identification call may identify the user of client device 1004 with aggregate system 1000, and may return information related to the carrier system associated with client device 1004 to be used on subsequent API calls via communication path 1012.
  • In some embodiments, client device 1004 may make an API call requesting information to aggregate system 1000 using JavaScript imports 1006. Requested information may include, for example, CRM information, or any other information including protected information. An API call requesting information made by client device 1004 may include a request object, a success handler, an error handler, and pre-populating parameter. The request object, success handler, and error handler for an API call requesting information are the same as the request object, success handler, and error handler for an identification call as described above. A pre-populating parameter may be have a value of true or false, and may indicate whether client device 1004 should pre-populate data fields in the transaction being performed on client device 1004 upon receiving the requested information. A successful request for information call may return the requested information from aggregator system 1000 to client device 1004 along communication path 1012. In some embodiments, client device 1004 may request information to complete a transaction, and may be configured to pre-populate data fields of the transaction with information returned by aggregator system 1000. It should be understood that client device 1004 may make various other API calls to aggregator system 1000, and is not limited to making identification calls and request for information calls. Merchant system 1002 may be any suitable merchant system, such as merchant system 400 of FIG. 4, merchant system 204 of FIG. 2, or merchant system 102 of FIG. 1. Aggregator system 1000 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3, aggregator system 202 of FIG. 2 or aggregator system 100 of FIG. 1.
  • FIG. 14 is a block diagram showing detailed components of illustrative aggregator system 1412 in accordance with some embodiments of the present disclosure. The aggregator system 1412 may include request processing circuitry 1400, credential engine 1402, transaction storage, analytics, persistent identification storage, any other suitable processing circuitries, storage components, or communication components, or any combination thereof. Aggregator system 1412 may be any suitable aggregator system, such as aggregator system 300 of FIG. 3, aggregator system 202 of FIG. 2 or aggregator system 100 of FIG. 1.
  • Credential engine 1402 may be credential engine 310 of FIG. 3, and may be configured to determine credentials for revoking authentication of an identified client device. In some embodiments, an authenticated client device may receive credentials, and when authentication is revoked the credentials may be invalidated. Credential engine 1402 may include merchant rules, provider rules, data rules, match score rules, risk management rules, data corroboration rules, any other suitable rules, or any combination thereof. Rules may define an event or condition, which when matched may cause authentication to be revoked. In some embodiments, credential engine 1402 may determine credentials based at least in part on these rules. Credential engine 1402 may communicate with request processing circuitry 1400. For example, request processing circuitry 1402 may pass rules to credential engine 1402.
  • Request processing circuitry 1400 may be request processing circuitry 314 of FIG. 3, and may be configured with any suitable software, hardwired instructions, or both to process requests from other systems and devices, such as client device 106 of FIG. 1 or carrier system 104 of FIG. 1. For example, request processing circuitry 1400 may be at least a portion of one or more integrated circuit processors. Request processing circuitry 1400 may include an acceptor, a validator, a data processor, a response deliverer, any other suitable component or processor, or any combination thereof. The acceptor may accept a request, such as a request to consider a rule, and the validator, the data processor, the response deliverer, or any combination thereof, may be used to determine that the rule should be passed to credential engine 1402. Request processing circuitry 1400 may communicate with data provider adapters 1406 and API gateway 1404, for example, to accept or respond to a request.
  • Data provider adapters 1406 may be configured to enable communication between data providers and aggregator system 1412. Data provider adapters may include carrier adapters configured to enable communication between carrier systems and aggregator system 1412, and non-carrier adapters configured to enable communication between non-carrier systems and aggregator system 1412. Non-carrier systems may include financial institutions, utility companies, government organizations, universities, schools, any other suitable systems, or any combination thereof.
  • API gateway 1404 may enable interaction and communication between aggregator system 1412 and other systems or devices, such as client device 106 of FIG. 1. For example, a client device may make an API call directly to aggregator system 1412, such as an identification call or request for information call, and API gateway 1404 may enable such an interaction. API gateway 1404 may include identification APIs, account APIs, consumer APIs, payment info APIs, match APIs, any other suitable APIs, or any combination thereof. API gateway 1404 may communicate with client device software development kits (SDKs), such as mobile phone SDKs 1408. Phone SDKs 1408 may allow a client device, such as a mobile phone, to make API calls to aggregator system 1412 via API gateway 1404. Phone SDKs 1408 may include biometrics, device identification information, any other suitable information, or any combination thereof.
  • Portals 1410 may include systems which are external to aggregator system 1412, such as merchant systems, rules management systems, administrative systems, reporting and marketing systems, any other suitable systems, or any combination thereof. In some embodiments, portals 1410 may communicate with aggregator system 1412, a client device, such as client device 106 of FIG. 1, any other suitable system or device, or any combination thereof.
  • It will be understood that the steps above are exemplary and that in some implementations, steps may be added, removed, omitted, repeated, reordered, modified in any other suitable way, or any combination thereof.
  • The foregoing is merely illustrative of the principles of this disclosure, and various modifications may be made by those skilled in the art without departing from the scope of this disclosure. The above-described embodiments are presented for purposes of illustration and not of limitation. The present disclosure also can take many forms other than those explicitly described herein. Accordingly, it is emphasized that this disclosure is not limited to the explicitly disclosed methods, systems, and apparatuses, but is intended to include variations to and modifications thereof, which are within the spirit of the following claims.

Claims (21)

1.-58. (canceled)
59. A system comprising:
an aggregator system comprising:
carrier input circuitry coupled to a carrier system and configured to receive customer relationship management (CRM) information and client device identification information from the carrier system;
client device identification circuitry coupled to the carrier input circuitry and configured to identify the client device based on the client device identification information and to cause the CRM information to be communicated to the client device based on the client device identification information; and
client device output circuitry coupled to a client device and configured to provide the CRM information to the client device, wherein the client device is configured to:
receive a content page comprising a selectable software import;
directly communicate with the aggregator system, using the selectable software import, to receive the CRM information; and
pre-populate data fields on the content page based on the CRM information.
60. The system of claim 59, wherein the content page is a webpage.
61. The system of claim 59, wherein the content page is provided by a merchant system.
62. The system of claim 61 further comprising authentication circuitry configured to authenticate a user in possession of the client device.
63. The system of claim 62, wherein the authentication circuitry is further configured to generate two authentication keys and merchant identification information, and to cause one of the two authentication keys and the merchant identification information to be communicated to the merchant system.
64. The system of claim 59, wherein the client device is configured to use the CRM information as part of a transaction with the merchant system.
65. The system of claim 59, further comprising client device input circuitry configured to receive consent of a user, wherein the carrier input circuitry is configured to receive the CRM information based on the consent.
66. A method comprising:
identifying, by an aggregator system, a client device based on client device identification information received from a carrier system;
receiving, by the aggregator system, customer relationship management (CRM) information from the carrier system; and
outputting, by the aggregator system, CRM information to the client device based on the client device identification information, wherein the client device is configured to:
receive a content page comprising a selectable software import;
directly communicate with the aggregator system, using the selectable software, to receive the CRM information; and
pre-populate data fields on the content page based on the CRM information.
67. The method of claim 66, wherein receiving the content page comprises receiving a webpage.
68. The method of claim 66, receiving the content page comprises receiving the content page from a merchant system.
69. The method of claim 68 further comprising authenticating, using the aggregator system, a user in possession of the client device.
70. The method of claim 69, further comprising:
generating, using the aggregator system, two authentication keys and merchant identification information, and
causing one of the two authentication keys and the merchant identification information to be communicated to the merchant system.
71. The method of claim 66, wherein the client device is configured to use the CRM information as part of a transaction with the merchant system.
72. The method of claim 66, further comprising receiving, using the aggregator system, consent of the user, wherein the aggregator system is configured to receive the CRM information based on the consent.
73. A method comprising:
accessing, using a processor, a content page comprising a selectable import;
directly communicating, using the processor, with an aggregator system using the selectable software import;
requesting, using the processor, CRM using the direct communication with the aggregator system, wherein the aggregator system is configured to:
receive the CRM information and client device identification information from a carrier system; and
transmit the CRM information to the client device based on the client device identification information; and
pre-populating data fields on the content page based on the CRM information received from the aggregation system; and
displaying, using a display, the content page with pre-populated data fields.
74. The method of claim 73, wherein accessing the content page comprises accessing a webpage.
75. The method of claim 73, wherein accessing the content page comprises accessing the content page provided by a merchant system.
76. The method of claim 75, further comprising using the CRM information as part of a transaction with the merchant system.
77. The method of claim 73 wherein the aggregator system is configured to authenticate a user in possession of the processor.
78. The method of claim 77, further comprising transmitting consent of the user to the aggregator system, wherein the aggregator system is configured to receive the CRM information based on the consent.
US16/215,247 2014-08-12 2018-12-10 Providing customer information obtained from a carrier system to a client device Abandoned US20190281107A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/215,247 US20190281107A1 (en) 2014-08-12 2018-12-10 Providing customer information obtained from a carrier system to a client device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/458,025 US10154082B2 (en) 2014-08-12 2014-08-12 Providing customer information obtained from a carrier system to a client device
US16/215,247 US20190281107A1 (en) 2014-08-12 2018-12-10 Providing customer information obtained from a carrier system to a client device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/458,025 Continuation US10154082B2 (en) 2014-08-12 2014-08-12 Providing customer information obtained from a carrier system to a client device

Publications (1)

Publication Number Publication Date
US20190281107A1 true US20190281107A1 (en) 2019-09-12

Family

ID=52736838

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/458,025 Active US10154082B2 (en) 2014-08-12 2014-08-12 Providing customer information obtained from a carrier system to a client device
US16/215,247 Abandoned US20190281107A1 (en) 2014-08-12 2018-12-10 Providing customer information obtained from a carrier system to a client device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/458,025 Active US10154082B2 (en) 2014-08-12 2014-08-12 Providing customer information obtained from a carrier system to a client device

Country Status (4)

Country Link
US (2) US10154082B2 (en)
EP (1) EP2985728A1 (en)
KR (1) KR20170056536A (en)
WO (1) WO2016025220A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095637B2 (en) * 2019-08-16 2021-08-17 T-Mobile Usa, Inc. Interface for telecommunications by desktop native applications
US11263324B2 (en) 2019-06-04 2022-03-01 Bank Of America Corporation Monitoring source code repository data in real-time to protect sensitive information and provide entity-specific alerts

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9473413B1 (en) * 2013-12-04 2016-10-18 Amazon Technologies, Inc. Dynamic throttle of network traffic
WO2016183504A1 (en) * 2015-05-14 2016-11-17 Sequitur Labs, Inc. System and methods for facilitating secure computing device control and operation
US10630665B2 (en) * 2016-04-18 2020-04-21 Blackberry Limited Authenticating messages
US10917412B2 (en) * 2016-05-05 2021-02-09 Paypal, Inc. Authentication and risk assessment through header injections
US20170330165A1 (en) * 2016-05-10 2017-11-16 Danal Inc. Methods and systems for identity verification at self-service machines
US20190229931A1 (en) * 2018-01-19 2019-07-25 Level 3 Communications, Llc Distributed telephone number ledger and register
WO2019204693A1 (en) * 2018-04-19 2019-10-24 Averon Us, Inc. Using identity-linked device information for user identification and transaction personalization via mobile tagging
US11184354B2 (en) 2019-03-22 2021-11-23 International Business Machines Corporation Network-based authorization for disconnected devices
US11367076B2 (en) 2019-06-19 2022-06-21 The Toronto-Dominion Bank Entity-based controls for value transfer cards
US11410138B2 (en) 2019-06-19 2022-08-09 The Toronto-Dominion Bank Value transfer card management system
US11948189B2 (en) 2020-12-30 2024-04-02 Mastercard International Incorporated Systems and methods for identifying full account numbers from partial account numbers

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114367A1 (en) * 2002-10-23 2005-05-26 Medialingua Group Method and system for getting on-line status, authentication, verification, authorization, communication and transaction services for Web-enabled hardware and software, based on uniform telephone address, as well as method of digital certificate (DC) composition, issuance and management providing multitier DC distribution model and multiple accounts access based on the use of DC and public key infrastructure (PKI)
US20120124659A1 (en) * 2010-11-17 2012-05-17 Michael Craft System and Method for Providing Diverse Secure Data Communication Permissions to Trusted Applications on a Portable Communication Device
US20130073859A1 (en) * 2011-09-21 2013-03-21 Visa International Service Association Systems and methods to secure user identification
US20130110690A1 (en) * 2011-10-26 2013-05-02 American Express Travel Related Services Company, Inc. Systems and methods for transaction account customer acquisition, enrollment, and management
US20140279523A1 (en) * 2013-03-15 2014-09-18 Joe M. Lynam System and Method for Authenticating Payment Transactions
US20140373170A1 (en) * 2013-06-12 2014-12-18 Sequent Software, Inc. System and method for initially establishing and periodically confirming trust in a software application
US20150066799A1 (en) * 2013-09-03 2015-03-05 German Scipioni Check-in for delivery
US20150235212A1 (en) * 2012-10-17 2015-08-20 Royal Bank Of Canada Virtualization and secure processing of data
US20150278810A1 (en) * 2014-03-28 2015-10-01 Confia Systems, Inc. Device commerce using trusted computing system
US9454773B2 (en) * 2014-08-12 2016-09-27 Danal Inc. Aggregator system having a platform for engaging mobile device users
US9461983B2 (en) * 2014-08-12 2016-10-04 Danal Inc. Multi-dimensional framework for defining criteria that indicate when authentication should be revoked
US20170116596A1 (en) * 2014-07-25 2017-04-27 XPressTap, Inc. Mobile Communication Device with Proximity Based Communication Circuitry

Family Cites Families (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586260A (en) 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5684950A (en) 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US5918232A (en) 1997-11-26 1999-06-29 Whitelight Systems, Inc. Multidimensional domain modeling method and system
US6606663B1 (en) 1998-09-29 2003-08-12 Openwave Systems Inc. Method and apparatus for caching credentials in proxy servers for wireless user agents
US6226752B1 (en) 1999-05-11 2001-05-01 Sun Microsystems, Inc. Method and apparatus for authenticating users
US7356559B1 (en) 1999-07-01 2008-04-08 Affinity Internet, Inc. Integrated platform for developing and maintaining a distributed multiapplication online presence
US6678731B1 (en) 1999-07-08 2004-01-13 Microsoft Corporation Controlling access to a network server using an authentication ticket
US7039714B1 (en) 2000-01-19 2006-05-02 International Business Machines Corporation Method of enabling an intermediary server to impersonate a client user's identity to a plurality of authentication domains
US20010045451A1 (en) 2000-02-28 2001-11-29 Tan Warren Yung-Hang Method and system for token-based authentication
US8566248B1 (en) 2000-08-04 2013-10-22 Grdn. Net Solutions, Llc Initiation of an information transaction over a network via a wireless device
US20020156905A1 (en) 2001-02-21 2002-10-24 Boris Weissman System for logging on to servers through a portal computer
US7185364B2 (en) 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
US7020645B2 (en) 2001-04-19 2006-03-28 Eoriginal, Inc. Systems and methods for state-less authentication
US7119659B2 (en) * 2001-07-10 2006-10-10 American Express Travel Related Services Company, Inc. Systems and methods for providing a RF transaction device for use in a private label transaction
US20170061435A1 (en) * 2001-07-10 2017-03-02 American Express Travel Related Services Company, Inc. Using a secondary identifier to select a data set
US7013290B2 (en) 2001-08-03 2006-03-14 John Allen Ananian Personalized interactive digital catalog profiling
US7243369B2 (en) 2001-08-06 2007-07-10 Sun Microsystems, Inc. Uniform resource locator access management and control system and method
KR20030024127A (en) 2001-09-17 2003-03-26 주식회사 에스앤에이취정보 System and Method for automatically transferring member information
US20030115142A1 (en) 2001-12-12 2003-06-19 Intel Corporation Identity authentication portfolio system
US7373659B1 (en) 2001-12-20 2008-05-13 Mcafee, Inc. System, method and computer program product for applying prioritized security policies with predetermined limitations
US6934706B1 (en) 2002-03-22 2005-08-23 International Business Machines Corporation Centralized mapping of security credentials for database access operations
US8176186B2 (en) * 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US7526800B2 (en) 2003-02-28 2009-04-28 Novell, Inc. Administration of protection of data accessible by a mobile device
US20040128542A1 (en) 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for native authentication protocols in a heterogeneous federated environment
US7392536B2 (en) 2003-06-18 2008-06-24 Microsoft Corporation System and method for unified sign-on
US20050015490A1 (en) 2003-07-16 2005-01-20 Saare John E. System and method for single-sign-on access to a resource via a portal server
US7735122B1 (en) 2003-08-29 2010-06-08 Novell, Inc. Credential mapping
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
CA2489127C (en) 2004-01-27 2010-08-10 Novell, Inc. Techniques for dynamically establishing and managing authentication and trust relationships
US10635723B2 (en) * 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7984488B2 (en) 2004-04-09 2011-07-19 Microsoft Corporation Credential roaming in electronic computing systems
WO2006016375A1 (en) 2004-08-11 2006-02-16 Divya Deepika Bhasin Automatic form filling method and system
US20060156391A1 (en) 2005-01-11 2006-07-13 Joseph Salowey Method and apparatus providing policy-based revocation of network security credentials
US20110167470A1 (en) 2005-02-28 2011-07-07 Trust Digital, Llc Mobile data security system and methods
WO2006124841A2 (en) * 2005-05-17 2006-11-23 Telcordia Technologies, Inc. Secure virtual point of service for 3g wireless networks
KR101107191B1 (en) 2005-09-07 2012-01-25 엘지전자 주식회사 Mobile communication terminal having an register function of the attestation certificate and controlling method therefore
US7970743B1 (en) 2005-09-15 2011-06-28 Emc Corporation Retention and disposition of stored content associated with multiple stored objects
US8281136B2 (en) 2005-10-21 2012-10-02 Novell, Inc. Techniques for key distribution for use in encrypted communications
US8418234B2 (en) 2005-12-15 2013-04-09 International Business Machines Corporation Authentication of a principal in a federation
US7818300B1 (en) 2006-03-07 2010-10-19 Emc Corporation Consistent retention and disposition of managed content and associated metadata
DK3457307T3 (en) 2006-04-24 2019-09-23 Yubico Ab DEVICE FOR IDENTIFICATION AND AUTHENTICATION
US8738921B2 (en) * 2006-05-16 2014-05-27 Transactionsecure Llc System and method for authenticating a person's identity using a trusted entity
US8201217B1 (en) 2006-10-03 2012-06-12 Stamps.Com Inc. Systems and methods for single sign-in for multiple accounts
US8307404B2 (en) 2007-04-16 2012-11-06 Microsoft Corporation Policy-management infrastructure
US20090006646A1 (en) 2007-06-26 2009-01-01 Data Frenzy, Llc System and Method of Auto Populating Forms on Websites With Data From Central Database
US9131078B2 (en) * 2007-07-27 2015-09-08 Lagavulin Limited Apparatuses, methods, and systems for a portable, image-processing transmitter
US8024267B2 (en) * 2007-09-14 2011-09-20 Ebay Inc. Centralized transaction record storage
EP2053531B1 (en) 2007-10-25 2014-07-30 BlackBerry Limited Authentication certificate management for access to a wireless communication device
US7992197B2 (en) 2007-10-29 2011-08-02 Yahoo! Inc. Mobile authentication framework
US20090132813A1 (en) 2007-11-08 2009-05-21 Suridx, Inc. Apparatus and Methods for Providing Scalable, Dynamic, Individualized Credential Services Using Mobile Telephones
US20090132405A1 (en) 2007-11-15 2009-05-21 German Scipioni System and method for auto-filling information
US20090171900A1 (en) * 2007-12-28 2009-07-02 Ebay Inc. Printer driver for transaction record storage
US20090327131A1 (en) 2008-04-29 2009-12-31 American Express Travel Related Services Company, Inc. Dynamic account authentication using a mobile device
WO2010003239A1 (en) 2008-07-09 2010-01-14 Xtreme Mobility Inc. Secure wireless deposit system and method
US8719572B2 (en) 2008-07-16 2014-05-06 Disney Enterprises, Inc. System and method for managing authentication cookie encryption keys
WO2010008397A1 (en) 2008-07-18 2010-01-21 Vidoop, Llc. System and method for automated filling of web-based forms
US20100077208A1 (en) 2008-09-19 2010-03-25 Microsoft Corporation Certificate based authentication for online services
US8010429B2 (en) * 2008-11-04 2011-08-30 American Express Travel Related Services Company, Inc. Customized financial transaction pricing
US8126449B2 (en) * 2008-11-13 2012-02-28 American Express Travel Related Services Company, Inc. Servicing attributes on a mobile device
US8931033B2 (en) 2008-12-12 2015-01-06 Microsoft Corporation Integrating policies from a plurality of disparate management agents
US8533464B2 (en) 2008-12-19 2013-09-10 Sap Ag Revocation of credentials in secret handshake protocols
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
KR20110029758A (en) * 2009-09-16 2011-03-23 주식회사 다날 The method of international payment service using mobile phone certification and the system thereof
KR20110037666A (en) * 2009-10-07 2011-04-13 주식회사 다날 Method of electronic payment through multi-step certification using portable terminal
US20110125565A1 (en) 2009-11-24 2011-05-26 Visa U.S.A. Inc. Systems and Methods for Multi-Channel Offer Redemption
US8683498B2 (en) * 2009-12-16 2014-03-25 Ebay Inc. Systems and methods for facilitating call request aggregation over a network
US9336519B2 (en) * 2010-03-08 2016-05-10 Qualcom Incorporated System and method for determining appropriate redemption presentations for a virtual token associated with a stored value account
US8566917B2 (en) 2010-03-19 2013-10-22 Salesforce.Com, Inc. Efficient single sign-on and identity provider configuration and deployment in a database system
US10460316B2 (en) * 2010-04-05 2019-10-29 Paypal, Inc. Two device authentication
KR20110129330A (en) 2010-05-25 2011-12-01 주식회사 비즈모델라인 System for processing order of store, point of sales terminal and program
US20160253645A1 (en) * 2010-09-07 2016-09-01 Revel Systems, Inc. Point of sale system with data adapter
US20120084199A1 (en) 2010-09-30 2012-04-05 Ebay Inc. Automatic form filling
US8954544B2 (en) * 2010-09-30 2015-02-10 Axcient, Inc. Cloud-based virtual machines and offices
US9172693B2 (en) 2010-11-11 2015-10-27 Paypal, Inc. Quick payment using mobile device binding
US20120150748A1 (en) 2010-12-14 2012-06-14 Xtreme Mobility Inc. System and method for authenticating transactions through a mobile device
US9596237B2 (en) 2010-12-14 2017-03-14 Salt Technology, Inc. System and method for initiating transactions on a mobile device
CA2724297C (en) 2010-12-14 2013-11-12 Xtreme Mobility Inc. System and method for authenticating transactions through a mobile device
US20140156531A1 (en) 2010-12-14 2014-06-05 Salt Technology Inc. System and Method for Authenticating Transactions Through a Mobile Device
US20120246004A1 (en) 2010-12-22 2012-09-27 Book christopher j Systems and methods for customer interaction
US20130030934A1 (en) 2011-01-28 2013-01-31 Zumigo, Inc. System and method for credit card transaction approval based on mobile subscriber terminal location
US20120226580A1 (en) * 2011-03-03 2012-09-06 Ebay, Inc. Gift transactions via a client device
WO2012128466A1 (en) * 2011-03-24 2012-09-27 Danal Co.,Ltd. Method of controlling system and mobile device for processing payment data
US9444692B2 (en) 2011-04-26 2016-09-13 Openet Telecom Ltd. Systems, devices and methods of crowd-sourcing across multiple domains
CN102184204B (en) 2011-04-28 2013-03-13 常州大学 Auto fill method and system of intelligent Web form
US20120284101A1 (en) * 2011-05-06 2012-11-08 Verizon Patent And Licensing Inc. Mobile transaction services
US8805326B2 (en) 2011-05-10 2014-08-12 Ebay Inc. Payment transactions on mobile device using mobile carrier
US9734498B2 (en) * 2011-05-11 2017-08-15 Riavera Corp Mobile image payment system using short codes
US9721243B2 (en) * 2011-05-11 2017-08-01 Riavera Corp. Mobile payment system using subaccounts of account holder
US8676937B2 (en) 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
US20140337222A1 (en) 2011-07-14 2014-11-13 Telefonaktiebolaget L M Ericsson (Publ) Devices and methods providing mobile authentication options for brokered expedited checkout
US20130054337A1 (en) * 2011-08-22 2013-02-28 American Express Travel Related Services Company, Inc. Methods and systems for contactless payments for online ecommerce checkout
WO2013028901A2 (en) * 2011-08-23 2013-02-28 Visa International Service Association Authentication process for value transfer machine
EP3839720B1 (en) 2011-08-31 2023-11-29 Assa Abloy AB Mobile credential revocation
US10185814B2 (en) * 2011-09-07 2019-01-22 Elwha Llc Computational systems and methods for verifying personal information during transactions
US8943571B2 (en) 2011-10-04 2015-01-27 Qualcomm Incorporated Method and apparatus for protecting a single sign-on domain from credential leakage
US9665898B2 (en) * 2011-10-21 2017-05-30 Groupon, Inc. Executing multiple transactions using trigger inputs
US20130198598A1 (en) * 2012-01-18 2013-08-01 OneID Inc. Secure population of form data
US9253176B2 (en) * 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment
US20170372405A9 (en) * 2012-05-04 2017-12-28 Kachyng, Inc. Quick transaction completion using mobile device
WO2013173232A1 (en) 2012-05-14 2013-11-21 NetSuite Inc. System and methods for social data sharing capabilities for enterprise information systems
US20130317925A1 (en) * 2012-05-23 2013-11-28 Ebay, Inc. Transaction Auto Synchronization
US20130325611A1 (en) 2012-06-01 2013-12-05 Airpush, Inc. Methods and systems for pre-populating advertisement landing pages
US11507950B2 (en) * 2012-07-31 2022-11-22 Worldpay, Llc Systems and methods for secure normative intermediation of payments processing peripherals
AU2012101559B4 (en) 2012-08-10 2013-05-30 Device Authority Ltd Device identification using synthetic device keys
US20140201086A1 (en) * 2012-09-02 2014-07-17 Mpayme Ltd. Method and system for reversed near field contact electronic transaction
US20140074569A1 (en) * 2012-09-11 2014-03-13 First Data Corporation Systems and methods for facilitating loyalty and reward functionality in mobile commerce
GB2507725A (en) * 2012-10-08 2014-05-14 Everything Everywhere Ltd Personalising the display of subscriber data
US20160019536A1 (en) * 2012-10-17 2016-01-21 Royal Bank Of Canada Secure processing of data
WO2014105892A2 (en) * 2012-12-26 2014-07-03 First Data Corporation Systems and methods for providing a point of sale platform
JP6101824B2 (en) * 2013-02-06 2017-03-22 アップル インコーポレイテッド Apparatus and method for secure element transaction and asset management
US20140244348A1 (en) 2013-02-28 2014-08-28 Payam Zamani Merchant-directed computer-based commercial platform usable with a marketplace
CN105453119A (en) 2013-03-04 2016-03-30 阿普雷西有限公司 System and method for dynamic client relationship management (CRM)
US20140278978A1 (en) 2013-03-15 2014-09-18 Belly Inc. System and method for customer acquisition
US10362006B2 (en) * 2013-03-15 2019-07-23 Mastercard International Incorporated Systems and methods for cryptographic security as a service
EP2973278A4 (en) * 2013-03-15 2017-07-19 First Data Corporation Remote secure transactions
US20140282836A1 (en) 2013-03-15 2014-09-18 Microsoft Corporation Enterprise device policy management
US10204331B2 (en) * 2013-03-15 2019-02-12 Worldpay, Llc Conducting a transaction at a mobile POS terminal using a defined structure
US8706557B1 (en) * 2013-05-08 2014-04-22 Visa International Service Association Systems and methods to identify merchants
US20140351126A1 (en) * 2013-05-22 2014-11-27 Seth Priebatsch Secure synchronization of payment accounts to third-party applications or websites
US10304044B2 (en) * 2013-06-05 2019-05-28 American Express Travel Related Services Company, Inc. Multi-factor mobile user authentication
US9681305B2 (en) * 2013-06-05 2017-06-13 American Express Travel Related Services Company, Inc. System and method for multi-factor mobile user authentication
US20150006384A1 (en) * 2013-06-28 2015-01-01 Zahid Nasiruddin Shaikh Device fingerprinting
US11367073B2 (en) * 2013-07-03 2022-06-21 Capital One Services, Llc System and method for fraud control
US20150019402A1 (en) 2013-07-11 2015-01-15 PaySimple Inc. System and method for payment processing, merchant account application, and underwriting
US10475027B2 (en) * 2013-07-23 2019-11-12 Capital One Services, Llc System and method for exchanging data with smart cards
US20150073989A1 (en) * 2013-09-10 2015-03-12 Visa International Service Association Systems and methods to transmit consumer information in connection with payment transactions
US9805366B1 (en) * 2013-09-16 2017-10-31 Square, Inc. Associating payment information from a payment transaction with a user account
CA2866598A1 (en) * 2013-10-09 2015-04-09 Lauren Van Heerden Systems and methods for providing enhanced point-of-sale services involving multiple financial entities
CA2866596A1 (en) * 2013-10-09 2015-04-09 Lauren Van Heerden Systems and methods for providing enhanced point-of-sale services
US10154026B2 (en) 2013-10-15 2018-12-11 Microsoft Technology Licensing, Llc Secure remote modification of device credentials using device-generated credentials
US9892401B2 (en) * 2013-10-17 2018-02-13 Kachyng, Inc. Transaction completion using identity aggregator
US9384485B1 (en) * 2013-11-26 2016-07-05 American Express Travel Related Services Company, Inc. Systems and methods for rapidly provisioning functionality to one or more mobile communication devices
US10742520B2 (en) 2013-12-31 2020-08-11 Citrix Systems, Inc. Providing mobile device management functionalities
US10206098B2 (en) * 2014-01-07 2019-02-12 Cellco Partnership System and methods of transaction originator identifier for on-line commercial transaction
CN104765999B (en) * 2014-01-07 2020-06-30 腾讯科技(深圳)有限公司 Method, terminal and server for processing user resource information
CN104778174A (en) * 2014-01-10 2015-07-15 腾讯科技(深圳)有限公司 Data output control method and equipment
EP3111336A4 (en) * 2014-02-25 2017-10-04 Telstra Corporation Limited An electronic receipt system
US9603019B1 (en) * 2014-03-28 2017-03-21 Confia Systems, Inc. Secure and anonymized authentication
US20170302641A1 (en) * 2014-03-28 2017-10-19 Confia Systems, Inc. Secure and Anonymized Authentication
US10373154B2 (en) * 2014-05-19 2019-08-06 Mastercard International Incorporated Apparatus, method, and computer program product for settlement to a merchant's card account using an on-line bill payment platform
EP2953071A1 (en) * 2014-06-04 2015-12-09 Hewlett-Packard Development Company, L.P. Purchase support
US9836743B2 (en) * 2014-06-04 2017-12-05 Visa International Service Association Systems and methods to register merchants for data processing in an electronic transaction system
US10269077B2 (en) * 2014-06-09 2019-04-23 Visa International Service Association Systems and methods to detect changes in merchant identification information
US20160012428A1 (en) * 2014-07-11 2016-01-14 The Toronto-Dominion Bank Systems and methods for providing secure data transmission between networked computing systems

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114367A1 (en) * 2002-10-23 2005-05-26 Medialingua Group Method and system for getting on-line status, authentication, verification, authorization, communication and transaction services for Web-enabled hardware and software, based on uniform telephone address, as well as method of digital certificate (DC) composition, issuance and management providing multitier DC distribution model and multiple accounts access based on the use of DC and public key infrastructure (PKI)
US20120124659A1 (en) * 2010-11-17 2012-05-17 Michael Craft System and Method for Providing Diverse Secure Data Communication Permissions to Trusted Applications on a Portable Communication Device
US20130073859A1 (en) * 2011-09-21 2013-03-21 Visa International Service Association Systems and methods to secure user identification
US20130110690A1 (en) * 2011-10-26 2013-05-02 American Express Travel Related Services Company, Inc. Systems and methods for transaction account customer acquisition, enrollment, and management
US20150235212A1 (en) * 2012-10-17 2015-08-20 Royal Bank Of Canada Virtualization and secure processing of data
US20140279523A1 (en) * 2013-03-15 2014-09-18 Joe M. Lynam System and Method for Authenticating Payment Transactions
US20140373170A1 (en) * 2013-06-12 2014-12-18 Sequent Software, Inc. System and method for initially establishing and periodically confirming trust in a software application
US20150066799A1 (en) * 2013-09-03 2015-03-05 German Scipioni Check-in for delivery
US20150278810A1 (en) * 2014-03-28 2015-10-01 Confia Systems, Inc. Device commerce using trusted computing system
US20170116596A1 (en) * 2014-07-25 2017-04-27 XPressTap, Inc. Mobile Communication Device with Proximity Based Communication Circuitry
US9454773B2 (en) * 2014-08-12 2016-09-27 Danal Inc. Aggregator system having a platform for engaging mobile device users
US9461983B2 (en) * 2014-08-12 2016-10-04 Danal Inc. Multi-dimensional framework for defining criteria that indicate when authentication should be revoked

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263324B2 (en) 2019-06-04 2022-03-01 Bank Of America Corporation Monitoring source code repository data in real-time to protect sensitive information and provide entity-specific alerts
US11095637B2 (en) * 2019-08-16 2021-08-17 T-Mobile Usa, Inc. Interface for telecommunications by desktop native applications

Also Published As

Publication number Publication date
US20160050259A1 (en) 2016-02-18
EP2985728A1 (en) 2016-02-17
KR20170056536A (en) 2017-05-23
US10154082B2 (en) 2018-12-11
WO2016025220A1 (en) 2016-02-18

Similar Documents

Publication Publication Date Title
US20190281107A1 (en) Providing customer information obtained from a carrier system to a client device
US11159525B2 (en) Multi-dimensional framework for defining criteria that indicate when authentication should be revoked
US11665147B2 (en) Blockchain systems and methods for user authentication
US10594696B2 (en) Network-based authentication and security services
US11683179B2 (en) Systems and methods for secure remote identity verification
US8644800B2 (en) System and method for identity management for mobile devices
EP3244358A1 (en) Methods and systems for identity verification at self-service machines
US11687666B2 (en) System, method, and computer program product for conducting private set intersection (PSI) techniques with multiple parties using a data repository
US9727894B2 (en) Aggregator system having a platform for engaging mobile device users
WO2017196307A1 (en) Methods and systems for identity verification at self-service machines
WO2016025222A1 (en) An aggregator system having a platform for engaging mobile device users

Legal Events

Date Code Title Description
AS Assignment

Owner name: DANAL INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BANERJEE, ATREEDEV;PARDUE, JAMES;REEL/FRAME:047732/0062

Effective date: 20140811

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

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION