Detailed Description
In the prior art, the process of mobile payment by code scanning payment may be specifically as shown in fig. 2:
s100: the buyer' S first terminal generates and displays a DOI (e.g., two-dimensional code), S102: the merchant scans the two-dimensional code through the second terminal, obtains service data (e.g., account information of the purchaser) required for executing the payment service, and S104: the merchant initiates a payment request to the corresponding payment platform according to the service data (for example, the second terminal carries the service data in the payment request and sends the payment request to the server of the payment platform), S106: and the server of the payment platform executes the corresponding payment service according to the received payment request and returns the execution result to the first terminal.
Since the first terminal is a terminal used by the buyer, the process of generating the DOI by the first terminal in step S100 may refer to the process of generating the two-dimensional code in the prior art shown in fig. 1. That is, the user makes the first terminal display the DOI through a multi-step operation.
The process of displaying the unique identifier of the digital object provided in the present specification also belongs to the process of step S100 in the service execution process shown in fig. 2.
In order to make the objects, technical solutions and advantages of the present disclosure more apparent, the technical solutions of the present disclosure will be clearly and completely described below with reference to the specific embodiments of the present disclosure and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by a person skilled in the art without making any inventive step based on the embodiments in the description belong to the protection scope of the present application.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 3 is a process for displaying a unique identifier of a digital object according to an embodiment of the present disclosure, which may specifically include the following steps:
s200: user operation of an icon of a first application is monitored.
In one or more embodiments of the present description, the process of displaying the DOI may be performed by a terminal. The DOI may include service data required for executing a payment service. The process of displaying DOI may be a loop in the process of payment transaction, i.e. payment transaction performed by way of a code-scan payment.
Of course, the description does not limit what kind of service data is included in the DOI, and the setting may be specifically performed according to the needs. For example, service data required for performing a payment service, service data required for performing an add buddy service, and the like. For convenience of description, the service data included in the DOI is taken as an example of service data required for executing a payment service in the following description.
In addition, when multiple functions are integrated in an application, different functions can be implemented by different subroutines of the application. The main program of the application may be run through a main process (also referred to as a parent process), and each subprogram may be run through a subprocess respectively and independently execute a service, as shown in fig. 4.
Fig. 4 is a schematic structural diagram of an application integrating a plurality of sub programs, wherein a main program of the application can be run through one main process, and the sub programs capable of realizing each function can also be independently run through different sub processes. The rectangle containing each subprogram on the left side is the main program of the application, and each subprogram can be a part of the main program, but can also be independently operated through different subprograms.
In this specification, the first application is an application that provides DOI, and the first application may be a subroutine of the second application. Also, since the service data included in the DOI may be required to perform a payment service, the second application and/or the first application may be an application having a payment function. That is, as long as at least one of the first application and the second application is a payment application.
Further, for an application comprising a plurality of sub-programs that can run independently, different sub-programs in the application can correspond to different icons, so that a user can conveniently start the sub-programs without starting a main process of the application, as shown in fig. 5.
An icon of an application and icons of sub-programs of the application are displayed in the system interface of the mobile phone in fig. 5. Wherein the icon A is a start applicationIs the entry of the main program of (i.e., the icon of the second application), the icon is a1To launch the entry for the sub-program of that application (i.e., the icon for the first application). Of course, deleting the icon of the subroutine does not mean that the subroutine is deleted, but only the entry that started the subroutine is deleted. Similarly, the icon for adding a subroutine is only an entry for adding a subroutine. For convenience of understanding, in the drawings of the following description, the icon name of the first application is "application", and the icon name of the second application is "shortcut".
In this specification, the terminal may monitor the operation of the user on the icon of the first application to start the first application, so as to facilitate the subsequent step of acquiring the DOI. The icon of the first application may be created by the second application when the icon of the first application is determined not to exist. Specifically, the first application is a subprogram of the second application, and therefore the second application is a main program, and after the main program is started, whether an icon of the subprogram of the first application exists can be determined, if the icon does not exist, the icon of the first application is created, and if the icon exists, no processing is performed. So that the user does not need to manually create the icon of the first application but is created by the second application itself.
In addition, in this specification, the terminal may specifically be a device such as a mobile phone, a tablet computer, and a personal computer, but this specification is not limited thereto. For convenience of description, the terminal is taken as a mobile terminal, specifically a mobile phone as an example for explanation. When the process of displaying DOI is applied to the service execution process shown in fig. 2, the mobile terminal may be the first terminal in fig. 2.
S202: a digital object unique identifier is obtained from the first application.
In this specification, when the mobile terminal monitors that a user performs an operation on an icon of the first application, the first application may be started, so that the first application acquires a DOI, and further acquires the DOI from the first application.
Due to the fact that the DOI display method provided by the specification aims to solve the problem that user operation is complex when a code scanning payment mode is adopted in the prior art, user operation is not needed in the DOI obtaining process in order to simplify user operation. And the process of obtaining the DOI by the mobile terminal can be performed outside the user's perception in order to avoid unnecessary operations performed by the user.
Specifically, the mobile terminal may start the first application in the background, so that the first application obtains the DOI including service data required for executing the payment service, and then the mobile terminal may obtain the DOI from the first application. The DOI may be a two-dimensional code. What service data is specifically needed for executing the payment service can be set according to needs, which is not limited in this specification. For example, when a payment transaction is performed by scanning a code payment, the buyer needs to generate a two-dimensional code containing an identity, and the transaction data may be the identity, and so on.
In addition, the two-dimensional code may be created by the first application according to the service data, or may be provided to the first application by the second application or the server after being created according to the service data. If the former case is the case, the first application is the application that creates and provides the two-dimensional code, and if the latter case is the case, the first application is only the application that acquires the two-dimensional code. Of course, since there are many mature methods for creating the two-dimensional code, it is not described herein again as long as the process of obtaining the two-dimensional code by the mobile terminal does not require the user to perform further operations and is performed in the background.
Further, since the payment service involves the privacy of the user, the identity of the user is usually verified before the payment service is executed in order to ensure the security of the service execution. Therefore, in this specification, the first application may also determine that the user is authenticated before obtaining the two-dimensional code. Moreover, when the first application obtains the two-dimensional code in a different manner, the process of the identity verification may not be completely the same
Specifically, in this specification, the process of identity verification may include: at least one of the processes of determining the login state of the account, determining the login validity period, determining that the result of the wind control is passed, and the like is performed in the authentication process, which is not limited in the specification. For convenience of description, the first application will be described as an example of acquiring the service data from the second application. When the first application sends an acquisition request to the second application, the second application can execute the authentication process, and after the authentication passes, the service data is determined and returned to the first application. The second application can judge whether the second application has an account in a login state, if so, the second application determines that the identity authentication passes, and if not, the second application determines that the identity authentication does not pass. Or, the second application may also determine whether the login time of the account in the login state recorded by the second application is within the login validity period, if so, determine that the authentication passes, and if not, determine that the authentication does not pass. Or the second application performs wind control on the account according to the information of the account in the login state, and determines that the authentication passes when the wind control result passes, and determines that the authentication does not pass when the wind control result passes.
Of course, the authentication process described above may also be performed by the server. The specific way of performing identity authentication is a mature technology, and can be set according to needs, which is not limited in this specification and is not described in detail.
Furthermore, if the first application determines that the authentication result is not passed, the first application may further create an image corresponding to the prompt message in order to prompt the user that the two-dimensional code is not successfully created. The prompt message may be a prompt message that the identity authentication fails. The mobile terminal may further obtain an image corresponding to the prompt message that the identity authentication fails.
In addition, in this specification, when the first application creates the two-dimensional code, an image of the two-dimensional code having a size not larger than a size of an icon of the first application may be created according to the size of the icon.
Specifically, since the icon applied in general is a bitmap, when creating an image of a two-dimensional code, an image of the two-dimensional code not exceeding the icon length and width of the first application can be created. Of course, in order to maximize the capacity of the two-dimensional code, the first application may create an image of the two-dimensional code that coincides with the icon size of the first application, as shown in fig. 6.
Fig. 6 is a schematic diagram of the size of a two-dimensional code image provided by an embodiment of the present specification, where the left side is an icon of the first application, and the size of the icon is 32 × 32, and the right side is an image of a two-dimensional code created by the first application, and the size of the two-dimensional code image is not larger than the size of the icon, and the size of the two-dimensional code image is also 32 × 32.
Further, when the first application creates the image corresponding to the prompt message that the identity authentication fails, the size of the image corresponding to the prompt message may not exceed the size of the icon of the first application. The image may be in the form of characters, which prompt the reason why the user identity authentication fails. As shown in fig. 7, it can be seen that the images corresponding to the various kinds of presentation information display presentation information such as "please register", "register timeout", and "unopened service" in text form.
S204: replacing the icon of the first application with the digital object unique identifier.
In an embodiment of the present specification, after obtaining the two-dimensional code, the mobile terminal may replace the icon of the first application with the two-dimensional code. So that a subsequent third party (e.g., a seller, a merchant, etc.) can acquire service data required for executing the payment service by scanning the two-dimensional code and execute the payment service. That is, steps S102 to S106 in fig. 2 are not described in detail herein.
In addition, when the mobile terminal displays the image or the two-dimensional code on the icon of the first application, if the shortcut management module exists in the system program of the mobile terminal, the first application started in step S202 may send a replacement request carrying the two-dimensional code (or the storage address of the two-dimensional code) to the shortcut management module, and the shortcut management module replaces the icon of the first application, as shown in fig. 8. Of course, different system programs may replace the icon of the first application in a non-identical manner, which may be determined according to the application installation environment (i.e., system), and this specification does not limit this. Similarly, if the image corresponding to the prompt message that the identity authentication fails is generated in step S202, the icon of the first application may be replaced in the same manner.
The icon of the first application is used for prompting a user to click the icon to acquire the two-dimensional code, and the content of the icon of the first application is not limited in the specification. For example, the content of the icon of the first application may be a text "acquire two-dimensional code", or an image diagram, and the like.
Based on the process of displaying the unique identifier of the digital object as shown in fig. 3, the terminal may monitor the user's operation on the icon of the sub-program of the second application (i.e., the first application), and acquire the DOI from the first application and replace the icon of the first application with the DOI. When the payment service is executed in the code scanning payment mode, a user only needs to click the icon of the first application, and the icon can be replaced by the two-dimensional code required for executing the code scanning payment, so that the user can finish the payment service without entering an application interface, and the user experience is improved. Meanwhile, the first application for generating the two-dimensional code is only one subprogram in the second application, so that the method can avoid starting a main program of the second application and other subprograms irrelevant to payment service, reduce resource consumption and improve service execution speed and efficiency.
In addition, in the service execution process shown in fig. 2, it can be seen that the server also returns the service execution result to the mobile terminal. Similarly, in this embodiment of the present specification, after performing step S204, the mobile terminal may further receive a result (e.g., a payment result) of performing a service based on the DOI, which is returned by the server.
Then, the mobile terminal may also replace the icon of the first application according to the received execution result. Specifically, after receiving the payment result returned by the server, the mobile terminal may generate an image corresponding to the payment result according to the payment result in the same manner as the image corresponding to the prompt information generated in step S202. Then, the mobile terminal may replace the icon of the first application with an image corresponding to the payment result in the same method as in step S204, as shown in fig. 9. In fig. 9, the icon of the first application is replaced with an image corresponding to the payment result of "successful payment".
Further, in this specification, in addition to replacing the icon of the first application, the mobile terminal may prompt the user of the execution result of the service by replacing the name of the icon of the first application after receiving the execution result of the service executed based on the DOI.
Further, since code-scanning payment generally does not require user confirmation, there is a case where a two-dimensional code is stolen by a person. In the prior art, in addition to improving the refresh rate of the two-dimensional code (namely, reducing the life cycle of the two-dimensional code), for a large payment transaction, a mode of requiring a user to perform secondary confirmation on the transaction can be adopted, so that the condition of stealing the two-dimensional code is avoided. For example, after the two-dimensional code provided by the user is scanned by the third party, the payment application jumps to the confirmation page according to the information returned by the server to require the user to perform secondary confirmation on the transaction, and the transaction service is executed only when the user performs secondary confirmation. The information returned by the server may include specific information of the transaction, such as transaction amount, transaction object, transaction article, etc., for enabling the user to confirm that the transaction is a transaction requested to be executed by the user according to the information.
Therefore, in the embodiment of the present specification, the mobile terminal may also receive information returned by the server, and display the prompt information according to the information. Or the mobile terminal generates a prompt image according to the information and replaces the icon of the first application. For example, the subroutine may generate an image containing the text of "click-to-confirm" and replace the icon of the first application with the image, as shown in FIG. 10 a. Or, the mobile terminal may also send the prompt message to a message bar, so that the mobile terminal displays an interface as shown in fig. 10b, where the message bar of the mobile phone interface is visible, and a prompt message of "click again the shortcut to confirm execution" is displayed. To prompt the user to click the icon of the first application again for a second confirmation.
In addition, since the two-dimension codes are usually of a life cycle, in step S204, if the mobile terminal fails to receive a service execution result returned by the server within one life cycle, the mobile terminal may repeat steps S202 and S204 again to replace the icon of the first application again (i.e., replace the old two-dimension code with the new two-dimension code). Or, the mobile terminal fails to receive a service execution result returned by the server in a life cycle, and the two-dimensional code can be replaced by the icon displayed by the first application in a default mode.
Further, in this specification, the mobile terminal may further restore the icon of the first application to the default displayed icon after replacing the icon of the first application according to the execution result returned by the server. Specifically, the mobile terminal may determine whether a duration of replacing the icon of the first application with the image corresponding to the execution result exceeds a preset duration, if so, not perform processing, and if not, restore the icon of the first application to the default displayed icon. The preset duration can be set as required, and is used for prompting the user of the execution result of the payment service in a short time.
It should be noted that all execution subjects of the steps of the method provided in the embodiments of the present specification may be the same apparatus, or different apparatuses may also be used as execution subjects of the method. For example, the execution subject of steps S200 and S202 may be device 1, and the execution subject of step S202 may be device 2; alternatively, the execution subject of step S200 may be device 1, and the execution subjects of step S202 and step S204 may be device 2; and so on. The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Based on the method for displaying the unique identifier of the digital object shown in fig. 3, the embodiment of the present specification further provides a device for displaying the DOI, as shown in fig. 11.
Fig. 11 is a schematic structural diagram of an apparatus for displaying a unique identifier of a digital object according to an embodiment of the present disclosure, where the apparatus includes:
the monitoring module 300 monitors the operation of a user on an icon of a first application, wherein the first application is a subprogram of a second application;
an obtaining module 302 that obtains a digital object unique identifier from the first application;
a replacement module 304 that replaces the icon of the first application with the digital object unique identifier.
The icon of the first application is created by the second application when the icon of the first application is determined not to exist.
The obtaining module 302 starts the first application in the background, and obtains the unique identifier of the digital object through the first application, wherein the first application creates the unique identifier of the digital object according to service data required for executing a service.
The obtaining module 302, before obtaining the unique identifier of the digital object from the first application, sends an obtaining request to the second application, so that the second application performs authentication according to an account in a login state, and returns service data required for executing a service to the first application after the authentication passes, or the first application sends an obtaining request to a server, so that the server performs authentication according to an account in a login state in the first application or the second application, and returns the service data required for executing a service to the first application after the authentication passes.
The replacing module 304, when it is determined that the identity authentication fails, acquires an image corresponding to the prompt message that the identity authentication fails, and replaces the icon of the first application with the image corresponding to the prompt message.
The replacing module 304, after replacing the icon of the first application with the unique digital object identifier, receives an execution result of executing a service based on the unique digital object identifier, generates a prompt image according to the execution result, and replaces the icon of the first application with the prompt image.
The replacing module 304, after replacing the icon of the first application with the unique digital object identifier, receives an execution result of executing a service based on the unique digital object identifier, and replaces the name of the icon according to the execution result.
The first application and/or the second application are/is an application with a payment function, and the unique identifier of the digital object is a payment two-dimensional code.
Based on the method for displaying unique identifier of digital object described in fig. 3, the present specification correspondingly provides a terminal, as shown in fig. 12, wherein the server includes: one or more processors and memory, the memory storing a program and configured to perform, by the one or more processors:
monitoring the operation of a user on an icon of a first application, wherein the first application is a subprogram of a second application;
obtaining a digital object unique identifier from the first application;
replacing the icon of the first application with the digital object unique identifier.
In the 90 th generation of 20 th century, it is obvious that improvements in Hardware (for example, improvements in Circuit structures such as diodes, transistors and switches) or software (for improvement in method flow) can be distinguished for a technical improvement, however, as technology develops, many of the improvements in method flow today can be regarded as direct improvements in Hardware Circuit structures, designers almost all obtain corresponding Hardware Circuit structures by Programming the improved method flow into Hardware circuits, and therefore, it cannot be said that an improvement in method flow cannot be realized by Hardware entity modules, for example, Programmable logic devices (Programmable logic devices L organic devices, P L D) (for example, Field Programmable Gate Arrays (FPGAs) are integrated circuits whose logic functions are determined by user Programming of devices), and a digital system is "integrated" on a P L D "by self Programming of designers without requiring many kinds of integrated circuits manufactured and manufactured by special chip manufacturers to design and manufacture, and only a Hardware software is written in Hardware programs such as Hardware programs, software programs, such as Hardware programs, software, Hardware programs, software programs, Hardware programs, software, Hardware programs, software, Hardware programs, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software.
A controller may be implemented in any suitable manner, e.g., in the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, Application Specific Integrated Circuits (ASICs), programmable logic controllers (PLC's) and embedded microcontrollers, examples of which include, but are not limited to, microcontrollers 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone L abs C8051F320, which may also be implemented as part of the control logic of a memory.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.