System, device and method for verifying payment validity
By using public-key-private key authentication and near-field communication technology, payment tokens are generated for multi-factor authentication, which solves the security vulnerabilities of authentication in existing payment card systems and realizes a secure and simplified payment verification process.
Patent Information
- Application Number
- CN202380044078.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-21
- Filing Date
- 2023-06-14
- Publication Date
- 2025-01-10
AI Technical Summary
Existing payment card systems have security vulnerabilities in verifying identity and preventing fraud, and sensitive information is easily leaked. More secure verification methods are needed to ensure payment validity.
A public-key-private-key authentication system is adopted, payment tokens are generated through wireless devices, the ownership of the public key is verified by the backend platform, and multi-factor authentication is performed in combination with near-field communication technology to avoid transmitting sensitive credit card information.
It achieves a secure and simplified payment verification process, reduces system costs, ensures payment validity and multi-factor authentication of user identity, and avoids the leakage of sensitive information.
Smart Images

Figure CN119301624A_ABST
Abstract
Description
Technical Field
[0001] Some of the content described herein generally relates to methods, systems and devices for verifying the validity of payments. More specifically, the present disclosure relates to verification of financial transactions. Background Art
[0002] It is widely known that payment cards, such as credit and debit cards, while providing significant benefits to consumers and businesses, are susceptible to fraud.
[0003] Preventing fraud and establishing a secure purchasing environment for payment card holders have been the goals of many efforts in the field since the advent of payment cards in the 20th century.
[0004] The Eourepay, Visa, Mastercard (EMV) standard allows for the authentication of cardholder identity by securely transmitting the payment card number and 4-digit PIN from a merchant's point of sale (POS) for verification by the card issuer. Once the payment card number and 4-digit PIN details, along with the expiration date, are disclosed to an unauthorized person, that person can use the credit card to purchase goods and services.
[0005] Therefore, a safer system and method are needed to make up for the above defects. Summary of the invention
[0006] The present invention is described below by way of example only in relation to systems, methods and products for verifying the validity of payments.
[0007] According to aspects of the presently disclosed subject matter, the present invention may include a payment terminal comprising one or more tangible computer-readable non-transitory storage media, the storage medium comprising program instructions for verifying the validity of a payment, wherein the program instructions are executed by one or more processors so that the payment terminal: receives a payment token issued by a software development kit (SDK) located at a wireless device, wherein the payment token comprises a public key in a public-private key pair; generates a payment request comprising a transaction information message, and transmits the payment request and the payment token to at least one back-end platform to be stored in at least one database; and receives payment and transaction confirmation messages from the at least one back-end platform based on payment approval by the at least one back-end platform, wherein ownership of the public key is verified by at least one back-end platform based on a comparison of a public key of the transaction information message signed by a private key in the wireless device with the public key of the payment token.
[0008] For example, the program instructions of the storage medium include: transmitting a hash value of the transaction information message to a wireless device that initiates the payment; wherein, receiving a transaction confirmation after the wireless device compares a transaction verification message with the hash value of the transaction information message.
[0009] For example, the program instructions of the storage medium, when executed, cause the payment token to be received via at least one of: radio frequency identification (RFID) communication, short range radio communication, and near field communication (NFC).
[0010] For example, the consumer identification information of the payment token includes at least one of the following: a random number stored in the at least one backend platform, a hash value of information associated with the user, and a unique serial number.
[0011] For example, the transaction information includes at least one of the amount payable, the product list, and the merchant ID.
[0012] One embodiment may include a method for verifying the validity of a payment, comprising: providing a public key-private key pair by a wireless device; the wireless device generates a payment token including a public key in the public key-private key pair and consumer identification information; the wireless device provides the payment token to a payment terminal at a point of sale; the payment terminal generates a first payment request message including a transaction information message of a payment and transmits the payment request message and the payment token to at least one back-end platform; the at least one back-end platform generates a transaction verification message based on the transaction information message; the transaction verification message is provided to a device associated with the public key of the payment token; the transaction verification message is signed by the private key in the public key-private key pair and the signed transaction verification message is sent to the at least one back-end platform; the ownership of the first public key is verified by the at least one back-end platform by comparing the second public key provided by the second transaction information signed by the private key in the wireless device with the first public key; the transaction is approved by the customer platform of at least one financing entity; the payment verification result is notified to the payment terminal, the wireless device and the customer platform via the at least one back-end platform by sending a transaction confirmation message from the at least one back-end platform.
[0013] For example, the consumer identification information of the payment token is at least one of the following: a random number stored in the at least one backend platform, a hash value of information associated with the user, and a unique serial number.
[0014] For example, the transaction information includes at least one of the amount payable, the product list, and the merchant ID.
[0015] For example, the payment token is generated in the following manner: generating a private key as a random number; generating a public key by hashing the private key; hashing consumer identification information including at least one of the following: consumer contact information, wireless device ID, payment information, geographic location and consumer ID number; and constructing the payment token through the hash value of the public key and the consumer identification information.
[0016] Another embodiment may include a wireless device comprising one or more tangible computer-readable non-transitory storage media installed with an application including program instructions for verifying the validity of a payment, wherein the program instructions are executed by one or more processors to: provide a public key-private key pair; generate a payment token including a public key in the public key-private key pair; provide the payment token to a payment terminal at the point of sale; receive a transaction information message from the payment terminal; receive a transaction verification message from at least one back-end platform; based on a comparison of the transaction verification message and the transaction information message, sign the transaction verification message by a private key in the public key-private key pair, and send the signed transaction verification message to the at least one back-end platform; after verifying the ownership of the public key based on a comparison of the public key of the signed transaction message with the payment token, receive a transaction confirmation, wherein the transaction confirmation is received after the transaction is approved by a customer platform of at least one financing entity.
[0017] For example, the payment token includes consumer identification information, and the consumer identification information includes at least one of the following: a random number stored in the at least one backend platform, and a hash value of information associated with the user.
[0018] For example, the program instructions of the storage medium when executed cause: generating a payment token before each payment is to be verified.
[0019] For example, when the program instructions of the storage medium are executed, a private key-public key pair is generated when a consumer registers the at least one backend platform for the first time.
[0020] For example, the program instructions of the storage medium, when executed, cause: importing an existing public key-private key pair for use in the payment token.
[0021] For example, when the program instructions of the storage medium are executed, the transaction verification message is signed when at least one of the following occurs: the wireless device is unlocked; when the geographic location of the wireless device is similar to the geographic location of the payment terminal; and when the transaction to be signed does not exceed a preset amount limit.
[0022] For example, the program instructions of the storage medium, when executed, cause: generating a private key as a random number; generating a public key by hashing the private key; hashing consumer identification information including at least one of the following: consumer contact information, wireless device ID, payment information, geographic location and consumer ID number; and constructing the payment token by the hash value of the public key and the consumer identification information.
[0023] Various objects, features and aspects of the present invention will become more apparent from the following detailed description of preferred embodiments of the present invention and the accompanying drawings, in which like numerals represent like components. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to better understand the subject matter disclosed herein and to illustrate how it may be implemented in practice, various embodiments will now be described, by way of non-limiting examples only, with reference to the accompanying drawings, in which:
[0025] Figure 1 A block diagram of a system for verifying payment validity is shown, in accordance with some demonstrative embodiments.
[0026] Figure 2 A flow chart of a method for verifying payment validity is shown, in accordance with some demonstrative embodiments.
[0027] Figure 3 A flow chart of a method for verifying payment validity is shown, in accordance with some demonstrative embodiments.
[0028] Figure 4 A flow chart of a method for verifying payment validity is shown, in accordance with some demonstrative embodiments.
[0029] Figure 5 An article of manufacture is shown according to some demonstrative embodiments.
[0030] Figure 6 A block diagram of a system for verifying payment validity is shown, in accordance with some demonstrative embodiments. DETAILED DESCRIPTION
[0031] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of certain embodiments. However, one of ordinary skill in the art will appreciate that certain embodiments may be implemented without these specific details. In other cases, well-known methods, procedures, components, units, and / or circuits are not described in detail to avoid obscuring the discussion.
[0032] Discussions herein using terms such as “process,” “compute,” “calculate,” “determine,” “create,” “analyze,” “examine,” etc. may refer to one or more operations and / or processes on a computer, computing platform, computing system, or other electronic computing device that manipulate and / or transform data represented as physical (e.g., electronic) quantities in computer registers and / or memories into other data also represented as physical quantities in computer registers and / or memories or other information storage media that may store instructions for performing the operations and / or processes.
[0033] As used herein, the terms “plurality” and “plurality” include, for example, “a plurality” or “two or more.” For example, “a plurality of items” includes two or more items.
[0034] References to "one embodiment," "an embodiment," "illustrative embodiments," "various embodiments," etc., indicate that one or more of the described embodiments may include a particular feature, structure, or characteristic, but not every embodiment must include the particular feature, structure, or characteristic. Furthermore, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, although it may.
[0035] As used herein, unless otherwise indicated, the use of ordinal adjectives "first," "second," "third," etc. to describe common objects merely indicates different examples of similar objects being referred to and is not intended to imply that the objects described must be arranged in a given order, whether chronological, spatial, ranked, or any other order.
[0036] The term "circuit" as used herein may refer to an application specific integrated circuit (ASIC), an integrated circuit, an electronic circuit, a processor (shared, dedicated, or grouped) and / or memory (shared, dedicated, or grouped) that executes one or more software or firmware programs, a combinational logic circuit, and / or other suitable hardware components that provide the functionality. In some illustrative embodiments, the circuit may be implemented in one or more software or firmware modules, or the functionality associated with the circuit may be implemented by one or more software or firmware modules. In some illustrative embodiments, the circuit may include logic that is at least partially operable in hardware.
[0037] The term "logic" may refer to, for example, computing logic embedded in a circuit of a computing device and / or computing logic stored in a memory of a computing device. For example, logic may be accessed by a processor of a computing device to execute computing logic to perform computing functions and / or operations. In one example, logic may be embedded in various types of memory and / or firmware, such as silicon blocks of various chips and / or processors. Logic may be included in and / or implemented as part of various circuits, such as radio circuits, receiver circuits, control circuits, transmitter circuits, transceiver circuits, processor circuits, and the like. In one example, logic may be embedded in volatile memory and / or non-volatile memory, including random access memory, read-only memory, programmable memory, magnetic memory, flash memory, persistent memory, and the like. Logic may be executed by one or more processors using memory, such as registers, stacks (stuck), buffers, and the like, which are connected to one or more processors, such as to execute logic as needed.
[0038] The term "module" used below is an object file containing code used to extend the running kernel environment.
[0039] The term "software engine" as used below is an object file containing code for extending the running kernel environment.
[0040] The term "digital wallet" used hereinafter is both a software and an information component. The digital wallet can be stored on the client. The digital wallet can use, for example, near field communication (NFC) of a smartphone to transfer payment amounts by touching the smartphone to a payment terminal at a store.
[0041] The term "customer loyalty club" used hereinafter is a business-to-business (B2B) customer that owns a loyalty club product and operates loyalty-based mobile services, such as a loyalty card application, for its customer base.
[0042] The term "backend platform" used hereinafter refers to the cloud platform, backend server of the digital wallet system, which is configured to manage and control the digital wallet service and interact with selected third-party systems and digital wallet modules and / or digital wallet engines and / or digital wallet SDKs.
[0043] The term "digital wallet SDK" used hereinafter may include a digital wallet module and / or a digital wallet engine. A digital wallet SDK is a front end of a digital wallet software program that resides in and is integrated into a custom mobile application. A digital wallet SDK can manage the front end payment interactions of end users through the client's mobile application. The digital wallet SDK can communicate with the POS terminal of a vendor POS on behalf of the digital wallet platform using the NFC protocol.
[0044] As used hereinafter, the term "Customer Relationship Manager (CRM) Application Programming Interface (API)" is an API configured to communicate with a CRM. The CRM is configured to manage one or more customer rewards programs.
[0045] The term "payment terminal" as used hereinafter may include, for example, a credit card terminal of a particular merchant and / or supplier and / or store, etc., on which various payment transactions may be conducted when an end-user decides to conduct a payment transaction using their consumer mobile application.
[0046] The term "customer platform" as used hereinafter may include, for example, a partner's customer's technology platform that is configured to interact with a digital wallet to provide payment through the digital wallet platform. The backend technology platform communicates with the customer mobile application and the digital wallet SDK, depending on the payment configuration selected by the customer and / or partner. For example, the platform will be cloud-based to run on, for example, Amazon Web Services (AWS) and / or Microsoft AZURE.
[0047] The term "crypto wallet module" used hereinafter may refer to an application or SDK configured to generate and store a random private key-public key pair and a corresponding crypto wallet address generated from the public key. The crypto wallet module may be further configured to interact with at least one blockchain network, such as the Ethereum blockchain and other similar blockchain networks, such as Bitcoin, Solana, Cardano, Polkadot, Avalanche, etc.
[0048] The term "hash value" refers to the output of a mathematical function that takes an input of arbitrary length and converts it to a fixed length such that even negligible differences in the inputs will result in completely different hash values for the output, but applying the hash function to the same input will always produce the same hash value. Hash values are used to verify the contents of a message. When the content changes, the hash value of the new message will be different from the original message.
[0049] The term "payment token" as used hereinafter may include a unique placeholder referred to as a payment token that is configured to contain information that uniquely identifies a user, for example, encrypted using a known public-private algorithm such as the Rivest-Shamir-Adleman - "RSA" algorithm.
[0050] In some embodiments, a payment token may consist of a public key representing an address on a blockchain network owned by a user and other identifying information, such as name, contact information, mobile device metadata, time, geolocation data, etc.
[0051] For example, if you parse a user's uniquely identifiable information in a simple JSON format containing the following:
[0052] {“address”:“0xb794f5ea0ba39494ce839613fffba74279579268”, “name” = “JohnSmith”}, then the payment token can contain the following encrypted string:
[0053] NjXlHoGdktQHFF5hJOPsy+SJmOhCTEgcYFVvpJCwuoR6TDQjmTMJI6G+ / lCf2mWYswjCz / 6pSW / 90EQmzp6Xi v4x8maycBsVwNIPa2t4dcWAGK0D9n5mkUaA2tz+pk1FrOYq4ttrLZc7pNzCaDpcNyOa8ZEnwAA7TSqNfsvqXf w=.
[0054] In another example implementation, only the identifiable information is encrypted, and the public address is parsed as is in the JSON file. When the identification string is: "name: John Smith", the JSON file should be:
[0055] {"address":"0xb794f5ea0ba39494ce839613fffba74279579268","idlnfo":"XFftAh5RGXtl zJ622+vrg2nUBozV97KdyHRL300xBIGdiCRzf4h+bsxbYGFqCxHzLp4HidpJAc3PvzjPwE1AuQ==”}
[0056] The above are just examples to clarify the terminology used in this article. In practice, the payment token may contain other parameters, including a one-time random number, which is also stored in the database of the backend platform to ensure that the hash portion of the payment token remains unique each time it is used.
[0057] The term "mobile application" used hereinafter may include at least one application installed on a customer's wireless device, such as a loyalty club application, an e-wallet application, etc. The customer application may include a digital wallet SDK and may interact with a digital wallet platform and a customer platform. The customer mobile application may be configured to run on a wireless device operating system such as, for example, iOS and / or Android.
[0058] Some illustrative embodiments may build ecosystem concepts and blockchain technology on web3. For example, the web3 ecosystem concept and blockchain technology establish a secure, transparent and decentralized payment system. Using blockchain enables consumers and businesses to directly exchange cryptocurrencies, such as Bitcoin and Ethereum, through crypto wallets without the need for intermediaries. Payments are verified and anonymously registered on a distributed ledger, where, for example, a copy of the distributed ledger can be stored on a crypto wallet.
[0059] For example, ownership verification of a crypto wallet and its funds can be achieved by using a private-public key, as the underlying assumption is that only the owner of the crypto wallet has access to the private key, making the public key usable as a unique wallet identifier.
[0060] More than a decade after the Bitcoin blockchain was first implemented, the technology is still struggling to be adopted as a consumer payment method and remains primarily a speculative investment channel.
[0061] There are many reasons why blockchain technology and cryptocurrencies have not yet achieved their purpose of becoming viable alternatives to traditional centralized payment methods and fiat currencies.
[0062] For example, some of these reasons are related to the inherent energy inefficiency of blockchain design. Others are related to the anonymity of transactions, which provides a platform for money laundering, and another is related to the high transaction fees awarded to transaction validators.
[0063] Embodiments of the present disclosure may be directed to systems, devices, and methods for verifying payment validity that avoid the use of complex standards for processing the transmission of sensitive credit card information. For example, using cryptographic public-private key authentication in conjunction with a point-of-sale terminal configured to process public keys and verify ownership and payment can save costs and simplify the system compared to transmitting or using sensitive credit card numbers because the use of complex standards for processing the transmission of sensitive credit card information (e.g., EMV) can now be avoided.
[0064] Other embodiments may involve systems, devices, and methods that enable verification of ownership of a public unique consumer identifier. For example, due to the nature of public-private encryption, there is no reason to transmit sensitive secret information such as credit card numbers, expiration dates, CVC numbers, and 4-digit PINs to prove ownership. Instead, a public key may be transmitted along with additional information, and the present disclosure introduces devices, systems, and methods that enable consumers to prove ownership of a transmitted public key.
[0065] However, some embodiments may also be configured to enable crypto wallet-based payment verification without blockchain-related fees. Although blockchain-based payments may be considered secure, having to record each payment in a public distributed ledger for payment verification purposes may be considered inefficient. By using the present disclosure, many members of the public who already have access to crypto wallets as clients of a blockchain network can use their wallets to purchase goods and services through their crypto wallets, but without paying any fees associated with cryptocurrency transactions and without having to worry about privacy issues because their purchases will not be published in the distributed public ledger.
[0066] Advantageously, the apparatus and system configurations therein allow for verification of ownership of a payment account in a multi-factor authentication manner while requiring only a single action to be performed by the user.
[0067] For example: when a user brings the Near Field Communication (NFC) chip of his smartphone close to the payment terminal device at checkout, he performs a single operation. The application containing the Software Development Kit (SDK) shall send a payment token with a public key representing the user to the payment terminal, which will be forwarded to the server along with the checkout information of the payment terminal. After cross-referencing the received payment token and public key in the user database and associating it with the user, the server can forward the transaction information to the smartphone pre-associated with the user.
[0068] After the preset conditions are met (for example, if the smartphone screen is unlocked, the geographical location of the smartphone is similar to that of the payment terminal), the SDK shall use the private key corresponding to the public key and sign the previously received transaction message, and return the signed transaction message to the server. The server may then decrypt the received signed message, and may compare multiple parameters of the signed message with the database entry. The multiple parameters may include at least one of the following: a public key derived from the signed message and the public key previously received with the payment token; the content and transaction information of the signed message received from the payment terminal; the user information of the payment token received from the payment terminal and the user information collected during the first registration.
[0069] As can be seen, although the user only needs to perform a single action, his identity and transaction are verified in a multi-factor authentication manner from two different perspectives using the properties of public-private authentication. The first perspective is to compare the public key of the payment token with the public key provided during registration. The second perspective is to compare the payment token public key with the message signed by the corresponding private key.
[0070] First reference Figure 1 , which depicts an illustrative embodiment of the present invention, namely a system 10 for verifying payment validity. The system 10 may include at least one consumer wireless device 100, a backend platform 110, at least one payment terminal 120, and a client platform 131 of a financing entity 130.
[0071] In some demonstrative embodiments, wireless device 100 may include processor 101, NFC communication kit 102, Internet modem 103, crypto wallet application 104, digital wallet SDK 105, and payment token storage module 106. Processor 101 may be configured to run at least one of mobile applications 107, which may include digital wallet SDK 105 and crypto wallet module 104. Mobile application 107 may be configured to interact with a blockchain network, such as the Ethereum blockchain.
[0072] In some demonstrative embodiments, crypto wallet 104 may include at least one public-private key pair 108 , and payment token storage module 106 includes at least one payment token 109 .
[0073] In some illustrative embodiments, the Internet modem 103 may use common wireless communication protocols, such as, for example, 60Ghz, 5G, 6G, WiFi, any cellular communication protocol, any IEEE 811 protocol, etc.
[0074] In some demonstrative embodiments, payment terminal 120 of a merchant POS may include, for example, processing circuitry 121 , an NFC communication kit 122 , an Internet modem 123 , a transaction generator module 124 for generating at least one payment request message 126 , and a payment token transceiver module 125 .
[0075] For example, the processing circuit 121 may be configured to run an application including a transaction generator module 124 and a payment token transceiver module 125 .
[0076] The payment terminal 120 may be in digital communication with the backend platform 110 and with the consumer wireless device 100 .
[0077] For example, the backend platform 110 can digitally communicate with one or more payment terminals 120, consumer wireless devices 100, and with client platforms 131 of various financing entities 130. The backend platform 110 can include a transaction database 111, a message generator module 112, a consumer database 116 processing circuit (not shown), and the consumer database 116 processing circuit can be configured to perform the functions of a payment token decryption module 113, a message signature decryption module 114, and a transaction verification module 115.
[0078] refer to Figure 2 The exemplary embodiments of some embodiments will be understood from the following methods. For clarity, the structural components are shown by their Figure 1 Although the method may be performed with other embodiments of the invention.
[0079] The method for verifying the validity of a payment may include providing a public-private key pair 108 (text box 201 ), for example, by using a mobile application 107 installed on a consumer wireless device 100 .
[0080] In some demonstrative embodiments, after the user logs into the mobile application, the command is passed to the crypto wallet module 104, which may be configured to generate a public key-private key pair 108 ( Figure 1 ), the public key-private key pair 108 may include a public key and a private key. In some embodiments, the public key-private key pair 108 ( Figure 1 ) can be used to create a cryptographic wallet address in a program that complies with at least one blockchain network.
[0081] In some other illustrative embodiments, a public-private key pair 108 may be generated prior to authenticating each payment. Figure 1 ). In other embodiments, the public key-private key pair 108 may be generated when the user first registers the mobile application 107. In other embodiments, the user may import an existing public key-private key pair into the crypto wallet module 104 ( Figure 1 )middle.
[0082] In some demonstrative embodiments, the method may continue by: installing a wireless device that may be installed in the consumer wireless device 100 ( Figure 1 ) on mobile applications 107 ( Figure 1 ) to generate a payment token 109 for payment validity verification (text box 202). In some embodiments, the public key and / or encrypted wallet address and / or any other user identification information may be transmitted to the payment terminal 120 ( Figure 1 ) to generate payment tokens.
[0083] In some illustrative embodiments, payment token 109 ( Figure 1 ) includes a public key and a user ID associated with the consumer wireless device.
[0084] In other illustrative embodiments, the payment token 109 ( Figure 1 ) can be provided by the digital wallet SDK 105( Figure 1 ) is generated and can be stored in the payment token storage database 106 ( Figure 1 )Inside.
[0085] In some embodiments, the digital wallet SDK 105 ( Figure 1 ) can be obtained from the encrypted wallet module 104 ( Figure 1 ) Retrieve the public-private key pair 108( Figure 1 ) in the file, and the public key can then be used to generate the payment token 109 ( Figure 1 In this embodiment, the public key-private key pair 108 ( Figure 1 ) can be securely stored in the consumer wireless device 100 ( Figure 1 ) and the public-private key pair 108 ( Figure 1 ) can also be forwarded and stored in the backend platform 110 ( Figure 1 ) on the consumer database 116 ( Figure 1 ) and the payment terminal 120 ( Figure 1 )superior.
[0086] In some demonstrative embodiments, the method may continue by: sending a payment to payment terminal 120 ( Figure 1 ) provides a consumer wireless device 100 ( Figure 1 )'s payment token 109( Figure 1 )(text box 203). In some embodiments, the payment token can be transferred from the consumer wireless device 100 by at least one of the following: Figure 1 ) is sent to the payment terminal 120 ( Figure 1 ): NFC radio 102 ( Figure 1 ), and / or Internet modem 103 ( Figure 1 )(e.g., LTE, GSM, WIFI, Bluetooth radio).
[0087] In some illustrative embodiments, the method may continue by providing transaction information (box 204). For example, payment terminal 120 ( Figure 1 ) of the processing circuit 121 ( Figure 1 ) may be configured to generate a payment request 126 ( Figure 1), the payment request 126 includes a transaction information message, such as, for example, the amount due, a list of products and / or a merchant ID, and a payment token 109 ( Figure 1 ). Payment request 126 may be made via Internet modem 123 ( Figure 1 ) is sent to the backend platform 110 ( Figure 1 ).
[0088] The following is an illustrative example: When scanning a product, the payment terminal 120 ( Figure 1 ) to obtain the price and other information of the product. Figure 1 ) attached to and / or in proximity to a payment terminal 120 ( Figure 1 ) and transmits the payment to the payment terminal 120 ( Figure 1 ) provides its payment token 109( Figure 1 ) can be used at the payment terminal 120 ( Figure 1 ) displays information related to the payment request. Figure 1 ) can aggregate and provide a payment request 126 (including a transaction information message) Figure 1 ). For example, the transaction information may include the amount payable, the merchant ID. In some embodiments, the payment terminal 120 ( Figure 1 ) may be configured to also send the transaction information message and / or its hash value to the consumer wireless device 100 before signing the message ( Figure 1 ) for verification.
[0089] In some illustrative embodiments, the method may continue by interpreting and storing the payment token 109 ( Figure 1 ) data and a transaction information message of a payment request message (text box 205). For example, the interpretation may be performed by the payment token decryption module 113 ( Figure 1 ) is completed, and the storage can be performed on the backend platform 110 ( Figure 1 ) is completed in the transaction database 111 on.
[0090] In some illustrative embodiments, wherein the payment token 109 ( Figure 1 ) can be encrypted by a public key associated with the service provider, the payment token 109 ( Figure 1 ) can be decrypted by the payment token decryption module 113 ( Figure 1 ) to obtain the corresponding private key for decryption.
[0091] In some demonstrative embodiments, the method may continue by: financing entity 130 ( Figure 1) approves the transaction (box 206). For example, the transaction information and the identity of the consumer may be forwarded digitally to the financing entity 130 ( Figure 1 )'s client platform 131( Figure 1 In some illustrative embodiments, the consumer has a credit card, a bank account issued by financing entity 130, and / or he is a member of financing entity 130 ( Figure 1 ) is a member of a consumer loyalty program managed by .
[0092] For example, after verifying that the transaction complies with predefined rules, such as, for example, whether the consumer has sufficient credit or assets to pay for the transaction, the financing entity 130 ( Figure 1 ) can confirm the transaction by returning a predetermined code message.
[0093] In some demonstrative embodiments, the transaction information message may be compared to various rules, such as, for example, whether the product being purchased may be listed in a list of eligible products and / or whether the merchant may be listed in a list of eligible businesses.
[0094] In some illustrative embodiments, the method may continue by: backend platform 110 ( Figure 1 ) generates a transaction verification message and provides the transaction verification message to the corresponding payment token 109 ( Figure 1 ) associated consumers (text box 207).
[0095] For example, the transaction verification message includes payment-related information, which may include a merchant ID and an amount due. The transaction verification message may be generated by the message generator module 112 ( Figure 1 ) is generated and can be sent to, for example, an address associated with a consumer, such as, for example: a wireless device 100 ( Figure 1 ) on mobile applications 107 ( Figure 1 ), telephone number and / or email address.
[0096] In some illustrative embodiments, the method may continue by signing the transaction verification message and sending it to the backend platform 110 ( Figure 1 ) to decrypt (text box 208). For example, the mobile application 107 ( Figure 1 )'s user interface presents the details of the transaction to the consumer for the consumer to confirm (e.g., press a confirm button) before signing the message.
[0097] In another example, the digital wallet SDK may continue to sign the message when at least one of the conditions or rules is met. For example, the rules may include a rule that the hash value of the second message matches the hash value of the first message previously received from the payment terminal and related to this transaction, a rule when the consumer's wireless device is unlocked, and a rule whether the geographic location of the wireless device is within a predetermined range of the known geographic location of the payment terminal, a rule whether the transaction to be signed does not exceed a fixed limit set by the consumer or its representative, etc.
[0098] In some embodiments, the predetermined range of the known geographic location is between zero meters and five meters from the center of the known geographic location.
[0099] In some illustrative embodiments, the transaction verification message may be signed by the private key of the public-private key pair and may be sent back to the backend platform 110 ( Figure 1 ).
[0100] In some demonstrative embodiments, message decryption module 114 ( Figure 1 ) can decrypt the signed transaction verification message using the public key associated with the consumer.
[0101] In other embodiments, the message decryption module 114 ( Figure 1 ) An appropriate algorithm may be applied to derive the content of the signed transaction verification message and the public key corresponding to the private key that may be used to sign the message, without revealing the same private key. The process of decrypting the message signed by the private key may be performed, for example, according to the EIP 712 Ethereum standard. Of course, other appropriate algorithms may be considered to achieve the same result.
[0102] In some illustrative embodiments, the method may continue by verifying the identity of the signer of the transaction verification message and the validity of the transaction (box 209). For example, the transaction verification module 115 ( Figure 1 ) can compare the decrypted verification message with the transaction information message previously received from the payment terminal. If a match is found, the identity of the person who signed the transaction information message is verified because the received signature message can be signed using the private key of the "consumer" and verified by the transaction database 111 ( Figure 1 )'s public key to decrypt it.
[0103] In another example, the transaction verification module 115 ( Figure 1 ) can compare the public key parameters and verification message from the decrypted signed message with the public key parameters and verification message from the transaction database 111 ( Figure 1 )’s public key parameters and the verification message.
[0104] In some illustrative embodiments, the method may continue by notifying the transaction result (text box 210). For example, the backend platform 110 ( Figure 1 ) can notify the consumer, merchant and financing entity of the result of the payment validity verification by sending a transaction confirmation message 130 ( Figure 1 ), thereby allowing the exchange of goods, services, and money, or preventing unverified transactions.
[0105] It should be understood that the method can be performed in a different order or simultaneously, so the order of the above method operations is not important.
[0106] refer to Figure 3 , which is a flow chart of a method for generating a payment token according to some illustrative embodiments. In some illustrative embodiments, the method may be installed on a consumer wireless device 100 ( Figure 1 ) on mobile applications 107 ( Figure 1 ) included in the digital wallet SDK 105 ( Figure 1 ) is executed. In some other embodiments, the following method may be performed by the payment terminal 120 ( Figure 1 )implement.
[0107] In some implementations, the crypto wallet module 104 of the consumer wireless device 100 may generate and store a random public-private key pair 108 .
[0108] In some demonstrative implementations, the method may begin by generating a private key (text box 301 ) by generating a random number that may be suitable as an input to an algorithm for generating a public key.
[0109] In some demonstrative embodiments, the method may continue to generate a public key based on the private key by hashing the private key using an algorithm such as an Elliptic Curve Digital Signature Algorithm (text box 302).
[0110] In some demonstrative embodiments, the method may continue to generate a wallet address for the public key by formatting the public key into a predetermined format for recognizing a set of characters as an encrypted wallet address (text box 303). For example, extract the last 20 bytes of the public key and add "0x" to the beginning.
[0111] In some demonstrative embodiments, the method may continue by obtaining unique consumer identification information and hashing the unique consumer identification information (text box 304). In some embodiments, the identification information may include at least one of: consumer contact information (e.g., name, phone number, email), wireless device ID (e.g., IMEI number), payment information (e.g., bank account, credit card), geographic location, and consumer ID number.
[0112] In some illustrative embodiments, backend platform 110 ( Figure 1 ) can generate a unique random number, store it in a user database, and securely send it as a random number when constructing a payment token. This feature prevents the same payment token from being generated without changing the identifying information.
[0113] The method may continue by constructing a payment token including a public key and a hash value of unique user information (box 305). In some embodiments, the public key or encrypted wallet address may be constructed together with the hash value of the consumer identification information into a general suitable data structure, such as a JSON file readable by the backend platform 110, for example.
[0114] refer to Figure 4 , which is a flow chart of a method for initial user registration of a server according to some illustrative embodiments. In some illustrative embodiments, the method is performed by a digital wallet SDK 105 ( Figure 1 ) is executed, the digital wallet SDK 105 may be included in a computer installed on the consumer wireless device 100 ( Figure 1 ) on mobile applications 107 ( Figure 1 )middle.
[0115] In some illustrative embodiments, the method may be performed using a digital wallet SDK 105 ( Figure 1 ) and cryptographic wallet to generate and store random public-private key pairs 108 ( Figure 1 ) starts (text box 401), and then continues to receive input of personal information from the user (text box 402). For example, the personal information may include at least one of the following: name, phone number, address, email address, birthday date and / or facial photo.
[0116] In some demonstrative embodiments, the method may continue by obtaining a unique identifier and metadata of the wireless device (text box 403). The information may include at least one of the following: an IMEI number, a device model, an operating system version, and an SDK version of the wireless device running the digital wallet SDK.
[0117] In some demonstrative implementations, the method may continue with receiving input of payment information (text box 404). The information may include at least one of the following: credit card information, bank account number, loyalty program information.
[0118] In some embodiments, payment information may be received through an interface of a financing entity's application installed on the wireless device, such as, for example, a banking mobile application, a loyalty program mobile application, or the like.
[0119] In some embodiments, payment information may be received through an interface of a browser installed on the wireless device when logged in using the financing entity's website.
[0120] Optionally, a random number is requested and received from a backend platform (text box 405).
[0121] For example, the information including personal information, device information, payment information, and random numbers is encrypted using the public key of the backend platform 110 (text box 406).
[0122] In some illustrative embodiments, the method may continue by: sending the encrypted information and the digital wallet SDK 105 ( Figure 1 )The generated public key is transmitted to the backend platform 110( Figure 1 ), use the required private key to decrypt the encrypted information, and store all the information in the backend platform 110 ( Figure 1 ) in the consumer database 116 ( Figure 1 ) (text box 407).
[0123] In some embodiments, the method further includes approving the user to pay a financing entity 130 ( Figure 1 ) to make a credit (text box 408). For example, if bank account information is entered, the backend platform 110 ( Figure 1 ) can query the bank's associated customer platform 131( Figure 1 ) to confirm that the bank will cover the transaction requested by the user and according to what rules (for example, only domestic transactions will be accepted).
[0124] In some demonstrative embodiments, the method may include: generating a user ID for an approved and / or registered user; using a public key-private key pair 108 ( Figure 1 ) in the public key to encrypt the user ID; and transmit the encrypted user ID to the user's wireless device 100 ( Figure 1 ) to use the public-private key pair 108( Figure 1 ) and stored together with the public key in the payment token storage 106 ( Figure 1 ) to be used as payment tokens in future transactions 109( Figure 1 ).
[0125] In some implementations, the user ID may include at least one of a random number, a unique serial number, and a hash value of user information arranged in a specific order.
[0126] Reference now Figure 5 , which is a schematic diagram of a manufactured product 500 according to some illustrative embodiments. The product 500 may include one or more tangible computer-readable non-transitory storage media 510, which may include computer-executable instructions 530 implemented by a processing device 520, which when executed by at least one computer processor, may cause at least one processing circuit 121 ( Figure 1 ) implements one or more program instructions for verifying payment validity and / or executing, triggering and / or implementing one or more operations, communications and / or functions, as described above with reference to Figures 1 to 4 The phrase "non-transitory machine-readable medium" is intended to include all computer-readable media with the sole exception of transitory propagating signals.
[0127] In some illustrative embodiments, product 500 and / or machine-readable storage medium 510 may include one or more types of computer-readable storage media capable of storing data, including volatile memory, non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writable or rewritable memory, etc. For example, machine-readable storage medium 510 may include any type of memory, such as, for example, RAM, DRAM, ROM, programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk drive (HDD), solid state disk drive (SDD), fusion drive, etc. The computer-readable storage medium may include any suitable medium involving downloading a computer program from a remote computer to or transmitting a computer program from a remote computer to a requesting computer carrying a data signal embodied in a carrier wave or other propagation medium through a communication link such as a modem, radio, or network connection.
[0128] In some illustrative embodiments, processing device 520 may include logic. Logic may include instructions, data, and / or code, which, if executed by a machine, may cause the machine to perform the methods, processes, and / or operations described herein. The machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, etc., and may be implemented using any suitable combination of hardware, software, firmware, etc.
[0129] In some illustrative embodiments, processing device 520 may include or may be implemented as software, firmware, software modules, applications, programs, subroutines, instructions, instruction sets, computing codes, words, values, symbols, etc. Instructions 540 may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, etc. Instructions may be implemented according to a predefined computer language, manner, or syntax to instruct the processor to perform a specific function. These instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled, and / or interpreted programming language, such as C, C++, C#, Java, Python, BASIC, Matlab, assembly language, machine code, etc.
[0130] refer to Figure 6 , which depicts an illustrative embodiment of the present invention. The exemplary process depicted here may begin with a registration phase 600, which may include the SDK 601 collecting and sending to the server platform 606: consumer information 600 such as a private key-public key pair from a crypto wallet, a payment method such as credit card information, and an SDK ID which may serve as a unique identifier.
[0131] When a consumer approaches the POS 603 to purchase the scanned product 604 , he can cause the device to display the SDK 601 , which causes the public key in the payment token to be sent to the payment terminal of the POS 603 .
[0132] The process may continue by having the POS send a payment request to the server platform 606 , which may include a public key and a transaction information message (eg, a total payment amount) 605 .
[0133] The process may continue by having the server platform 606 send a transaction verification message 607 to the SDK 601 identified by the payment token or public key, which transaction verification message may include detailed information previously provided by the transaction information message.
[0134] The process may continue by having the SDK 601 sign the transaction verification message after the consumer approves and transmits 608 to the server platform 606 .
[0135] The process may continue by having the server platform 606 verify the payment based on an information comparison between the transaction verification message signed by the SDK 601 and the transaction information message provided by the POS 603 .
[0136] The process may continue by causing the server platform 606 to notify the POS to approve 609 or reject the payment. The above subject matter is provided by way of example only and should not be considered limiting. Various modifications and changes may be made to the subject matter described herein without following the example implementations and applications shown and described without departing from the true spirit and scope of the invention as set forth in the appended claims.
Claims
1. A method for verifying payment validity, the method being performed by a wireless device, the method comprising: Generate a public-private key pair from a crypto wallet; generating a payment token comprising a public key of the public-private key pair; transmitting the payment token to a payment terminal at a point of sale; Wherein, the payment terminal is configured to: generate a payment request including a transaction information message of payment and the payment token, and then transmit the payment request to at least one backend platform; generating, by the at least one backend platform, a transaction verification message based on the transaction information message; providing the transaction verification message to a device associated with the public key of the payment token; Signing the transaction verification message by using the private key in the public key-private key pair, and sending the signed transaction verification message to the at least one backend platform; verifying, by the at least one backend platform, ownership of the first public key by comparing the public key of the transaction verification message signed by the wireless device with the public key included in the payment request message generated by the payment terminal; approving the payment through at least one financing entity's customer platform; By sending a transaction confirmation message from the at least one backend platform, any one of the payment terminal, the wireless device and the customer platform is notified of the payment verification result via the at least one backend platform.
2. The method according to claim 1, wherein: The consumer identification information of the payment token is at least one of the following: a random number stored in the at least one backend platform, a hash value of information associated with the consumer, a unique serial number.
3. The method according to claim 1, wherein: The transaction information message includes at least one of the amount payable, a product list, and a merchant ID.
4. The method according to claim 1, wherein: Generating the payment token includes: Generate a private key as a random number; generating a public key by hashing the private key; hashing consumer identifying information including at least one of: consumer contact information, wireless device ID, payment information, geographic location, and consumer ID number; The payment token is constructed by a hash value of the public key and the consumer identification information.
5. A payment terminal comprising one or more tangible computer-readable non-transitory storage media, the computer-readable non-transitory storage media comprising program instructions for verifying payment validity, wherein: The program instructions are executed by one or more processors so that the payment terminal: Receiving a payment token issued by a software development kit (SDK) at a wireless device, wherein the payment token includes a public key of a public key-private key pair generated by a cryptographic wallet; generating a payment request including a transaction information message and the payment token, and transmitting the payment request to at least one backend platform; and Based on the payment approval generated by the at least one backend platform, a payment and transaction confirmation message is received from the at least one backend platform; wherein, based on a comparison between the public key of the transaction verification message signed by the private key of the public key-private key pair in the wireless device and the public key included in the payment request generated by the payment terminal, the ownership of the public key is verified by the at least one backend platform.
6. The payment terminal according to claim 5, wherein: The program instructions are executed by one or more processors so that the payment terminal: The payment token is received via at least one of: radio frequency identification (RFID) communication, short range radio communication, and near field communication (NFC).
7. The payment terminal according to claim 5, wherein: The payment token includes consumer identification information, and the consumer identification information includes at least one of the following: a random number stored in the at least one backend platform, a hash value of information associated with the user, and a unique serial number.
8. The payment terminal according to claim 5, wherein: The transaction information message includes at least one of the amount payable, a product list, and a merchant ID.
9. A wireless device comprising one or more tangible computer-readable non-transitory storage media having installed thereon an application program including program instructions for verifying payment validity, wherein: The program instructions are executed by one or more processors to cause: Generate a public-private key pair from a crypto wallet; generating a payment token comprising a public key of the public-private key pair; transmitting the payment token to a payment terminal at a point of sale; Receiving a transaction information message from the payment terminal; receiving a transaction verification message from at least one backend platform; based on a comparison of the transaction information message received from the payment terminal with the transaction verification message generated by the at least one backend platform, signing the transaction verification message by a private key of the public-private key pair, and sending the signed transaction verification message to the at least one backend platform; as well as After verifying ownership of the public key via the at least one backend platform based on a comparison of the public key of the signed transaction verification message with the payment token, a transaction confirmation is received.
10. The wireless device according to claim 9, wherein: The payment token includes consumer identification information, and the consumer identification information includes at least one of the following: a random number stored in the at least one backend platform, a hash value of information associated with the consumer.
11. The wireless device according to claim 9, wherein: The program instructions of the storage medium, when executed by one or more processors, cause: A payment token is generated before each payment is verified.
12. The wireless device according to claim 9, wherein: The program instructions of the storage medium, when executed by one or more processors, cause: A private key-public key pair is generated when a consumer first registers with the at least one backend platform.
13. The wireless device according to claim 9, wherein: The program instructions of the storage medium, when executed by one or more processors, cause: Import an existing public-private key pair for use in the payment token.
14. The wireless device according to claim 9, wherein: The program instructions of the storage medium, when executed by one or more processors, cause: signing the transaction verification message upon at least one of the following events: unlocking the wireless device; when the geographic location of the wireless device is within a predetermined range of a known geographic location of a payment terminal; Whether the transaction to be signed exceeds the preset limit.
15. The wireless device according to claim 14, wherein: The predetermined range of the known geographic location is between zero and five meters from a center of the known geographic location.
16. The wireless device according to claim 9, wherein: The program instructions of the storage medium, when executed by one or more processors, cause: Generate a private key as a random number; generating a public key by hashing the private key; Hashing consumer identifying information; The payment token is constructed using the public key and a hash value of the consumer identification information.
17. The wireless device according to claim 10, wherein: The consumer identification information includes at least one of: consumer contact information, wireless device ID, payment information, geographic location, and consumer id number.