Method for generating virtual card number and related device

By introducing the first inspection of the main card number during the production of the virtual card number, and the verification during the transaction, the problem of insufficient security card number security in the existing technology has been solved, and the security of the transaction is improved.

CN113313491BActive Publication Date: 2025-01-28AGRICULTURAL BANK OF CHINA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110694809.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-22
Publication Date
2025-01-28
Estimated Expiration
2041-06-22

AI Technical Summary

Technical Problem

The virtual card numbers generated by the prior art are insufficient in security and there is a risk of tampering and replacement.

Method used

By receiving the main card number, generate the first inspection of the virtual card number, and introduce it to the production process of the virtual card number, and the generated virtual card number performed a safety verification during the transaction.

Benefits of technology

The security of the virtual card number is increased, the virtual card number is tampered with or replaced, and the risk of stolen the main card number is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113313491B_ABST
    Figure CN113313491B_ABST
Patent Text Reader

Abstract

The present application provides a method for generating a virtual card number and a related device, comprising the steps of: a payment system receiving request information for a virtual card number, the request information including a main card number; the payment system generating a first check digit of the virtual card number according to the main card number; the payment system generating the virtual card number according to the first check digit, the first check digit being used to perform a security check on the virtual card number when the virtual card number is used for a transaction. The technical solution can improve the security of the virtual card number and prevent hidden risks such as tampering and replacement of the virtual card number.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method for generating a virtual card number and a related device. Background Art

[0002] Normally, the virtual card number of the bank card master card number (PAN) may include four parts: the card bank identification code (bank identification number, BIN) value, the virtual card number applicant identification bit, the card number random number segment and the check bit. Among them, the card BIN value is the issuing bank identification code, which is distributed to the card issuer by the payment network and is mainly used to identify the issuing institution and card type information. The virtual card number applicant identification bit is used to indicate the applicant who applied for the virtual card number. The card number random segment is a random digital sequence excluding the BIN value, the virtual card number applicant identification and the check bit, which is mainly used to distinguish different virtual card numbers with the same card BIN value. The check bit is mainly used to verify the legitimacy of the card number.

[0003] At present, the method for generating a virtual card number is as follows: first determine the BIN value and the virtual card number applicant identification bit, then generate a non-repeating random card number segment, then calculate the check digit, and finally generate a virtual card number based on the card BIN value, the virtual card number applicant identification bit, the card number random segment and the check digit.

[0004] However, the virtual card number generated by the prior art has security defects. Summary of the invention

[0005] The present application provides a method for generating a virtual card number and a related device, which can improve the security of the virtual card number and prevent hidden risks such as the virtual card number being tampered with or replaced.

[0006] In a first aspect, the present application provides a method for generating a virtual card number. The method comprises: receiving virtual card number request information, the request information comprising a primary card number; generating a first check digit of the virtual card number according to the primary card number; generating the virtual card number according to the first check digit, the first check digit being used to perform a security check on the virtual card number when the virtual card number is used for a transaction.

[0007] In the method of the present application, the first check digit of the virtual card number is generated according to the main card number, and the information of the main card number is introduced into the generation process of the virtual card number, which can improve the security of the virtual card number and prevent hidden risks such as tampering and replacement of the virtual card number.

[0008] In combination with the first aspect, in a first possible implementation manner, generating the first check digit of the virtual card number according to the main card number includes: generating the first check digit of the virtual card number according to the main card number using a modulo 10 alternate digit multiplication by 2 check algorithm.

[0009] In combination with the first aspect, in a second possible implementation method, generating the virtual card number based on the first check digit includes: generating the second check digit based on the first identification code digit of the virtual card number, the second identification code digit of the virtual card number and the sequence digit of the virtual card number, the first identification code digit being used to indicate the bank to which the primary card number belongs, and the second identification code digit being used to indicate the applicant of the virtual card number; generating the virtual card number based on the first identification code digit, the second identification code digit, the sequence digit, the first check digit and the second check digit.

[0010] In this implementation, when generating a virtual card number, the first check bit is also introduced, and the virtual card number can be generated according to the first identification code bit, the second identification code bit, the sequence bit, the first check bit and the second check bit, thereby improving the security of the virtual card number. In addition, after verifying the main card number, it can prevent the hidden risks of the virtual card number being tampered with or replaced.

[0011] In combination with the second possible implementation method, in three possible implementation methods, generating the second check digit based on the first identification code bit of the virtual card number, the second identification code bit of the virtual card number and the sequence bit of the virtual card number includes: generating the second check digit based on the first identification code bit of the virtual card number, the second identification code bit of the virtual card number, the sequence bit of the virtual card number and the first check digit.

[0012] In this implementation, when generating the second check digit of the virtual card number, the first check digit is also introduced, and is generated based on the first identification code digit of the virtual card number, the second identification code digit of the virtual card number, the sequence digit of the virtual card number and the first check digit. When the second check digit is needed to verify the user's identity information, the possibility of leakage of user sensitive information is reduced and the reliability of verification is improved.

[0013] In combination with the third possible implementation manner, in the four possible implementation manners, generating the second check digit based on the first identification code digit of the virtual card number, the second identification code digit of the virtual card number, the sequence digit of the virtual card number and the first check digit includes: generating the second check digit using a modulo 10 alternate digit multiplication by 2 check algorithm based on the first identification code digit, the second identification code digit, the sequence digit and the first check digit.

[0014] In combination with the first aspect or any one of the second to fourth possible implementations, in a fifth possible implementation, generating the virtual card number based on the first identification code bit, the second identification code bit, the sequence bit, the first check bit and the second check bit includes: concatenating the first identification code bit, the second identification code bit, the sequence bit, the first check bit and the second check bit to obtain the virtual card number.

[0015] In a second aspect, the present application provides a method for verifying a virtual card number. The method includes: receiving transaction request information, the information including the virtual card number and the first master card number; generating a target check digit according to the first master card number; judging whether the target check digit is consistent with the first check digit in the virtual card number, the first check digit being a check digit generated using the second master card number, the second master card number being the master card number used when generating the virtual card number; and when the target check digit is consistent with the first check digit, conducting a transaction based on the transaction request information.

[0016] In the method of the present application, the target check digit of the virtual card number is judged to be consistent with the first check digit. Only when the target check digit is consistent with the first check digit can the transaction be carried out, thereby reducing the risk of the main card number being stolen due to tampering with the virtual card number and improving the security of the transaction.

[0017] In combination with the second aspect, in a first possible implementation manner, generating a target check digit according to the first primary card number includes: generating the target check digit according to the first primary card number using a modulo 10 alternate digit multiplication by 2 check algorithm.

[0018] In a third aspect, the present application provides a device for generating a virtual card number, the device comprising: a receiving module for receiving virtual card number request information, the request information comprising a primary card number; a generating module for generating a first check digit of the virtual card number based on the primary card number; the generating module is also used to generate the virtual card number based on the first check digit, the first check digit being used to perform a security check on the virtual card number when using the virtual card number for transactions.

[0019] In combination with the third aspect, in a first possible implementation manner, the generating module is specifically used to: generate a first check digit of the virtual card number by adopting a modulo 10 digit-by-digit multiplication check algorithm according to the primary card number.

[0020] In combination with the third aspect, in a second possible implementation method, the generation module is specifically used to: generate a second check digit based on a first identification code digit of the virtual card number, a second identification code digit of the virtual card number, and a sequence digit of the virtual card number, the first identification code digit being used to indicate the bank to which the primary card number belongs, and the second identification code digit being used to indicate the applicant of the virtual card number; generate the virtual card number based on the first identification code digit, the second identification code digit, the sequence digit, the first check digit, and the second check digit.

[0021] In combination with the second possible implementation manner, in three possible implementation manners, the generation module is specifically used to: generate a second check digit based on the first identification code digit of the virtual card number, the second identification code digit of the virtual card number, the sequence digit of the virtual card number and the first check digit.

[0022] In combination with the third possible implementation method, in the four possible implementation methods, the generation module is specifically used to: generate the second check bit according to the first identification code bit, the second identification code bit, the sequence bit and the first check bit using a modulo 10 bit-by-bit multiplication check algorithm.

[0023] In combination with the third aspect or any one of the second to fourth possible implementation methods, in a fifth possible implementation method, the generation module is specifically used to: splice the first identification code bit, the second identification code bit, the sequence bit, the first check bit and the second check bit to obtain the virtual card number.

[0024] In a fourth aspect, the present application provides a virtual card number verification device, the device comprising: a receiving module, used to receive transaction request information, the information including the virtual card number and a first master card number; a generating module, used to generate a target check digit according to the first master card number; a judging module, used to judge whether the target check digit is consistent with a first check digit in the virtual card number, the first check digit being a check digit generated using a second master card number, and the second master card number being the master card number used when generating the virtual card number; a transaction module, used to conduct a transaction based on the transaction request information when the target check digit is consistent with the first check digit.

[0025] In combination with the fourth aspect, in a first possible implementation method, the first check digit is a check digit generated by the second main card number using a modulo 10 digit-by-2 check algorithm; wherein the generation module is specifically used to: generate the target check digit according to the first main card number using a modulo 10 digit-by-2 check algorithm.

[0026] In a fifth aspect, the present application provides a device for generating a virtual card number, comprising: a memory and a processor; the memory is used to store program instructions; the processor is used to call the program instructions in the memory to execute the method described in the first aspect or any possible implementation method thereof.

[0027] In a sixth aspect, the present application provides a virtual card number verification device, comprising: a memory and a processor; the memory is used to store program instructions; the processor is used to call the program instructions in the memory to execute the method described in the second aspect or any possible implementation method thereof.

[0028] In a seventh aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method described in the first aspect or the second aspect or any possible implementation thereof.

[0029] In an eighth aspect, the present application provides a computer-readable medium storing a program code for execution by a device, wherein the program code includes a method for executing the method described in the first aspect or the second aspect or any possible implementation method thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 A schematic diagram of a system architecture for applying an embodiment of the present application;

[0031] Figure 2 This is an exemplary flow chart of a method for generating a virtual card number according to an embodiment of the present application;

[0032] Figure 3 This is an exemplary flow chart of a method for generating a virtual card number according to another embodiment of the present application;

[0033] Figure 4 This is an exemplary flow chart of a method for generating a virtual card number according to another embodiment of the present application;

[0034] Figure 5 This is an exemplary flow chart of a method for verifying a virtual card number according to an embodiment of the present application;

[0035] Figure 6 A schematic diagram of the structure of a device for generating a virtual card number provided in one embodiment of the present application;

[0036] Figure 7 A schematic diagram of the structure of a virtual card number verification device provided by an embodiment of the present application;

[0037] Figure 8 A schematic diagram of the structure of a processing device provided in another embodiment of the present application. DETAILED DESCRIPTION

[0038] In order to better introduce the embodiments of the present application, some concepts in the embodiments of the present application are introduced below.

[0039] BIN: Bank Identification Number, which is assigned to the card issuer by the payment network (card organization). BIN is consistent with the ISO 7812 standard. The payment network can be identified based on the BIN and the related account sequence.

[0040] PAN: Primary card number, a variable value of 13-19 digits, an account number based on ISO 7812, related to the BIN value of the card issuer.

[0041] Tag: Also known as a payment tag, it has multiple formats in the payment industry. A payment tag is a 13 to 19 digit value that is a substitute for the primary card number. The value must be verified by the basic verification rules of the account, such as the Luhn check number algorithm. The payment tag is generated from the token BIN range, which is in the bank's identification BIN list. The payment tag cannot contain the same value or conflict with the real primary card number value. The payment tag of this application may include a virtual card number.

[0042] Token issuance: The process of creating a payment token and delivering it to the token requester. Payment tokens may be issued for both multi-person and individual use.

[0043] Payment tokenization: The process by which a payment system generates a payment token to replace the master card number. This system can improve transaction efficiency and security and increase transaction transparency.

[0044] With the popularity of smart phones and mobile Internet, the payment industry is developing rapidly, which also brings new challenges to the existing payment system. It is estimated that the global mobile payment market will reach 90 billion US dollars, and the security of the payment system will also be greatly tested. The existing means of protecting account information have limitations. Recently, there have been many incidents of bank card information leakage of commercial website users, which has made it more urgent to change the existing direct use of master card numbers and corresponding sensitive information for mobile payments. How to maintain the habit of cardholders to use card numbers and expiration dates for transactions while improving the security of payments? The payment system provides a practical solution, that is, using virtual card numbers (payment tags) instead of master card numbers for transactions, which can reduce the possibility of sensitive information leakage, and limit the scope of use of virtual card numbers to improve the security of transactions.

[0045] Figure 1 This is a schematic diagram of the system architecture of an embodiment of the present application. Figure 1 As shown, the system includes a marking applicant 110 and a marking service provider 120 .

[0046] The marking applicant 110 in the present application may include an electronic device that a user can carry with him / her, such as a mobile phone, a foldable electronic device, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, or a wearable device. The embodiment of the present application does not impose any special restrictions on the specific type of the marking applicant 110.

[0047] The marking applicant 110 may be indicated by an applicant identifier, and different applicant identifiers correspond to different marking applicants 110. The mapping relationship between the applicant identifier and the marking applicant 110 may be preset.

[0048] As an example, the applicant identifier of the applicant 110 may be 01, 02, or 03, etc. Among them, identifier 01 corresponds to an Apple mobile phone, identifier 02 corresponds to an Apple tablet, and identifier 03 corresponds to a Huawei mobile phone.

[0049] The embodiment of the present application does not impose any special restrictions on the type of the applicant identifier of the marking applicant 110 and the mapping relationship between the applicant identifier and the marking applicant 110 .

[0050] In the present application, the marking service provider 120 may include an electronic device deployed at the payment terminal. The embodiment of the present application does not impose any special restrictions on the specific type of the marking service provider 120.

[0051] The tag service provider 120 in this embodiment can provide a payment tag to the tag applicant 110 through the payment system. It is an entity that tokenizes the master card number. The tag applicant 110 is registered at the tag service provider 120 and has a unique identity.

[0052] against Figure 1 The technical architecture shown takes the payment tag as a virtual card number as an example. When a user needs to make a transaction, the tag applicant 110 will send a request message for the virtual card number to the tag service provider 120. Correspondingly, the tag service provider 120 receives the request message, then generates a virtual card number according to the virtual card number generation method, and returns the virtual card number to the tag applicant 110 for the corresponding transaction.

[0053] The existing method for generating a virtual card number is: first determine the BIN value and the virtual card number applicant identification bit, then generate a non-repeating random card number segment, then calculate the check digit, and finally concatenate the card BIN value, the virtual card number applicant identification bit, the card number random segment and the check digit to generate the virtual card number.

[0054] However, the virtual card numbers generated by the existing technology have low security performance. When conducting debit transactions, there are security risks of primary card number information leakage and theft, which not only brings inconvenience to users' transactions, but also affects users' property safety.

[0055] In response to the above problems, the present application proposes a method for generating a virtual card number. When generating a virtual card number, the method first verifies the main card number to generate the first check digit of the main card number, and then concatenates the card BIN value, the virtual card number applicant identification digit, the card number random number segment, the first check digit, and the virtual card number check digit to generate a virtual card number, thereby improving the security of the virtual card number.

[0056] Figure 2 FIG. 1 is an exemplary flow chart of a method for generating a virtual card number according to an embodiment of the present application. The method is executed by a payment system in the token service provider 120, such as Figure 2 As shown, the method may include: S210, S220 and S230.

[0057] S210, receiving request information of a virtual card number, where the request information includes a primary card number.

[0058] In this embodiment, when the user needs to apply for a virtual card number, he can click the corresponding virtual card number application field in the electronic device of the marking applicant 110, and the payment system in the marking service provider 120 will obtain the corresponding request information.

[0059] Optionally, the request information may also include an identifier of the party applying for the virtual card number.

[0060] S220, generating a first check digit of a virtual card number according to the primary card number.

[0061] In this embodiment, the first check digit is a check digit of a virtual card number generated by the payment system according to the primary card number.

[0062] As an example, the payment system may generate the first check digit of the virtual card number using a modulo 10 digit-by-digit 2 check algorithm based on the main card number.

[0063] The modulo 10 digit-by-digit verification algorithm is a simple verification formula that is often used to identify and verify ID numbers such as bank cards and IMEI numbers. The calculation steps are as follows:

[0064] Step 1: Starting from the first digit from the right (low order), multiply every other digit by 2.

[0065] Step 2: Add the digits of the product obtained in step 1 to the digits of the original number that have not been multiplied by 2.

[0066] Step 3: Subtract the sum obtained in step 2 from the next higher number ending in 0 (this is equivalent to finding the "10's complement" of the lower digit (the unit digit) of the sum). If the sum obtained in step 2 is a number ending in zero (such as 30, 40, etc.), the check digit is zero.

[0067] For example, when the primary card number is 4992739871, the calculation steps for the first check digit are as follows:

[0068] Step 1: Multiply 1, 8, 3, 2, and 9 by 2 respectively. The results are 2, 16, 6, 4, and 18 respectively.

[0069] Step 2: Calculate 14+1+8+9+4+7+6+9+1+6+7+2, the result is 64.

[0070] Step 3: The next higher number ending in 0 next to 64 is 70. Subtract 64 from 70, and the result is 6. Then 6 can be used as the first check digit.

[0071] It can be understood that the above method is only an example of calculating the first check digit based on the primary card number, and the present application does not limit the implementation method of calculating the first check digit based on the primary card number.

[0072] S230, generating a virtual card number according to a first check digit, wherein the first check digit is used to perform a security check on the virtual card number when the virtual card number is used for a transaction.

[0073] One implementation of generating a virtual card number based on the first check digit includes: using the first check digit as a component of the virtual card number. For example, when the first check digit is one, the first check digit can be used as one digit in the virtual card number.

[0074] As an example, the first check digit can be used as the second to last digit of the virtual card number. For example, when the primary card type is a credit card, the first check digit can be used as the 15th digit of the virtual card number. For another example, when the primary card type is a debit card, the first check digit can be used as the 18th digit of the virtual card number.

[0075] The present application introduces the main card number into the generation process of the virtual card number by generating the first check digit of the virtual card number, thereby improving the security of the virtual card number and preventing hidden risks such as the virtual card number being tampered with or replaced.

[0076] In this embodiment, the method for obtaining the contents other than the first check digit in the virtual card number and the method for generating the virtual card number based on the contents and the first check digit can refer to the prior art, one example of which is as follows: Figure 3 shown.

[0077] S213, determining the first identification code digit of the virtual card number according to the BIN of the primary card number.

[0078] As an example, when the payment system determines the first identification code bit according to the BIN of the primary card number, it can be achieved by querying the marked BIN information table in the payment system. The marked BIN information table stores the BIN of the primary card number and the first identification code bit of the virtual card number, and the mapping relationship between the BIN of the primary card number and the first identification code bit of the virtual card number is pre-set. The first identification code bit of the virtual card number can be used as the BIN of the virtual card number.

[0079] In this embodiment, the card issuing agency and the main card type can also be determined according to the BIN value of the main card number. The specific method of determining the card issuing agency and the main card type according to the BIN value can refer to the prior art and will not be repeated here.

[0080] S214: Determine a second identification code digit of the virtual card number according to the virtual card number applicant identifier.

[0081] As an example, when the payment system determines the second identification code digit of the virtual card number according to the applicant identifier of the primary card number, it can be achieved by querying the tag configuration information table in the payment system.

[0082] What is stored in the tag configuration information table is the applicant identifier and the second identification code bit of the virtual card number. The mapping relationship between the applicant identifier and the second identification code bit of the virtual card number is preset.

[0083] S215, generating a sequence number of the virtual card number according to the virtual card number application sequence and the random number.

[0084] As an example, the payment system records the sequence number of each virtual card number applicant, generates a random number using a random algorithm, and concatenates the sequence number and the random number to generate the sequence digits of the virtual card number. The number of sequence digits is related to the primary card type, which is determined by the BIN of the primary card number.

[0085] It should be noted that the number of digits of the random number in the virtual card number changes as the number of digits of the serial number in the virtual card number changes, but the total number of digits of the serial number and the random number in the virtual card number is constant.

[0086] S216, generating a second check digit of the virtual card number.

[0087] In one implementation of generating the second verification digit of the virtual card number, the payment system may generate the second verification digit according to the first identification code digit of the virtual card number, the second identification code digit of the virtual card number, and the sequence digit of the virtual card number.

[0088] As an example, the payment system may generate a second check digit by applying a modulo 10 check algorithm to the first identification code digit, the second identification code digit, and the sequence digit.

[0089] For example, the first identification code bit, the second identification code bit, and the sequence bit are concatenated to generate a card number, and a second check digit is generated by using a modulo 10 check algorithm with two digits. The process of generating the second check digit by using a modulo 10 check algorithm with two digits for the card number can refer to the process of generating the first check digit by using a modulo 10 check algorithm with two digits for the primary card number in the aforementioned content, and will not be repeated here.

[0090] In another implementation of generating the second verification digit of the virtual card number, the payment system may generate the second verification digit based on the first identification code digit of the virtual card number, the second identification code digit of the virtual card number, the sequence digit of the virtual card number and the first verification digit.

[0091] As an example, the payment system generates a second check digit by using a modulo 10 digit-by-digit 2 check algorithm on the first identification code digit, the second identification code digit, the sequence digit, and the first check digit.

[0092] For example, the first identification code bit, the second identification code bit, the sequence bit and the first check bit are concatenated to generate a card number, and the second check bit is generated by using the modulo 10 check algorithm with two digits every other digit. The process of using the modulo 10 check algorithm with two digits every other digit to generate the second check bit for the card number can refer to the process of using the modulo 10 check algorithm with two digits every other digit to generate the first check bit for the primary card number in the aforementioned content, and will not be repeated here.

[0093] Generating the second check digit based on the first check digit can further improve the security of the virtual card number.

[0094] S217, generating a virtual card number according to the first identification code digit, the second identification code digit, the sequence digit, the first check digit and the second check digit.

[0095] As an example, the payment system may concatenate the first identification code digit, the second identification code digit, the sequence digit, the first check digit, and the second check digit to obtain a virtual card number.

[0096] As an example, the first identification code digits of the virtual card number include 1 to 6 digits of the virtual card number, the second identification code digits of the virtual card number include 7 to 8 digits of the virtual card number, when the main card type is a credit card, the number of sequence digits is 9 to 15 digits, when the main card type is a debit card, the number of sequence digits is 9 to 18 digits, the first check digit is the second to last digit of the virtual card number, and the second check digit is the first to last digit of the virtual card number.

[0097] In another embodiment of the present application, Figure 4 As shown, before the payment system generates the first check digit of the virtual card number according to the main card number, it may further include S211 and S212.

[0098] S211, determine whether the primary card number meets the security assessment.

[0099] As an example, the payment system determines whether the cardholder is currently on the blacklist through the credit identifier in the main card number blacklist. If the cardholder is not on the main card number blacklist, the host transaction is continued to be called to determine whether the main card is in an inactivated, lost, or cancelled state. This is a security assessment of the main card.

[0100] If the primary card number satisfies the security assessment, that is, the cardholder is not currently on the blacklist, and the primary card is in an activated state, S220 is executed.

[0101] If the primary card does not meet the security assessment, that is, the cardholder is currently on the blacklist, or the primary card is in an inactivated, lost, or cancelled state, S212 is executed.

[0102] S212, reject the virtual card number application.

[0103] As an example, after the payment system rejects the virtual card number application of the virtual card number applicant, it sends indication information indicating the failure of the virtual card number application to the virtual card number applicant.

[0104] It is understandable that the virtual card number applicant here may also be referred to as a tag applicant.

[0105] Figure 5 FIG. 1 is an exemplary flow chart of a method for verifying a virtual card number according to an embodiment of the present application. Figure 5 As shown, the method may include: S501, S504, S505 and S507.

[0106] Optionally, this embodiment may further include S502, S503 and S506.

[0107] S501, receiving transaction request information, which includes a virtual card number and a first primary card number.

[0108] In this embodiment, the transaction request information may also include the deduction amount, transaction time, etc.

[0109] S502, determining whether the transaction request information satisfies security authentication.

[0110] In this embodiment, after receiving the transaction request information of the user, the payment system can also perform security authentication on the transaction request information. If the security authentication is passed, S504 is executed, otherwise S503 is executed. The specific method of performing security authentication on the transaction request information can refer to the existing technology and will not be repeated here.

[0111] S503, transaction rejected.

[0112] In this embodiment, after the payment system rejects the transaction, it can return transaction failure indication information to the virtual card number applicant (marked applicant).

[0113] S504: Generate a target check digit according to the first primary card number.

[0114] In this embodiment, the primary card number in S220 can be replaced with the first primary card number, wherein the first check digit generated according to the first primary card number can be used as the target check digit. The specific target check digit generation process can refer to S220 and will not be repeated here.

[0115] S505, determining whether the target check digit is consistent with the first check digit in the virtual card number, where the first check digit is a check digit generated using the second primary card number, and the second primary card number is the primary card number used when generating the virtual card number.

[0116] In this embodiment, after the payment system generates a target check digit based on the first primary card number carried in the request information, it needs to determine whether the target check digit is the same as the first check digit when the virtual card number was previously generated, so as to verify the security of the virtual card number and further improve the user's transaction security.

[0117] When the target check digit is consistent with the target check digit and the first check digit, the check of the virtual card number is passed, and S507 is executed.

[0118] When the target check digit is inconsistent with the target check digit and the first check digit, S506 is executed.

[0119] S506, transaction rejected.

[0120] In this embodiment, after the payment system rejects the transaction, it returns transaction failure indication information to the marking applicant.

[0121] S507: When the target check digit is consistent with the first check digit, the transaction is performed based on the transaction request information.

[0122] In this embodiment, when the target check digit is consistent with the first check digit, the payment system calls the bank core system to perform a deduction process according to the deduction amount in the transaction request information.

[0123] The present application verifies the virtual card number by comparing whether the check digits generated based on the main card number are consistent, thereby improving the transaction security of the user and preventing the problem of unwarranted deductions from the main card number due to malicious tampering of the virtual card number.

[0124] Optionally, a second check digit in the virtual card number may also be obtained and verified, and the transaction is performed only when the second check digit verification succeeds.

[0125] For example, a temporary second check digit can be generated based on the first identification digit, the second identification digit, the sequence digit and the first check digit in the virtual card number, and the temporary second check digit is compared with the second check digit recorded in the virtual card number. If they are consistent, it means that the second check digit verification is successful. If they are inconsistent, it means that the second check digit verification has failed.

[0126] The implementation method of generating a temporary second check digit based on the first identification digit, the second identification digit, the sequence digit and the first check digit in the virtual card number can refer to Figure 3 The implementation method of generating the second check bit in the illustrated embodiment will not be described in detail here.

[0127] Figure 6 A schematic diagram of the structure of a device for generating a virtual card number provided in one embodiment of the present application. Figure 6 The device shown can be used to perform Figure 2 The method described. Figure 6 As shown, the device 600 for generating a virtual card number in this embodiment may include: a receiving module 601 and a generating module 602 .

[0128] For example, the receiving module 601 may be used to execute S210 , and the generating module 602 may be used to execute S220 and S230 .

[0129] Figure 7 A schematic diagram of the structure of a virtual card number verification device provided by one embodiment of the present application. Figure 7 The device shown can be used to perform Figure 5 The method described. Figure 7 As shown, the virtual card number verification device 700 of this embodiment may include: a receiving module 701 , a generating module 702 , a judging module 703 , and a transaction module 704 .

[0130] For example, the receiving module 701 can be used to execute S501, the generating module 702 can be used to execute S504, the judging module 703 can be used to execute S502 and S505, and the transaction module 704 can be used to execute S507.

[0131] Figure 8 A schematic diagram of the structure of a processing device provided in another embodiment of the present application. Figure 8 The device shown can be used to execute the method for generating a virtual card number described in any of the aforementioned embodiments or can be used to execute the method for verifying a virtual card number described in any of the aforementioned embodiments.

[0132] like Figure 8 As shown, the device 800 of this embodiment includes: a memory 801, a processor 802, a communication interface 803 and a bus 804. The memory 801, the processor 802 and the communication interface 803 are connected to each other through the bus 804.

[0133] The memory 801 may be a read-only memory (ROM), a static storage device, a dynamic storage device or a random access memory (RAM). The memory 801 may store a program. When the program stored in the memory 801 is executed by the processor 802, the processor 802 is used to execute the program. Figures 2 to 5 The steps of any of the methods shown in .

[0134] The processor 802 can adopt a general central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits to execute relevant programs to implement the virtual card number generation method of the method embodiment of the present application or the virtual card number verification method of the method embodiment of the present application.

[0135] The processor 802 may also be an integrated circuit chip with signal processing capability. In the implementation process, each step of the method for generating a virtual card number in the embodiment of the present application or the method for verifying a virtual card number in the embodiment of the present application may be completed by an integrated logic circuit of hardware in the processor 802 or by instructions in the form of software.

[0136] The processor 802 may also be a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. The general purpose processor may be a microprocessor or the processor may be any conventional processor, etc.

[0137] The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 801, and the processor 802 reads the information in the memory 801, and completes the functions required to be executed by the units included in the processing device of the present application in combination with its hardware, for example, it can execute Figures 2 to 5 The various steps / functions of any of the illustrated embodiments.

[0138] The communication interface 803 may use, but is not limited to, a transceiver or other transceiver device to implement communication between the apparatus 800 and other devices or a communication network.

[0139] The bus 804 may include a path for transmitting information between various components of the device 800 (eg, the memory 801 , the processor 802 , and the communication interface 803 ).

[0140] It should be understood that the device 800 shown in the embodiment of the present application may be an electronic device, or may also be a chip configured in the electronic device.

[0141] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.

[0142] It should be understood that the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship, but it may also indicate an "and / or" relationship. Please refer to the context for specific understanding.

[0143] In this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can be represented by: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0144] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0145] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0146] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0147] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0148] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0149] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0150] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disk.

[0151] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for generating a virtual card number, characterized in that: The method comprises: Receiving a request message for a virtual card number, the request message including a primary card number; Generate a first check digit of the virtual card number according to the primary card number; generating the virtual card number according to the first verification digit, wherein the first verification digit is used to perform security verification on the virtual card number when the virtual card number is used for transactions; The step of generating the virtual card number according to the first verification digit includes: generating a second verification digit according to a first identification code digit of the virtual card number, a second identification code digit of the virtual card number, a sequence digit of the virtual card number, and the first verification digit, wherein the first identification code digit is used to indicate the bank to which the primary card number belongs, and the second identification code digit is used to indicate the applicant of the virtual card number; The virtual card number is generated based on the first identification code digit, the second identification code digit, the sequence digit, the first check digit, and the second check digit.

2. The method according to claim 1, characterized in that The step of generating the first check digit of the virtual card number according to the primary card number comprises: The first check digit of the virtual card number is generated according to the main card number by adopting a modulo 10 digit-by-digit 2 check algorithm.

3. The method according to claim 1, characterized in that The step of generating a second check digit according to the first identification code digit of the virtual card number, the second identification code digit of the virtual card number, the sequence digit of the virtual card number and the first check digit comprises: The second check bit is generated according to the first identification code bit, the second identification code bit, the sequence bit and the first check bit by using a modulo 10 bit-by-bit 2 check algorithm.

4. The method according to any one of claims 1 to 3, characterized in that The generating the virtual card number according to the first identification code digit, the second identification code digit, the sequence digit, the first check digit and the second check digit comprises: The first identification code digit, the second identification code digit, the sequence digit, the first check digit and the second check digit are concatenated to obtain the virtual card number.

5. A device for generating a virtual card number, characterized in that: The device comprises: A receiving module, used for receiving virtual card number request information, wherein the request information includes a primary card number; A generating module, used for generating a first check digit of the virtual card number according to the primary card number; A generating module, further used to generate the virtual card number according to the first verification digit, wherein the first verification digit is used to perform a security check on the virtual card number when the virtual card number is used for a transaction; The generation module is specifically used for: generating a second verification digit according to a first identification code digit of the virtual card number, a second identification code digit of the virtual card number, and a sequence digit of the virtual card number, wherein the first identification code digit is used to indicate the bank to which the primary card number belongs, and the second identification code digit is used to indicate the applicant of the virtual card number; generating the virtual card number according to the first identification code digit, the second identification code digit, the sequence digit, the first check digit and the second check digit; The generation module is specifically used for: A second check digit is generated according to the first identification code digit of the virtual card number, the second identification code digit of the virtual card number, the sequence digit of the virtual card number and the first check digit.

6. The device according to claim 5, characterized in that The generation module is specifically used for: The first check digit of the virtual card number is generated according to the main card number by adopting a modulo 10 digit-by-digit 2 check algorithm.

7. The device according to claim 5, characterized in that The generation module is specifically used for: The second check bit is generated according to the first identification code bit, the second identification code bit, the sequence bit and the first check bit by using a modulo 10 bit-by-bit 2 check algorithm.

8. The device according to any one of claims 5 to 7, characterized in that The generation module is specifically used for: The first identification code digit, the second identification code digit, the sequence digit, the first check digit and the second check digit are concatenated to obtain the virtual card number.

9. A computer-readable medium, characterized in that The computer-readable medium stores a program code for computer execution, the program code including instructions for executing the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Payment method, system and payment platform capable of improving payment safety by virtual card

    CN101414370A

  • Bank virtual card number based mobile payment system and method

    CN104700267A

  • Method and device for selecting bankcard number by user himself / herself

    CN105956921A