Card Binding Method and Terminal
20200372490 ยท 2020-11-26
Inventors
Cpc classification
G06Q20/3263
PHYSICS
G06Q20/227
PHYSICS
G06Q20/02
PHYSICS
International classification
Abstract
The card binding method disclosed applied to a terminal. The method includes: displaying a first screen, where the first screen displays bank cards associated with an account number with which a digital wallet APP is currently logged in to; determining a to-be-verified bank card and at least one to-be-bound bank card from the bank cards; displaying a second screen, where the second screen is used to prompt a user to enter verification information of the to-be-verified bank card; and sending the verification information to a server to request the server to deliver a card application and personalization data corresponding to each to-be-bound bank card to the terminal after verification performed on the verification information succeeds, to complete binding of the at least one to-be-bound bank card.
Claims
1. A card binding method, implemented by a terminal, wherein the card binding method comprises: displaying a first screen, wherein the first screen displays bank cards associated with an account number which a digital wallet application (APP) is currently logged in to; determining a to-be-verified bank card and at least one to-be-bound bank card from the bank cards; displaying a second screen, wherein the second screen prompts a user to enter verification information of the to-be-verified bank card; and sending the verification information to a server to request the server to deliver a card application and first personalization data corresponding to each of the at least one to-be-bound bank card to the terminal after verification succeeds to complete binding of the at least one to-be-bound bank card.
2. The card binding method of claim 1, wherein before displaying the first screen, the card binding method further comprises receiving a trigger operation from the user using the digital wallet APP, wherein the trigger operation comprises a login operation from the user on a login screen of the digital wallet APP, or an operation to add a to-be-bound bank card that is entered through a preset entry after the user successfully logs in to the digital wallet APP.
3. The card binding method of claim 1, further comprising determining the to-be-verified bank card and the at least one to-be-bound bank card from the bank cards based on a selection operation of the user.
4. The card binding method of claim 1, further comprising displaying an installation progress of the card application of each of the at least one to-be-bound bank card.
5. The card binding method of claim 1, wherein the to-be-verified bank card is one or more of the at least one to-be-bound bank card.
6. The card binding method of claim 1, wherein before displaying the bank cards, the card binding method further comprises determining the bank cards.
7. The card binding method of claim 6, further comprising: obtaining a first historical card binding record associated with the account number, wherein the first historical card binding record comprises identifiers of all of a plurality of card applications associated with the account number; determining that the bank cards correspond to identifiers of the card applications absent from a second historical card binding record and included in the first historical card binding record when the second historical card binding record associated with the account number is obtained, wherein the second historical card binding record comprises an identifier of an additional card application that is bound when the terminal is logged in to with the account number; and determining that the bank cards correspond to identifiers of card applications in the first historical card binding record when the second historical card binding record is not obtained.
8. The card binding method of claim 7, further comprising obtaining the first historical card binding record from the server.
9. The card binding method of claim 7, further comprising searching a locally stored list to obtain the second historical card binding record, wherein the list stores the identifier of the additional card application that is bound when the terminal is logged in to with the account number; or obtaining the second historical card binding record from the server.
10. The card binding method of claim 6, further comprising: receiving a third historical card binding record from the server, wherein the third historical card binding record comprises an identifier of an additional card application is associated with the account number and not locally bound to the terminal; and determining that the bank cards correspond to identifiers of a plurality of card applications in the third historical card binding record.
11. The card binding method of claim 6, further comprising determining that the bank cards are supported by the digital wallet APP.
12. The card binding method of claim 1, further comprising sending an identifier of the at least one to-be-bound bank card to a digital wallet server such that the digital wallet server requests a bank server to deliver the card application and the first personalization data to the terminal based on the identifier of the at least one to-be-bound bank card.
13. The card binding method of claim 1, further comprising: sending a first request to a digital wallet server such that the digital wallet server requests a first bank server to deliver the card application and second personalization data corresponding to the to-be-verified bank card to the terminal after verification succeeds, wherein the first request comprises the verification information, wherein the first bank server corresponds to the to-be-verified bank card, and wherein the second personalization data comprises a mutual trust credential; and sending a second request to the digital wallet server after the card application and the first personalization data are received such that the digital wallet server requests a second bank server and the first bank server to deliver the card application and the first personalization data to the terminal after verification succeeds, wherein the second request comprises the mutual trust credential, and wherein the second bank server comprises a bank server corresponding to any of the at least one to-be-bound bank card.
14. The card binding method of claim 1, further comprising sending a request to a digital wallet server such that the digital wallet server separately requests a first bank server to deliver the card application and second personalization data corresponding to the to-be-verified bank card to the terminal and requests a second bank server to deliver the card application and the first personalization data to the terminal after verification succeeds, wherein the request comprises the verification information of the to-be-verified bank card, wherein the first bank server corresponds to the to-be-verified bank card, and wherein the second bank server corresponds to any of the at least one to-be-bound bank card.
15. The card binding method of claim 1, further comprising sending a request to a digital wallet server such that the digital wallet server separately requests, by using a third-party trusted server, a first bank server and a second bank server to deliver the card application and the first personalization data to the terminal after verification succeeds, wherein the first bank server corresponds to the to-be-verified bank card, and wherein the second bank server corresponds to any of the at least one to-be-bound bank card.
16. The card binding method of claim 14, wherein the verification information is encrypted.
17-35. (canceled)
36. The card binding method of claim 1, further comprising determining the to-be-verified bank card and the at least one to-be-bound bank card from the bank cards according to a preset rule, wherein the preset rule comprises determining that a bank card whose quantity of historical usage times is greater than a preset threshold is the to-be-verified bank card.
37. The card binding method of claim 1, further comprising determining the to-be-verified bank card and the at least one to-be-bound bank card from the bank cards according to a preset rule, wherein the preset rule comprises determining that any one of the bank cards is the to-be-verified bank card.
38. The card binding method of claim 1, wherein the to-be-verified card and the to-be-bound bank card are the same card.
39. A computer program product comprising computer-executable instructions for storage on a non-transitory computer-readable medium that, when executed by a processor, cause an apparatus to: display a first screen, wherein the first screen displays bank cards associated with an account number which a digital wallet application (APP) is currently logged in to; determine a to-be-verified bank card and at least one to-be-bound bank card from the bank cards; display a second screen, wherein the second screen prompts a user to enter verification information of the to-be-verified bank card; and send the verification information to a server to request the server to deliver a card application and first personalization data corresponding to each of the at least one to-be-bound bank card to the apparatus after verification succeeds, to complete binding of the at least one to-be-bound bank card.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
DESCRIPTION OF EMBODIMENTS
[0090] A terminal configured to perform a card binding method provided in the embodiments of this application may be specifically any terminal having an NFC payment function, for example, a mobile phone, a wearable device, an augmented reality (augmented reality, AR) device/a virtual reality (virtual reality, VR) device, a tablet computer, a notebook computer, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook, or a personal digital assistant (personal digital assistant, PDA). Certainly, a specific form of the terminal is not limited in the following embodiments.
[0091] For example, as shown in
[0092] The following describes the components of the terminal 100 in detail with reference to
[0093] The processor 101 is a control center of the terminal 100. The processor 101 is connected to parts of the terminal 100 by using various interfaces and lines, runs or executes an application stored in the memory 103, and invokes data stored in the memory 103, to perform various functions of the terminal 100 and data processing. In some embodiments, the processor 101 may include one or more processing units. For example, the processor 101 may be a Kirin 960 chip manufactured by Huawei. In some embodiments of this application, the processor 101 may further include a fingerprint verification chip, configured to verify a collected fingerprint.
[0094] The radio frequency circuit 102 may be configured to receive and send a radio signal in an information receiving and sending process or in a call process. Particularly, after receiving downlink data from a base station, the radio frequency circuit 102 may send the downlink data to the processor 101 for processing, and send related uplink data to the base station. Generally, the radio frequency circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, the radio frequency circuit 102 may further communicate with another device through wireless communication. The wireless communication may use any communications standard or protocol, including but not limited to a global system for mobile communications, a general packet radio service, code division multiple access, wideband code division multiple access, long term evolution, an email, an SMS message service, and the like.
[0095] The memory 103 is configured to store the application and the data. The processor 101 runs the application and the data stored in the memory 103, to perform various functions of the terminal 100 and data processing. The memory 103 mainly includes a program storage area and a data storage area. The program storage area may store an operating system, and an application program required by at least one function (for example, a sound playing function or an image playing function). The data storage area may store data (for example, audio data or an address book) created when the terminal 100 is used. In addition, the memory 103 may include a high-speed random access memory (random access memory, RAM), or may include a nonvolatile memory such as a magnetic disk storage device, a flash memory device, or another volatile solid-state storage device. The memory 103 may store various operating systems such as an iOS operating system developed by Apple and an Android operating system developed by Google. The memory 103 may be independent, and is connected to the processor 101 by using the communication bus; or the memory 103 may be integrated with the processor 101.
[0096] The touchscreen 104 may specifically include a touchpad 104-1 and a display 104-2.
[0097] As an input device of the terminal, the touchpad 104-1 may collect a touch event performed by a user on or near the touchpad 104-1 (for example, an operation performed by the user on the touchpad 104-1 or near the touchpad 104-1 by using any proper object such as a finger or a stylus), and send collected touch information to another component (for example, the processor 101). The touch event performed by the user near the touchpad 104-1 may be referred to as a floating touch. The floating touch may mean that the user does not need to directly touch the touchpad for selecting, moving, or dragging an object (for example, an icon), and the user only needs to be near the terminal to execute a desired function. In addition, the touchpad 104-1 may be implemented in a plurality of types such as a resistive type, a capacitive type, an infrared type, and a surface acoustic wave type.
[0098] The display (may also be referred to as a display screen) 104-2 may be configured to display information entered by the user or information provided for the user, and various menus of the terminal 100. The display 104-2 may be configured in a form of a liquid crystal display, an organic light emitting diode, or the like. The touchpad 104-1 may cover the display 104-2. After detecting the touch event performed on or near the touchpad 104-1, the touchpad 104-1 transfers the touch event to the processor 101 to determine a type of the touch event. Then, the processor 101 may provide a corresponding visual output on the display 104-2 based on the type of the touch event. Although in
[0099] It may be understood that the touchscreen 104 is formed by stacking a plurality of layers of materials. In this embodiment of this application, only the touchpad (layer) and the display screen (layer) are displayed, and another layer is not recorded in this embodiment of this application. In addition, the touchpad 104-1 may be disposed on the front of the terminal 100 in a full panel form, and the display 104-2 may also be disposed on the front of the terminal 100 in a full panel form. In this way, a bezel-less structure can be implemented on the front of the mobile phone.
[0100] It should be noted that the terminal 100 may further include another input device, for example, may include but is not limited to one or more of a physical keyboard, a function key (such as a volume control key or a power switch key), a trackball, a mouse, a joystick, and the like.
[0101] The terminal 100 may further include the Bluetooth apparatus 105, configured to exchange data between the terminal 100 and another terminal (for example, a mobile phone or a smartwatch) at a short distance from the terminal 100. In this embodiment of this application, the Bluetooth apparatus may be an integrated circuit, a Bluetooth chip, or the like.
[0102] The terminal 100 may further include the at least one sensor 106, such as a fingerprint collection component, a light sensor, a motion sensor, and another sensor. Specifically, the fingerprint collection component may be disposed on the back of the terminal 100 (for example, at a lower part of a rear-facing camera), or the fingerprint collection component may be disposed on the front of the terminal 100 (for example, at a lower part of the touchscreen 104). For another example, the fingerprint collection component may be disposed on the touchscreen 104 to implement a fingerprint recognition function. In other words, the fingerprint collection component may be integrated with the touchscreen 104 to implement the fingerprint recognition function of the terminal 100. The light sensor may include an ambient light sensor and a proximity sensor. The ambient light sensor may adjust luminance of the display of the touchscreen 104 based on luminance of ambient light. The proximity sensor may power off the display when the terminal 100 is moved to an ear. As one type of the motion sensor, an accelerometer sensor may detect acceleration values in all directions (usually on three axes). The accelerometer sensor may detect a value and a direction of gravity when the accelerometer sensor is stationary, and may be applied to an application for recognizing a mobile phone posture (for example, switching between a landscape screen and a vertical screen, a related game, and magnetometer posture calibration), a function related to vibration recognition (such as a pedometer and a knock), and the like. Other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor may be further configured in the terminal 100, and details are not described herein.
[0103] The Wi-Fi apparatus 107 is configured to provide the terminal 100 with network access that complies with a Wi-Fi related standard protocol. The terminal 100 may access a Wi-Fi access point by using the Wi-Fi apparatus 107, to help the user receive and send an email, browse a web page, access streaming media, and the like. The Wi-Fi apparatus 107 provides wireless broadband internet access for the user. In some other embodiments, the Wi-Fi apparatus 107 may be used as a Wi-Fi wireless access point, and may provide Wi-Fi network access for another terminal.
[0104] The positioning apparatus 108 is configured to provide a geographical location for the terminal 100. It can be understood that the positioning apparatus 108 may be specifically a receiver of a positioning system such as a global positioning system (global positioning system. GPS), a BeiDou navigation satellite system, or a Russian GLONASS. After receiving the geographical location sent by the positioning system, the positioning apparatus 108 sends the information to the processor 101 for processing, or sends the information to the memory 103 for storage. In some other embodiments, the positioning apparatus 108 may be alternatively a receiver of an assisted global positioning system (assisted global positioning system. AGPS). The AGPS system serves as an assisted server to assist the positioning apparatus 108 in completing ranging and positioning services. In this case, the assisted positioning server communicates with the positioning apparatus 108 (namely, a GPS receiver) of a terminal such as the terminal 100 through a wireless communications network, to provide positioning assistance. In some other embodiments, the positioning apparatus 108 may be alternatively a positioning technology that is based on a Wi-Fi access point. Each Wi-Fi access point has a globally unique media access control (media access control, MAC) address, and the terminal can scan and collect a broadcast signal of a nearby Wi-Fi access point when the terminal enables Wi-Fi. Therefore, a MAC address that is broadcast by the Wi-Fi access point can be obtained. The terminal sends, to a location server through the wireless communications network, data (for example, the MAC address) that can identify the Wi-Fi access point. The location server obtains a geographical location of each Wi-Fi access point through retrieving, calculates a geographical location of the terminal with reference to a strength of a Wi-Fi broadcast signal, and sends the geographical location of the terminal to the positioning apparatus 108 of the terminal.
[0105] The NFC apparatus 112 is configured to provide an NFC function for the terminal to support various NFC services. For example, after the terminal is simulated as a card, the terminal is directly close to a point of sale (point of sale, POS) terminal to complete NFC payment through card swiping, or when the terminal is used as a reader/writer, the terminal is directly close to a physical card to complete NFC card reading of data in the card, NFC data transmission, and the like. The NFC apparatus 112 includes an NFC controller (Near Field Communication Controller, NFCC), and a function of the NFC apparatus 112 includes modulation and demodulation of a radio frequency signal and NFC protocol processing. The NFCC is connected to a radio frequency antenna (namely, an NFC antenna) to send and receive an NFC signal.
[0106] Optionally, to implement the NFC service, and in particular, NFC payment, the mobile phone may further include a security element (security element, SE). The SE is configured to securely store sensitive information and provide a secure execution environment for a transaction service. The SE may be integrated into the processor 101, or may be located in a subscriber identification module (Subscriber Identification Module, SIM) card of the mobile phone, or may be located in a secure digital memory card (Secure Digital Memory Card, SD) of the mobile phone, or may be an independent chip. The NFCC may be connected to the SE.
[0107] The audio circuit 109, a speaker 113, and a microphone 114 may provide an audio interface between the user and the terminal 100. The audio circuit 109 may convert received audio data into an electrical signal and transmit the electrical signal to the speaker 113, and the speaker 113 converts the electrical signal into a sound signal for output. In addition, the microphone 114 converts a collected sound signal into an electrical signal. The audio circuit 109 receives the electrical signal, converts the electrical signal into audio data, and then outputs the audio data to the RF circuit 102 to send the audio data to, for example, another mobile phone, or outputs the audio data to the memory 103 for further processing.
[0108] The peripheral interface 110 is configured to provide various interfaces for an external input/output device (for example, a keyboard, a mouse, an external display, an external memory, or a subscriber identification module card). For example, the terminal 100 is connected to the mouse through a universal serial bus (universal serial bus, USB) interface. By using a metal contact on a card slot of a subscriber identification module (subscriber identification module, SIM) card provided by a telecommunications operator, the terminal 100 is connected to the subscriber identification module card. The peripheral interface 110 may be configured to couple the foregoing external input/output peripheral device to the processor 101 and the memory 103.
[0109] The terminal 100 may further include the power supply apparatus 111 (for example, a battery or a power management chip) that supplies power to the components. The battery may be logically connected to the processor 101 by using the power management chip, so that functions such as charging, discharging, and power consumption management are implemented by using the power supply apparatus 111.
[0110] Although not shown in
[0111] It should be noted that the foregoing terminal is merely an example, and the terminal 100 may have more or fewer components than those shown in the figure, or may combine two or more components, or may have different component configurations.
[0112] After a digital wallet APP is installed on the terminal and a bank card is bound, the user may complete offline payment by using the digital wallet APP, for example, complete NFC card swiping payment at a brick-and-mortar store or on a physical POS terminal. Currently, when bank cards are to be bound to the digital wallet APP, the user needs to perform processes, for example, enter a card number, a mobile phone number, and a card payment password, and set a wallet payment password and a security question for each to-be-bound bank card, to complete binding. It can be learned that, when a plurality of cards are bound in a current card binding manner, the user performs a relatively cumbersome operation, and consequently card binding efficiency is relatively low.
[0113] To simplify a user operation to improve card binding efficiency, an embodiment of this application provides a card binding method. According to the method, the user needs to enter only verification information of one bank card or few bank cards, so that all to-be-bound bank cards can be bound at a time. Specifically, referring to
[0114] Certainly, referring to
[0115] It should be noted that bank cards shown in
[0116] In another implementation, after the user selects the to-be-bound bank card and the to-be-verified bank card from the shown screen 202A, for example, only one bank card is selected, and the bank card is both the to-be-bound bank card and the to-be-verified bank card. In this case, after the user enters the verification information by using the screen 203, a screen shown as the screen 202A may be displayed again to prompt the user that another to-be-bound bank card may be further selected. Then, a subsequent card binding process is performed, and a screen shown as the screen 204 is displayed.
[0117] In another implementation, when the user enters verification information of a bank card to the digital wallet APP to bind the bank card, the user is prompted whether to bind all remaining bank cards. In addition, all other bank cards are bound based on the entered verification information of the bank card without a need to enter verification information of the remaining to-be-bound bank cards by the user. Referring to
[0118] Optionally, the shown prompt screen 205A may be replaced with a shown prompt screen 205B. On the prompt screen 205B, the terminal displays the historical card binding information associated with the current account number. The historical card binding information is specifically bank card information bound when the user logged in to the current account on another device. For example, the screen 205B shows that the user bound a Bank of China card on HUAWEI Mate 10 and bound a Bank of Communications card on Honor 9. In this way, the user may select, based on the prompt information, a to-be-bound bank card.
[0119] Optionally, in the foregoing method, before displaying the at least two bank cards associated with the account number with which the digital wallet APP is currently logged in to, the terminal may determine, in the following implementations, the at least two bank cards that are displayed on the screen 202A, 202B, or 202C and that are associated with the account number with which the digital wallet APP is currently logged in to.
[0120] Implementation 1: The terminal obtains a first historical card binding record associated with the account number, where the first historical card binding record refers to a list including identifiers of all card applications associated with the account number, or another record form. Further, the terminal attempts to obtain a second historical card binding record associated with the account number, where the second historical card binding record refers to a list including an identifier of a card application that is bound when the current terminal is logged in to with the account number, or another record form. If obtaining the second historical card binding record associated with the account number, the terminal determines that bank cards corresponding to identifiers of card applications that are not included in the second historical card binding record but are included in the first historical card binding record are the at least two bank cards. If not obtaining the second historical card binding record, the terminal determines that bank cards corresponding to identifiers of card applications in the first historical card binding record are the at least two bank cards.
[0121] The first historical card binding record is all card binding records associated with the account number. To be specific, the first historical card binding record includes a set of records of all bank cards bound by performing a card binding operation after the user logs in to the current account on each terminal (including the current terminal and another terminal). Optionally, the first historical card binding record not only includes an identifier of a bank card that is currently still bound, but also may include an identifier of a bank card that was bound but is currently unbound. The terminal may obtain the first historical card binding record from a digital wallet server. In this manner, the digital wallet server needs to store a card binding record generated when each terminal is logged in to with the current account number. Specifically, during obtaining, after logging in to the current account number, the terminal may send a request to the digital wallet server to obtain the first historical card binding record. For example, once the terminal detects that the user logs in to the account on a digital wallet APP of a terminal or performs a card adding operation, the digital wallet APP actively requests to obtain the first historical card binding record, from the digital wallet server. Alternatively, after detecting that the current account is logged in to by the digital wallet APP on the current terminal, the digital wallet server may actively push the first historical card binding record. For example, once detecting the foregoing login operation or the card adding operation of a terminal, the digital wallet server actively pushes the first historical card binding record to a digital wallet APP of the terminal. For example, the first historical card binding record is shown in Table 1, Table 2, or Table 3.
TABLE-US-00001 TABLE 1 Digital wallet Card application Card application account list information status Digital wallet account 1 Bank of China debit card Available: bound Industrial and Commercial Bank of China Available: bound (ICBC) credit card China Construction Bank (CCB) credit card Unavailable: unbound/deleted
TABLE-US-00002 TABLE 2 Digital wallet Card application Card application account list information status Digital wallet account 1 AID 1 Available: bound AID 2 Available: bound AID 3 Unavailable: unbound/deleted
TABLE-US-00003 TABLE 3 Digital wallet Terminal Card application Card application account identity list information status Digital wallet Terminal Bank of China Available: bound account 1 identity 1 debit card Terminal Industrial and Available: bound identity 2 Commercial Bank of China credit card Terminal China Construction Unavailable: identity 1 Bank credit card unbound/deleted
[0122] It should be noted that, in Table 1 and Table 2, the first historical card binding record pushed by the digital wallet server to the terminal includes only the identifiers of the card applications, and a terminal to which each card application belongs is not distinguished. In Table 3, in addition to the identifiers of the card applications, the first historical card binding record pushed by the digital wallet server to the terminal includes an identifier of a terminal to which each card application belongs. In addition, the identifiers of the card applications in Table 1 and Table 3 are represented by using the types of the card applications (in other words, a bank to which a card application belongs and a type of the card application, such as a debit card and a credit card of a bank). In Table 2, the identifiers of the card applications are represented by using the application identifiers (application identifier, AID). Both the two representation manners can indicate bank cards corresponding to the identifiers of the card applications. In another implementation, the identifiers of the card applications may also be represented by information such as names or numbers of the card applications. In addition, the first historical card binding record shown in Table 1, Table 2, or Table 3 further includes statuses of the card applications, and actually, may not include the statuses of the card applications.
[0123] The second historical card binding record includes a card application that is currently on the terminal and that is effectively bound to the current account number, and the effectively bound card application mentioned herein is a card application that is still bound to the current account and that is not unbound or deleted. Optionally, the terminal may locally find the second historical card binding record. In this implementation, the digital wallet APP is required to locally maintain a record on the terminal, for example, store the record in a trusted execution environment (Trusted Execution Environment, TEE), or a trusted application (Trusted Application, TA) in the TEE is responsible for maintaining the record. The record may be in a form of a list, and the record is used to associate each account with a card application corresponding to the account number. Therefore, the digital wallet APP may determine, by locally searching the current terminal whether the record exists, whether the foregoing effective card binding record exists, in other words, the second historical card binding record. Alternatively, the terminal may obtain the second historical card binding record from the digital wallet server. For a specific implementation, refer to that the terminal obtains the first historical card binding record from the digital wallet server. Details are not described herein.
[0124] For example, as shown in Table 4, the second historical card binding record is a card application that exists on the current terminal and that is effectively bound to a current digital wallet account number.
TABLE-US-00004 TABLE 4 Digital wallet Card application Card application account list information status Digital wallet Bank of China debit card Available: bound account 1
[0125] After the terminal separately obtains the first historical card binding record and the second historical card binding record, because the second historical card binding record refers to the identifiers of the bound card applications when the current terminal is logged in to with the current account number, it means that the current terminal already stores and binds these card applications and there is no need for further binding. Therefore, only bank cards corresponding to identifiers of card applications that are not included in the second historical card binding record but are included in the first historical card binding record may be determined as the at least two bank cards. For example, referring to the first historical card binding record shown in Table 3 and the second historical card binding record shown in Table 4, the Industrial and Commercial Bank of China credit card is a bank card bound by the user on another terminal, and the China Construction Bank credit card is a bank card that was bound when the user logged in to the current account on the current terminal but has been unbound. All these bank cards may be bank cards that the user currently wants to bind to the current terminal. Therefore, the Industrial and Commercial Bank of China credit card and the China Construction Bank credit card may be determined as the at least two bank cards described above and displayed. Certainly, as described above, only these bank cards may be directly displayed by using the screen 202A shown in
[0126] Implementation 2: The terminal receives a third historical card binding record sent by the server, where the third historical card binding record includes an identifier of a card application that is associated with the account number and that is not locally bound to the terminal, in other words, when the current terminal is logged in to with the current account number, an identifier of a card application that is not bound to the current terminal. Then, the terminal determines that bank cards corresponding to identifiers of card applications in the third historical card binding record are the at least two bank cards. In this implementation, the digital wallet server is required to store a card binding record generated when each terminal is logged in to with the current account number, and optionally, may further include a record indicating an unbound bank card after being bound, or the like. For example, when the digital wallet server stores both the first historical card binding record and the second historical card binding record, the digital wallet server may directly obtain, based on the first historical card binding record and the second historical card binding record that are stored by the digital wallet server, identifiers of unbound card applications when the current terminal is logged in to with the current account number, and send these identifiers to the terminal by using a list or another record form as the third historical card binding record. Alternatively, the digital wallet server may store only the first historical card binding record, and then directly send, to the current terminal as the third historical card binding record, a card binding record that is in the first historical card binding record and that corresponds to another terminal except the current terminal and a card binding record that corresponds to the current terminal and that is of a bank card that was bound but has been unbound. Likewise, when pushing the third historical card binding record, the server may push the third historical card binding record after receiving a request of the terminal, or may actively push the third historical card binding record.
[0127] Optionally, in another implementation, the terminal may further directly determine that all bank cards supported by the digital wallet APP are the at least two bank cards associated with the account number with which the digital wallet APP is currently logged in to. This implementation is mainly applicable to a scenario in which the user logs in to the current account for first-time card binding, for example, a scenario in which a newly registered account is used for first-time card binding on a terminal.
[0128] Optionally, when the to-be-verified bank card and the at least one to-be-bound bank card are determined from the at least two bank cards, in addition to, shown in
[0129] In addition, it should be noted that, in
[0130] It should be noted that, when the foregoing method is performed by the terminal 100 shown in
[0131] The following describes in detail, by using internal interaction between the terminal, the digital wallet server, and a bank server, a specific implementation process of binding all to-be-bound bank cards based on the verification information of the to-be-verified bank card after the to-be-bound bank card and the to-be-verified bank card are determined in this embodiment of this application. In addition, the following uses an example in which one to-be-verified card is determined and the to-be-verified bank card belongs to one of to-be-bound bank cards for description.
[0132] In an implementation, in response to the request of the terminal, the digital wallet server first requests a bank server corresponding to the to-be-verified bank card to perform verification on the to-be-verified bank card based on the verification information of the to-be-verified bank card; generates a mutual trust credential and automatically binds the to-be-verified bank card after verification succeeds; and then, separately requests a bank server corresponding to another to-be-bound bank card to automatically bind the remaining to-be-bound bank card based on the mutual trust credential. Referring to
[0133] 301. The terminal sends a first request to the digital wallet server.
[0134] Optionally, the first request carries the verification information of the to-be-verified bank card. The verification information includes a bank name, a card number, a registered mobile number, a withdrawal password, security question setting, and the like. The information is used to determine whether the to-be-verified bank card is a valid card, further, it may be understood as determining whether a holder of the bank card, in other words, whether a user of the terminal is valid. The first request is used to request to perform verification on the verification information of the to-be-verified bank card, and deliver the card application and the personalization data of the to-be-verified bank card to complete binding of the to-be-verified bank card.
[0135] 302. The digital wallet server sends a request to a first bank server.
[0136] In the embodiments of this application, the bank server corresponding to the to-be-verified bank card is described as the first bank server, and a bank server corresponding to a remaining to-be-bound bank card is described as a second bank server.
[0137] In this step, after receiving the first request of the terminal, the digital wallet server sends the request to the first bank server based on the verification information of the to-be-verified bank card. The request includes the verification information and is used to request the first bank server to perform verification based on the verification information.
[0138] An identifier of the to-be-verified bank card is used to identify a bank to which the to-be-verified bank card belongs, namely, the first bank server. Each of the identifier of the to-be-verified bank card and an identifier of the to-be-bound bank card may be a name of a bank to which the bank card belongs, a bank organization code, a bank service address, or the like, or may be another identifier that can represent the card application or a bank corresponding to the card application, for example, an AID defined in ISO 7816, where the AID includes a registered application provider identifier RID (Registered Application Provider Identifier, which may represent a card application provider, for example, a bank institution to which the card application belongs), for another example, product identifier information defined in a China financial IC card specification PBOC, where the product identifier information includes a bank identifier code.
[0139] In an implementation, before step 301, after determining the to-be-verified bank card and the to-be-bound bank card, the terminal directly sends the identifiers of the to-be-verified bank card and the to-be-bound bank card to the digital wallet server, and the digital wallet server locally stores the identifiers. In this way, the digital wallet server may request, based on these identification requests, a corresponding bank server to deliver the card application and the personalization data corresponding to the to-be-bound bank card to the terminal. For example, in step 302, the digital wallet server determines the first bank server based on the locally stored identifier of the to-be-verified bank card, and sends the request to the first bank server.
[0140] Optionally, in another implementation, in step 301, the first request carries the identifier of the to-be-verified bank card. In this case, in step 302, the digital wallet server may request, based on the identifier in the first request of the to-be-verified bank card, the bank server corresponding to the to-be-verified bank card.
[0141] In addition, in addition to the verification information of the to-be-verified bank card, the first request may further carry a terminal identifier, an identifier of each to-be-bound bank card, and an account used for currently logging in to the digital wallet APP.
[0142] 303. The first bank server delivers a card application and personalization data corresponding to the to-be-verified bank card to the terminal after verification performed on the verification information succeeds, where the personalization data carries the mutual trust credential.
[0143] Optionally, the card application may be downloaded and installed in a secure area (for example, an SE or a TEE) of the terminal, and the personalization data includes privacy data related to the card application, such as a token (token) and a key of the card. The token may be understood as data that replaces a card number of a physical card, and a function of the token is similar to that of a real card number.
[0144] Optionally, the first bank server first sends the card application and the personalization data of the to-be-verified bank card to the digital wallet server, and further, the digital wallet server delivers the card application and the personalization data of the to-be-verified bank card to the terminal. The terminal may bind the to-be-verified bank card based on the card application and the personalization data of the to-be-verified bank card.
[0145] Optionally, the first bank server directly delivers the card application and the personalization data of the to-be-verified bank card to the terminal, so that the terminal completes binding the to-be-verified bank card. For example, addressing is performed on the terminal based on the terminal identifier forwarded by the digital wallet server, so as to directly deliver the card application and the personalization data of the card application to the terminal.
[0146] The mutual trust credential may be partial information in the personalization data, for example, the foregoing token, or credential information that is specially generated by the first bank server based on the request sent by the digital wallet server or a mutual trust requirement flag carried in the request. The mutual trust requirement flag may be understood as being used to indicate that, during current card binding, the verification information of the to-be-verified card needs to be simultaneously used to complete binding of another bank card.
[0147] The mutual trust credential is used to perform, in a process of binding the remaining to-be-bound bank card, cross-bank verification between another second bank server and the first bank server by using the mutual trust credential, so that after cross-bank verification succeeds, the second bank server delivers a card application and personalization data of the another to-be-bound bank card to the terminal. For details, refer to the following detailed description.
[0148] 304. The terminal binds the to-be-verified bank card based on the card application and the personalization data corresponding to the to-be-verified bank card.
[0149] In this step, after the card application of the to-be-verified bank card is downloaded and installed locally on the terminal, the terminal may register an NFC service with a system, and the NFC service may be an HCE service or a non-HCE service, so that the card application changes to an available state, or a state that can be selected and activated by the user and can be used after the user chooses to activate. For the specific implementation, refer to the prior art. Details are not described herein again.
[0150] Correspondingly, the digital wallet server may locally store a binding relationship between the account logged in to by the digital wallet and the to-be-verified bank card, or store a binding relationship between the terminal, the account logged in to by the digital wallet, and the to-be-verified bank card.
[0151] After binding the to-be-verified bank card is complete, the terminal performs the following steps to further bind the remaining to-be-bound bank card.
[0152] The terminal sends a second request to the digital wallet server.
[0153] The second request is used to request the digital wallet server to send a card application and personalization data of the remaining to-be-bound bank card.
[0154] 306. The digital wallet server sends a request to a second bank server.
[0155] In this step, after receiving the second request sent by the terminal, the digital wallet server sends the request to the corresponding second bank server based on an identifier of the remaining to-be-bound bank card. The request is used to request the second bank server to deliver the card application and the personalization data of the remaining to-be-bound bank card after verification performed on a mutual trust credential succeeds.
[0156] The identifier of the remaining to-be-bound bank card is used to identify a bank to which another to-be-bound bank card other than the to-be-verified bank card belongs, namely, the second bank server. Referring to step 302, the identifier of the remaining to-be-bound bank card may be sent by the terminal before step 301. Optionally, the identifier of the remaining to-be-bound bank card may be further carried in the second request in step 305. Optionally, in another implementation, the identifier of the to-be-bound bank card and the identifier of the to-be-verified bank card may be further carried in the first request in step 301.
[0157] In this step, the request that is sent by the digital wallet server to the second bank server carries the mutual trust credential. Optionally, the mutual trust credential may be carried in the second request in step 305, and is sent by the terminal to the digital wallet server, and further, is sent by the digital wallet server to the second bank server. Optionally, in step 303, if the first bank server delivers the mutual trust credential to the terminal by using the digital wallet server, the digital wallet server locally stores the mutual trust credential, and the digital wallet server may directly send the locally stored mutual trust credential to the second bank server.
[0158] In addition, in addition to the mutual trust credential, the request further carries the terminal identifier, the account used for currently logging in to the digital wallet APP, and the identifier of the to-be-verified bank card (namely, an identifier of the first bank server).
[0159] 307. The second bank server requests, based on the mutual trust credential, the first bank server to verify the mutual trust credential.
[0160] In this step, the second bank server determines the first bank server based on the identifier of the to-be-verified bank card. Certainly, the identifier of the to-be-verified bank card may be carried in the request described in step 306, or may be sent by the terminal to the second bank server.
[0161] The first bank server sends a verification success message to the second bank server.
[0162] In this step, the first bank server verifies the mutual trust credential, and determines whether the mutual trust credential is valid. For example, the first bank server determines whether the mutual trust credential is totally the same as the mutual trust credential previously generated by the first bank server.
[0163] Further, the first bank server may further determine whether an identifier of the second bank server is the same as the identifier of the second bank server (in other words, the identifier of the remaining to-be-bound bank card) that is sent by the digital wallet server in step 302.
[0164] In addition, if the mutual trust credential is encrypted, the mutual trust credential is further decrypted.
[0165] 309. The second bank server delivers, to the terminal, the card application and the personalization data of the corresponding to-be-bound bank card.
[0166] 310. The terminal completes binding the remaining to-be-bound bank card based on the card application and the personalization data that are delivered by the second bank server.
[0167] Principles of step 309 and step 310 are similar to that of step 303 and step 304. Details are not described herein again.
[0168] It should be noted that in a process of performing step 301 to step 310, the transmitted data may be encrypted. For example, when step 301 is performed, a key of the bank to which the to-be-verified bank card belongs, namely, a key of the first bank server may be used to perform encryption processing on the verification information of the to-be-verified bank card. Correspondingly, the first bank server decrypts encrypted verification information and then performs verification.
[0169] In addition, optionally, step 301 and step 305 may be combined. To be specific, the terminal sends only one request to the digital wallet server, where the request carries at least the verification information of the to-be-verified bank card. Optionally, the request may further carry identifiers of all to-be-bound bank cards. Then, after the digital wallet server receives the request, steps 302, 303, 304, 306, 307, 308, 309, and 310 are performed between the digital wallet server, the first bank server, and the second bank server. For a specific process, refer to the foregoing description. In this implementation, after receiving the request of the terminal, the digital wallet server first requests the first bank server to verify the to-be-verified bank card, and delivers the card application and the personalization data of the to-be-verified bank card. Then, after determining that personalization of the first card application is complete, the digital wallet server directly parses the mutual trust credential in the personalization data, and separately requests, by using the mutual trust credential, another second bank server to perform cross-bank verification and deliver the card application and the personalization data, to further complete binding.
[0170] It can be learned that, based on the process described in step 301 to step 310, the terminal first requests, by using the digital wallet server, the first bank server to verify the to-be-verified bank card, and after verification succeeds, the first bank server delivers the corresponding card application and the personalization data, where the personalization data carries the mutual trust credential. Further, the second bank server is further separately requested, based on the mutual trust credential, to perform cross-bank verification on the mutual trust credential, and after verification succeeds, the second bank server delivers the card application and personalization data of the remaining to-be-bound bank card. In this way, the user can enter only the verification information of the to-be-verified bank card, to bind all the to-be-bound bank cards based on the verification information.
[0171] In another implementation, the verification information of the to-be-verified bank card is separately sent to bank servers (including both the first bank server and the second bank server) corresponding to all the to-be-bound bank cards. The bank server corresponding to the to-be-verified bank card, namely, the first bank server, verifies the verification information. A bank server corresponding to another to-be-bound bank card other than the to-be-verified bank, namely, each second bank server, requests, based on the verification information, the first bank server to perform cross-bank verification. After verification succeeds, a card application and personalization data of each to-be-bound bank card are delivered. Referring to
[0172] 401. The terminal sends a request to the digital wallet server.
[0173] The request carries the verification information of the to-be-verified bank card. Optionally, the terminal encrypts the verification information of the to-be-verified bank card. The encryption operation may be that the terminal performs one-encryption on the verification information by using the bank server corresponding to the to-be-verified bank card, in other words, a key (for example, a public key or a symmetric key) of the first bank server.
[0174] Optionally, the request further carries the identifier of the terminal and the account used for currently logging in to the digital wallet APP.
[0175] 402. The digital wallet server separately sends a request to the first bank server and the second bank server.
[0176] The request carries the verification information of the to-be-verified bank card.
[0177] In an implementation, the digital wallet server separately sends the verification information of the to-be-verified bank card to the first bank server and the second bank server based on the identifier of the to-be-verified bank card and an identifier of the remaining to-be-bound bank card.
[0178] Certainly, before step 401, after determining the to-be-verified bank card and the to-be-bound bank card, the terminal directly sends the identifiers of the to-be-verified bank card and the remaining to-be-bound bank card to the digital wallet server, and the digital wallet server locally stores the identifiers. Alternatively, the identifiers may be carried in the request described in step 401. This is not limited in the embodiments of this application.
[0179] It should be noted that, when the digital wallet server sends the request to the second bank server, in addition to carrying the verification information of the to-be-verified bank card, the digital wallet server further carries the identifier of the to-be-verified bank card or the identifier of the first bank server, so that the second bank server finds the first bank server to perform a cross-bank verification operation.
[0180] Optionally, before sending the request to the second bank server, the digital wallet server may further perform one-encryption on the verification information in the request (if one-encryption has been performed in step 401, the digital wallet server may perform secondary encryption), in other words, use a key of the second bank server to encrypt the verification information, to ensure data transmission security.
[0181] Optionally, the request may further carry the identifier of the terminal and the account used for currently logging in to the digital wallet APP.
[0182] 403. The first bank server performs verification on the to-be-verified bank card based on the verification information of the to-be-verified bank card, and delivers a card application and personalization data of the to-be-verified bank card to the terminal after verification succeeds.
[0183] For a specific implementation of the step, refer to step 303, and details are not described herein again.
[0184] 404. The terminal binds the to-be-verified bank card based on the card application and the personalization data corresponding to the to-be-verified bank card.
[0185] For a specific implementation of the step, refer to step 304, and details are not described herein again.
[0186] 405. The second bank server requests, based on the verification information of the to-be-verified bank card, the first bank server to verify the verification information.
[0187] Optionally, the second bank server may directly send, to the first bank server, the verification information that is of the to-be-verified bank card and that is sent by the digital wallet server. Certainly, after secondary encryption is performed on the verification information of the to-be-verified bank card, encrypted verification information may be sent to the first bank server. For example, encryption is performed by using a private key or a symmetric key of the second bank server. In this case, the public key or the symmetric key of the second bank server may need to be stored on the first bank server. These keys may be keys preset by banks participating in cooperation (which may be understood as both parties agree to cooperate to support cross-bank verification in the embodiments of this application, in other words, a verification result of a bank may be trusted by another bank), or the like.
[0188] Optionally, in step 402, the request sent by the digital wallet server to the first bank server may further carry an identifier of another to-be-bound bank card or an identifier of the second bank server. In this way, in this step, the first bank server may further perform verification on the second bank server while verifying the verification information. For example, when receiving a request of a second bank server, the first bank server verifies, based on the received identifier of the to-be-bound bank card or the received identifier of the second bank server, whether the second bank server is valid. If the identifier of the second bank server belongs to the second bank server indicated by the identifier received in step 402 of the to-be-bound bank card or is the identifier received in step 402 of the second bank server, the second bank server is valid; otherwise, the second bank server is invalid.
[0189] 406. The first bank server sends a verification success message to the second bank server.
[0190] 407. After receiving the verification success message returned by the first bank server, the second bank server delivers the application and the personalization data of the to-be-bound bank card to the terminal.
[0191] 408. The terminal completes binding the remaining to-be-bound bank card based on the card application and the personalization data that are delivered by the second bank server.
[0192] For a specific implementation of the step, refer to step 310, and details are not described herein again.
[0193] It should be noted that a sequence between the implementation process of binding the to-be-verified bank card described in step 403 and step 404 and the implementation process of binding the remaining to-be-bound bank card described in steps 405, 406, 407, and 408 is not limited in the embodiments of this application. The two implementation processes may be simultaneously performed, or may be successively performed.
[0194] It can be learned that in the implementation shown in
[0195] It should be noted that in the embodiment shown in
[0196] In still another implementation, the digital wallet server sends the verification information of the to-be-verified bank card to a third-party trusted server, the third-party trusted server requests, after verification performed on the verification information succeeds, a first bank server corresponding to the to-be-verified bank card to deliver card application and personalization data of the to-be-verified bank card to perform a card binding operation, and then separately requests a second bank server corresponding to another to-be-bound bank card to perform a card binding operation. It should be noted that the third-party trusted server described in the embodiments of this application may be operated and managed by a digital wallet service provider. In this case, it may be understood that division of the third-party trusted server and the digital wallet server is merely distinguished from logical functions. Certainly, the third-party trusted server may alternatively be run and managed by an independent third-party, for example, a financial institution such as a bank or China UnionPay, or a third-party payment service providing institution such as Alipay. Referring to
[0197] 501. The terminal sends a request to the digital wallet server.
[0198] For the step, refer to step 401, and details are not described herein again.
[0199] 502. The digital wallet server sends a request to the third-party trusted server.
[0200] The request includes the verification information of the to-be-verified bank card and an identifier of each to-be-bound bank card, an identifier of a bank to which each to-be-bound bank card belongs, or an identifier of a bank server to which each to-be-bound bank card belongs. Optionally, the request may further include the identifier of the terminal and the account used for currently logging in to the digital wallet APP.
[0201] 503. The third-party trusted server sends a request to the first bank server.
[0202] The request carries the verification information of the to-be-verified bank card, and is used to request the first bank server to perform verification on the verification information and deliver the card application and the personalization data of the to-be-verified bank card after the verification succeeds.
[0203] 504. After verification performed on the verification information of the to-be-verified bank card succeeds, the first bank server delivers the card application and the personalization data of the to-be-verified bank card to the third-party trusted server.
[0204] For a specific implementation of the step, refer to step 303, and details are not described herein again.
[0205] 505. The third-party trusted server sends a request to the second bank server.
[0206] After the third-party trusted server receives the card application and the personalization data of the to-be-verified bank card that are sent by the first bank server, it indicates that the first bank server has successfully verified the verification information of the to-be-verified bank card. Alternatively, after receiving a verification success result sent by the first bank server, the third-party trusted server determines that the first bank server has successfully verified the verification information of the to-be-verified bank card. In this case, the third-party trusted server may further request each second bank server to deliver a card application and personalization data of a remaining to-be-bound bank card. In other words, step 506 is performed.
[0207] Optionally, the request may carry the terminal identifier and the account used for currently logging in to the digital wallet APP, the request may further carry the verification success result, and the request is used to request the second bank server to deliver the corresponding card application and the corresponding personalization data of the to-be-bound bank card. Optionally, if a mutual trust credential is further added in the personalization data delivered by the first bank server to the third-party trusted server in step 504, or a mutual trust credential is further added when the first bank server sends the verification success result to the third-party trusted server, the request sent in step 505 also carries the mutual trust credential. In this way, after receiving the mutual trust credential, the second bank server may send the mutual trust credential to the first bank server, and after the first bank server passes the mutual trust credential, step 506 is performed.
[0208] 506. The second bank server sends the card application and the personalization data of the to-be-bound bank card to the third-party trusted server.
[0209] 507. The third-party trusted server delivers, to the terminal, the card application and the personalization data of the to-be-verified bank card and the card application and the personalization data of each remaining to-be-bound bank card.
[0210] 508. The terminal completes binding each to-be-bound bank card based on the card application and the personalization data of each to-be-bound bank card.
[0211] It should be noted that in step 504 and step 506, the first bank server or the second bank server may also directly deliver the card application and the personalization data to the digital wallet server, and the digital wallet server further sends the card application and the personalization data to the terminal. Alternatively, the first bank server or the second bank server directly delivers the card application and the personalization data to the terminal. In addition, in step 507, the third-party trusted server simultaneously delivers or uses the digital wallet server to deliver the card application and the personalization data to the terminal. In another implementation, the third-party trusted server may first deliver the card application and the personalization data of the to-be-verified bank card after step 504, and then deliver the card application and the personalization data of the to-be-bound bank card after step 506.
[0212] It can be learned that in this implementation, according to step 501 to step 508, the third-party trusted server separately interacts with the first bank server and the second bank server to complete binding of each to-be-bound bank card in sequence.
[0213] In this way, that all the to-be-bound bank cards are bound only based on the verification information of the to-be-verified bank card can be complete in the implementation shown in
[0214] It should be noted that in the implementation shown in
[0215] In addition, after card applications of all the to-be-bound bank cards are bound, in actual application, an association between the card application and a corresponding account further needs to be established, so that when the user uses the bound card application to perform NFC payment, fee deduction from the corresponding account may be implemented in any one of the following manners. (1) All the bound card applications are associated with an account of the to-be-verified bank card, in other words, fee deduction is performed from the account of the to-be-verified bank card during subsequent card-swiping consumption of the user. (2) Each bound card application is associated with a bank card account that is previously opened by the user in a bank to which the card application belongs, in other words, during subsequent card-swiping consumption of the user, fee deduction is performed from the bank card account already open in the bank to which the card application belongs. For example, according to the foregoing method provided in this embodiment of this application, the terminal is bound with a card application of China Merchants Bank. If the terminal has previously opened an account in China Merchants Bank, an association relationship between the card application of China Merchants Bank and the open account of China Merchants Bank is established. Subsequently, when NFC payment is performed by using the card application that is of China Merchants Bank and that is bound to the terminal, fee deduction is performed from the open account of China Merchants Bank. (3) Each bound card application is associated with a card account that is newly opened during current card binding in an online manner for the card application by a bank to which the card application belongs, where the card account may be associated with an account of the to-be-verified bank card, so as to allow the user to transfer from the account of the to-be-verified bank card to the card account, so that the user can perform subsequent card-swiping consumption. For example, when the user binds a card application of China CITIC Bank and the card application of China Merchants Bank to the digital wallet APP of the terminal, a corresponding account is opened by a server of China CITIC Bank for the card application of China CITIC Bank in an online manner (different from a current manner of opening an account at a counter), and a corresponding account is opened by a server of China Merchants Bank for the card application of China Merchants Bank in an online manner. Subsequently, the user may transfer from the account of the to-be-verified bank card (for example, a debit card of Bank of China) to the two accounts. In this way, when the user performs card-swiping consumption by using the card application of China CITIC Bank, fee deduction may be performed from the account corresponding to the card application of China CITIC Bank, or when the user performs card-swiping consumption by using the card application of China Merchants Bank, fee deduction may be performed from the account corresponding to the card application of China Merchants Bank.
[0216] In addition to that the card application is applied to an NFC payment scenario, extension may be further performed according to a principle shown in the method provided in this embodiment of this application, to apply the card application to a scenario in which a two-dimensional code is used for payment. Currently, a two-dimensional code payment function of the digital wallet supports only a bound bank card to generate a two-dimensional code corresponding to the bound bank card. For example, when a digital wallet APP is bound with two bank cards a bank card A and a bank card B, the bank card A may generate a two-dimensional code of the bank card A for a server to which the bank card A belongs to perform verification, the bank B may generate a two-dimensional code of the bank card B for a server to which the bank card B belongs to perform verification. When the two-dimensional code is used for payment, different stores may have different promotional activities for different bank cards. To enjoy promotion provided by each bank as much as possible, the user needs to bind bank cards as many as possible. In this case, the user also needs to enter information related to the bank cards one by one, in other words, there is also a problem of a relatively cumbersome card binding operation. Therefore, to simplify the card binding operation, in an embodiment of this application, the user needs to bind only one bank card, and then request, by using information about the bound bank card, a two-dimensional code from another bank or data (such as a key seed) necessary for generating the two-dimensional code. For this two-dimensional code payment scenario, a solution provided in this embodiment of this application is specifically as follows: (1) A bank card that is most suitable for this payment is determined, for example, a bank with a maximum promotion degree for this payment. Optionally, a bank with a maximum promotion degree is recommended based on current location information of the terminal, or a bank with a maximum promotion degree is recommended based on information about a store in which the user is currently located, or a bank with a maximum promotion degree is determined in another manner. (2) After authorization is performed by the user, information about the bank card bound to the digital wallet is used as the verification information of the to-be-verified bank card to send a request to a server of the bank determined in step (1), to request to generate a two-dimensional code corresponding to the bank or data necessary for generating the two-dimensional code corresponding to the bank. (3) The server of the determined bank delivers the two-dimensional code or related data necessary for generating the two-dimensional code, for example, a two-dimensional code key seed, to the terminal after verification performed on the verification information of the to-be-verified bank card succeeds. For the verification process, refer to the implementation shown in
[0217] The foregoing mainly describes the solutions provided in the embodiments of this application from a perspective of how the terminal and the digital wallet server complete the card binding process. It may be understood that, to implement the foregoing functions, the terminal and the digital wallet server include corresponding function modules for performing the functions. A person of ordinary skill in the art should easily be aware that, in combination with the examples described in the embodiments disclosed in this specification, steps may be implemented by hardware or a combination of hardware and computer software. Whether a function is performed by hardware or hardware driven by computer software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
[0218] Certainly, the terminal and the digital wallet server may be further divided based on the foregoing method examples. For example, each module or unit may be divided based on each function, or two or more functions may be integrated into one processing module. The foregoing integrated module may be implemented in a form of hardware, or may be implemented in a form of a software module or unit. In this embodiment of this application, module or unit division is an example, and is merely a logical function division. In actual implementation, another division manner may be used.
[0219]
[0220] The storage unit 601 is configured to store one or more pieces of program code. The processing unit 602 is configured to execute the program code stored in the storage unit 601, to perform step 304 and step 310 in
[0221] Certainly, the terminal 600 includes but is not limited to the unit modules listed above, and functions that can be specifically implemented by the foregoing units also include but are not limited to functions corresponding to the method steps described in the foregoing embodiments. For detailed descriptions of the units of the terminal 600, refer to detailed descriptions of the method steps corresponding to the units. Details are not described herein again in this embodiment of this application.
[0222] Optionally, the storage unit 601 may be included in the memory 103 in the terminal 100 for implementation, the processing unit 602 may be included in the processor 101 in the terminal 100 for implementation, the display unit 603 may be included in the display 104 in the terminal 100 for implementation, the communications unit 604 may be included in the radio frequency circuit 102 in the terminal 100 for implementation, and the input unit 604 may be included in the touchpad 104-1 in the terminal 100 for implementation. Certainly, in a specific implementation of this application, the input unit 604 may alternatively be another human-machine interaction interface, for example, a physical input key or a microphone, or may be another external information capturing apparatus, for example, one or more of a camera, a microphone, a physical keyboard, a function key, a trackball, a mouse, and a joystick.
[0223]
[0224] The storage unit 701 is configured to store one or more pieces of program code. The processing unit 702 is configured to execute the program code stored in the storage unit 701, to determine at least two bank cards to be displayed by a terminal and perform another process of the technology described in this specification. The communications unit 703 is configured to perform communication between the digital wallet server 700 and another device, for example, support the digital wallet server in performing steps 301, 302, 303, 305, 306, and 309 in
[0225] Certainly, the digital wallet server 700 includes but is not limited to the unit modules listed above, and functions that can be specifically implemented by the foregoing units also include but are not limited to functions corresponding to the method steps described in the foregoing embodiments. For detailed descriptions of the units of the digital wallet server 700, refer to detailed descriptions of the method steps corresponding to the units. Details are not described herein again in this embodiment of this application.
[0226] As shown in
[0227] The processing unit 702 may be a controller or a processor 802 in the digital wallet server 800. The controller or the processor 802 may implement or execute various example logical blocks, modules, and circuits described with reference to content disclosed in this application. The processor or the controller may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or another programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The processor 802 or the controller may implement or execute various example logical blocks, modules, and circuits described with reference to content disclosed in this application. Alternatively, the processor may be a combination of processors implementing a computing function, for example, a combination of one or more microprocessors.
[0228] The communications unit 703 may be a transceiver, a transceiver circuit, a communications interface 803, or the like in a base station.
[0229] The digital wallet server 800 further includes a bus 804. The bus 804 may be an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus or the like. The bus 804 may be classified into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used to represent the bus in
[0230] The foregoing descriptions about implementations allow a person skilled in the art to clearly understand that, for the purpose of convenient and brief description, division of the foregoing function modules is used as an example for illustration. During actual application, the foregoing functions can be allocated to different function modules for completion according to a requirement, in other words, an internal structure of an apparatus is divided into different function modules, to implement all or some of the foregoing functions. For a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments, and details are not described herein again.
[0231] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the described apparatus embodiments are merely examples. For example, the module or unit division is merely logical function division and may be other division during actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, mutual couplings or direct couplings or communication connections between the units may be indirect couplings or communication connections by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electrical, mechanical, or other forms.
[0232] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0233] In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
[0234] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the prior art, or all or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes any medium that can store program code, such as a flash memory, a removable hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disc.
[0235] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.