1. Field of Art
The disclosure generally relates to the field of secure electronic transactions, and more specifically, providing a secure, encrypted electronic method of credit card information exchange that represents a physical handover of the credit card and return of the credit card at a marketplace.
2. Description of the Related Art
Purchasing products and services (goods) via the internet using smart mobile devices has become common today. Many merchants set up online marketplaces that can be easily accessed via the mobile devices. As a part of setting up an online marketplace, a merchant needs to set up a method for receiving a payment from a consumer for conducting the sale of goods electronically. The merchant generally uses a third party payment application provider service to set up the method of receiving payments and provides their bank account details to the third party service provider in order to receive payments electronically. A consumer uses the third party payment service to pay for the goods bought online from the merchant and provides credit card information through the third party application in order to complete the purchase of goods from a merchant in the online marketplace. The merchant's bank account details and the consumer's credit card information reside on the server associated with the third party application provider.
This method of setting up a payment method and receiving credit card information is (a) not secure and (b) requires significant integration effort to set up a new merchant on the marketplace. Regarding (a), the server of the third party application may be susceptible to hacking, leading to potential misuse of confidential information residing on the server. Moreover, there is a trust issue because the third party service provider has access to the confidential information of the consumer and the merchant. Regarding (b), the process of setting up a new merchant requires significant effort because the merchant needs to provide and link their bank account to the third party application. This is a tedious step that can require a lot of business persuasion for a new marketplace, especially if the new merchants are large corporations. It is much easier to sign up new merchants if they are allowed to use their existing payments systems instead, as described in this specification.
The disclosed embodiments have advantages and features which will be more readily apparent from the detailed description, the appended claims, and the accompanying figures (or drawings). A brief introduction of the figures is below.
The Figures (FIGS.) and the following description relate to preferred embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.
Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It is noted that wherever practicable similar or like reference numbers may be used in the figures and may indicate similar or like functionality. The figures depict embodiments of the disclosed system (or method) for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
One embodiment of a disclosed system, method, and a computer program product (comprised of a computer readable storage medium storing computer instructions thereon) that includes a credit card exchange system that can be used to conduct a transaction of purchase of goods from online merchants. The system provides a mechanism for digitally representing a physical handover of a credit card between a merchant and consumer in a physical marketplace such that the merchant does not retain the credit card itself. The system further provides a process to conduct the transaction of purchase of goods between an online merchant and a consumer.
The process includes receiving a request from a consumer device to view goods from online merchants, each online merchant is associated with a merchant device. In response to the request from the consumer device, a list of available goods from the online merchants is transmitter to the consumer device. In some embodiments, the list is generated by performing a keyword search amongst the goods available for purchase from the online merchants.
The process further includes receiving a request from the consumer device to purchase goods from one of the online merchants. In response, the process further includes receiving a request to obtain credit card information and shipping information from the merchant device associated with the online merchant from which the purchased goods were requested by the consumer device. The process further includes receiving the credit card information and shipping information from the consumer device and encrypting the credit card information using a public key. The public key may be retrieved from a server. The encrypted credit card information and the shipping information is transmitted to the merchant device over a network.
The credit card information can be decrypted using a private key that can be retrieved from a storage module on the merchant device. The system displays the credit card information for a predefined interval of time and then destroys the information from the merchant device. For the predefined interval of time, when the credit card information is displayed, a screen shot capture detector is enabled.
Referring now to FIG. (
The consumer application 110 interfaces with a communication module 115 and a consumer data transmission (Tx) and reception (or receiver, Rx) module 120. The communication module 110 comprises of a messaging system that allows the consumer application 110 to send/receive messages to/from the merchant application 145, associated with the online merchants 130. The message can be either a broadcast, e.g., sent to all of the merchant applications 145 or a unicast, e.g., sent to one or more individual merchant applications like 145a or 145n. The messages may include sending requests to view or purchase goods from the online merchants, receiving a list of goods available to purchase from the online merchants, receiving information regarding promotions or sales at various online merchants, or receiving requests for shipping information or credit card information to complete a transaction of purchasing goods. Online merchants will transmit confirmation of said order once it is complete.
The consumer application 110 further interfaces with a consumer data transmission/reception (Tx/Rx) module 120 that sends or receives consumer data to the merchant application 145. The consumer data may include credit card information, billing or shipping address, consumer name, consumer phone number, email address or other such details. The confidential consumer data, for example, the credit card information is encrypted by the consumer application 110 prior to sending it over the network 125 via the consumer data Tx/Rx module 120. The consumer data is encrypted using a public key associated with the merchant application 145.
Each online merchant 130 is associated with a merchant application 145. The merchant application, for example 145a, interfaces with a communication module 135a, a merchant data transmission/reception (Tx/Rx) module 140a, a screen shot capture detector 150a, and a timer and memory content destroyer module 155a. In some embodiments, the merchant device 160 includes a storage module, not shown in the figure. The storage module may include a machine-readable medium disk, memory or other such storage modules. A private key used for purposes of security/encryption/decryption may be stored in the storage module.
The communication module 135a includes a messaging system for sending/receiving messages to/from the consumer device 105. The messages may include receiving requests for viewing or purchasing goods, sending requests to obtain credit card information or shipping information to complete a transaction of purchasing goods. The merchant data Tx/Rx module 140a receives the encrypted credit card information from the consumer device 105 via the network 125. The merchant data Tx/Rx module 140a receives the credit card information and sends it to the merchant application 145a. The merchant application 145a decrypts and displays the credit card information using a private key that resides on the merchant device 160a.
The timer module 155a and the screen shot capture detector 150a are enabled along with the display of the credit card information. The screen shot capture detector 150a detects a screen shot capture on the merchant device 160a within the predefined interval of time, for example, 15 minutes, when the credit card information is being displayed on the merchant device 160a. When the timer reaches the predefined interval of time, or when the merchant application 145a receives a transaction completion notification, the merchant application 145a stops the display of the credit card information. The memory content destroyer 150a deletes the contents of the memory that temporarily stores the credit card information.
Referring now to
Once a consumer selects a product for purchase, the consumer application 110 instructs the communication module 115 to send a request 204 to the merchant application 145 to purchase the product. The merchant application 145 sends a request to the consumer via the consumer application 110 to obtain credit card and shipping information to complete the transaction of purchasing the product. The consumer application 110 obtains the credit card and shipping information 206 via the keyboard, camera or voice input from the consumer device 105. The credit card information is encrypted before sending it over the network 125 to the merchant application 145. The consumer application 110 instructs 208 the consumer data Tx/Rx module 120 to fetch the merchant application's 145 public key. Once the consumer application 110 receives the public key, it encrypts 210 the credit card information using the public key. The encrypted credit card information and the shipping information are sent 212 to the consumer data Tx/Rx module 120. The shipping information is not encrypted. The consumer application 110 instructs the consumer data Tx/Rx module 120 to send the credit card and shipping information to the merchant device 160 via the network 125.
Referring now to
The consumer device 105 sends encrypted credit card information to the merchant device 160. The merchant application 145 has to decrypt the credit card information in order to display it on the merchant device 160. The merchant application 145 retrieves a private key from a storage module of the merchant device 160 and decrypts 306 the credit card information. The private key for a merchant device is unique. In some embodiments, the private key may be generated using a random number generator or a pseudo random number generator. In some embodiments, a cryptographic system such as Data Encryption Standard (DES) may be used to generate the private keys for a merchant device 160.
The merchant application 145 concurrently displays the credit card information, instructs the timer module 155 to the start the timer 308 for a predefined interval of time, for e.g., 15 minutes and instructs the screen shot capture detector module 150 to start 310 for the same predefined interval of time.
The merchant can enter the credit card information into the terminal to charge for the purchase of the product, similar to the physical world. Once the credit card is charged, the merchant indicates via a key (e.g., software, electrical, or mechanical) on the merchant device 160 that the transaction has completed. On receiving the transaction completion indication, the merchant application 145 stops the display of credit card and instructs the memory content destroyer module 155 to destroy the contents of the memory location 312 that stored the credit card information. The merchant application 145 completes the transaction by generating a receipt for the purchased product and sending 314 it to the consumer application 110 via the communication module 135.
Referring now to
Each online merchant may individually respond 404 via the merchant application 145 executing on the merchant device 160 with a product list relevant to the request made by the consumer.
The consumer may view one or more products from one or more online merchants and select a product to purchase 412 via the consumer application 110.
The merchant device 160 receives the request to purchase the product. The merchant device 160 responds with a request 414 to obtain credit card and shipping information from the consumer to complete the transaction. The consumer application 110 requests the consumer to enter the credit card information and shipping information. The consumer can enter the information 422 via a key (e.g., software, electrical, or mechanical), voice or by taking a picture of the credit card via the consumer device 105.
The consumer device 105 obtains a merchant application 145 public key and encrypts the credit card information with it. Alternatively, the consumer device 105 may add an additional layer of security by converting the encrypted credit card information to a machine readable QR barcode. The consumer device 105 sends the encrypted credit card information and the shipping information 424 to the merchant device 160 over the network.
The merchant device 160 receives the encrypted credit card information and the shipping information. A unique private key resides on every merchant device 160. The merchant application 145 obtains the private key from the merchant device and decrypts the credit card information with it. The merchant application 145 displays 426 the credit card information.
Once the credit card information is displayed by the merchant application 145, a timer starts 428 on the merchant device 160. A screen shot capture detector 150 is enabled 430 for the same predetermined interval of time.
The merchant can now view and enter the credit card details on a terminal, similar to swiping the credit card details in a physical world, to complete the purchase of goods 432. The merchant application 145 can display the credit card information multiple times in the predefined interval of time, but the credit card can be charged only once, for an amount equivalent to the price of the product being purchased. Once the credit card information is processed by the merchant, the merchant may complete 434 the financial part of the transaction by tapping the “Mark As Paid” button 1105. Credit card information will be displayed for a predefined interval of time 1115 or until the merchant taps the “Mark As Paid” button 1105.
Once the financial part of the transaction is completed or the timer expires, the merchant application 145 destroys 436 the contents of the memory that contained the credit card information on the merchant device 160. The merchant may now complete the transaction by sending a receipt 438 to the consumer device 105 to acknowledge the purchase of the product from the online merchant 130.
The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a smartphone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions 1324 (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute instructions 1324 to perform any one or more of the methodologies discussed herein.
The example computer system 1300 includes a processor 1302 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), one or more application specific integrated circuits (ASICs), one or more radio-frequency integrated circuits (RFICs), or any combination of these), a main memory 1304, and a static memory 1306, which are configured to communicate with each other via a bus 1308. The computer system 1300 may further include graphics display unit 1310 (e.g., a plasma display panel (PDP), a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)). The computer system 1300 may also include alphanumeric input device 1312 (e.g., a keyboard), a cursor control device 1314 (e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit 1316, a signal generation device 1318 (e.g., a speaker), and a network interface device 1320, which also are configured to communicate via the bus 1308.
The storage unit 1316 includes a machine-readable medium 1322 on which is stored instructions 1324 (e.g., software) embodying any one or more of the methodologies or functions described herein. The instructions 1324 (e.g., software) may also reside, completely or at least partially, within the main memory 1304 or within the processor 1302 (e.g., within a processor's cache memory) during execution thereof by the computer system 1300, the main memory 1304 and the processor 1302 also constituting machine-readable media. The instructions 1324 (e.g., software) may be transmitted or received over a network 1326 via the network interface device 1320.
While machine-readable medium 1322 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions (e.g., instructions 1324). The term “machine-readable medium” shall also be taken to include any medium that is capable of storing instructions (e.g., instructions 1324) for execution by the machine and that cause the machine to perform any one or more of the methodologies disclosed herein. The term “machine-readable medium” includes, but not be limited to, data repositories in the form of solid-state memories, optical media, and magnetic media.
Example benefits and advantages of the disclosed configurations include secure process of conducting an electronic transaction involving credit card exchanges in an online marketplace. A technological benefit of setting up payments by this process is that the credit card information does not reside on any third party application servers, thereby reducing risks from electronic security issues such as electronic data breaches. This means that the information is not susceptible to hacking or potential misuse of credit card information, leading to a secure exchange of credit card information. To add to the security aspect, the credit card information is displayed for a limited time to the merchant, and the merchant cannot take a screen shot of the credit card, or charge the credit card multiple times. All of the mentioned fraudulent activities can be detected by the merchant application 145. Moreover, the encrypted credit card information may be converted to a machine readable code such as QR code, which cannot be read by a merchant, when entering into a terminal. The terminal can read the QR code and charge the credit card for payment purposes.
Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms, for example, as illustrated in
In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
The various operations of example methods described herein may be performed, at least partially, by one or more processors, e.g., processor 102, that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., application program interfaces (APIs).)
The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
Some portions of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for providing an electronic method of credit card information exchange that represents a physical handover of the credit card and return of the credit card at a marketplace through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.
This application claims the benefit of U.S. Provisional Application No. 62/098,283, filed Dec. 30, 2014, which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62098283 | Dec 2014 | US |