A payment capacity extension processing method, device and equipment
By using the camera of an external payment device to capture images of the cash register screen and simulating keyboard or mouse operations using the HID protocol, payment capability extension programs are automatically installed. This solves the problems of low efficiency and poor reliability in connecting external payment devices to cash registers, achieving low cost, high efficiency, compatibility, and convenient upgrades.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
- Filing Date
- 2025-03-11
- Publication Date
- 2026-07-10
AI Technical Summary
In existing technologies, the integration of external payment devices with cash registers is inefficient, unreliable, and costly, and is particularly cumbersome and incompatible when dealing with different types of cash registers.
The camera of an external payment device captures the screen of the cash register, and the HID protocol is used to simulate keyboard or mouse operations. Simulated typing information is then automatically sent to install the payment capability extension program, achieving an installation process that requires no manual operation or USB drive.
It improves the access efficiency and reliability of external payment devices, reduces access costs, is compatible with various types of cash registers, and facilitates subsequent upgrades and maintenance.
Smart Images

Figure CN120912198B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese Patent Application No. 202510286568.2, filed on March 11, 2025, entitled "A Method, Apparatus and Device for Expanding Payment Capacity," the entire contents of which are incorporated herein by reference. Technical Field
[0002] This specification relates to the field of electronic payment technology, and in particular to a payment capability expansion processing method, apparatus, and device. Background Technology
[0003] In daily life, merchants typically use cash registers deployed at checkout counters to collect payments from customers. These cash registers usually support traditional payment methods such as bank cards, credit cards, and cash. However, with the rise and increasing popularity of new payment methods, such as QR code payments, near-field communication (NFC) based payments, facial recognition payments, and palm-swipe payments, the capabilities and convenience of cash registers are being challenged.
[0004] To fully leverage the existing POS terminals at numerous merchants and promote new payment methods, payment service providers for these new methods have launched various corresponding external payment devices to extend the payment capabilities of POS terminals. This allows POS terminals to indirectly utilize the extended payment capabilities provided by these external payment devices, thereby supporting the corresponding new payment methods. For example, one type of external payment device is a near-field communication (NFC) based payment device, which, by connecting to a POS terminal, extends the POS terminal's NFC-based payment capabilities.
[0005] Since external payment devices and cash registers are often provided by different service providers, payment service providers offering external payment devices, in order to minimize modifications to the cash registers themselves, should primarily install a payment capability extension program provided by the payment service provider on the cash register. Then, the payment capability extension program will handle the interaction with the external payment device on behalf of the cash register, while the cash register's own data will be obtained by the payment capability extension program through methods such as screenshot recognition. This way, the cash register does not need to actively cooperate, which helps reduce the integration cost and increases merchants' willingness to adopt external payment devices.
[0006] Currently, the installation of payment capability extensions is primarily handled by merchants' or payment service provider staff, who use a USB drive containing the extensions to plug into the POS terminal and perform the installation. However, in practice, this process is cumbersome and prone to problems for merchants. Having payment service providers send staff to perform the installation is labor-intensive. Furthermore, subsequent upgrades and maintenance of the payment capability extensions may continue to present these issues, and the diverse range of POS terminals currently on the market further complicates the situation, making installation and operation more susceptible to problems.
[0007] Therefore, there is a need for solutions that can improve the efficiency and reliability of external payment devices for cash registers and reduce access costs. Summary of the Invention
[0008] This specification provides one or more embodiments of a payment capability extension processing method, apparatus, and device to solve the following technical problem: the need for a solution that helps improve the access efficiency and reliability of external payment devices for cash registers and reduce access costs.
[0009] To solve the above-mentioned technical problems, one or more embodiments of this specification are implemented as follows:
[0010] This specification provides a payment capability extension processing method according to one or more embodiments, applied to an external payment device configured for a cash register, wherein the external payment device provides at least one extended payment method not present in the cash register itself, and the method includes:
[0011] Determine whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register;
[0012] If so, then determine the required simulated typing information based on the captured screen display content;
[0013] The simulated typing information is obtained and sent to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated typing information. Through the execution, the cash register obtains and installs the payment capability extension program indicated by the simulated typing information.
[0014] By interacting with the cash register based on the payment capability extension program, the capabilities corresponding to the extended payment method are used for the cash register.
[0015] This specification provides one or more embodiments of a payment capability extension processing apparatus, applied to an external payment device configured for a cash register, wherein the external payment device provides at least one extended payment method not present in the cash register itself, and the apparatus includes:
[0016] The connection status confirmation module determines whether the external payment device is in a connected state with the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register;
[0017] If the screen capture content is correct, the module determines the required simulated typing information based on the captured screen display content.
[0018] The simulated keying processing module acquires the simulated keying information and sends the simulated keying information to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated keying information. Through the execution, the cash register acquires and installs the payment capability extension program indicated by the simulated keying information.
[0019] The extended capability module interacts with the cash register based on the payment capability extension program to use the capabilities corresponding to the extended payment method for the cash register.
[0020] This specification provides one or more embodiments of a payment capability extension processing device, applied to an external payment device configured for a cash register. The external payment device provides at least one extended payment method not present in the cash register itself. The device includes:
[0021] At least one processor; and,
[0022] A memory communicatively connected to the at least one processor; wherein,
[0023] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform:
[0024] Determine whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register;
[0025] If so, then determine the required simulated typing information based on the captured screen display content;
[0026] The simulated typing information is obtained and sent to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated typing information. Through the execution, the cash register obtains and installs the payment capability extension program indicated by the simulated typing information.
[0027] By interacting with the cash register based on the payment capability extension program, the capabilities corresponding to the extended payment method are used for the cash register.
[0028] The above-mentioned at least one technical solution adopted in one or more embodiments of this specification can achieve the following beneficial effects: it enables the camera of the external payment device to shoot the screen of the cash register, automatically simulating the external payment device as a keyboard, and intelligently decides what kind of simulated input information (as if it were a keyboard input instruction) should be obtained step by step according to the content displayed on the screen. The external payment device sends and executes this simulated input information to the connected cash register through the HID protocol. By executing, the payment capability extension program is conveniently installed on the cash register, thereby enabling the cash register to use the external payment device smoothly to expand support for more payment methods. This installation scheme does not require the payment service provider to send staff to the site, nor does it require merchants to perform cumbersome operations. It does not require a USB flash drive, is low in cost and high in efficiency, can reliably be compatible with various types of cash registers, and is also convenient for subsequent upgrades and maintenance. Attached Figure Description
[0029] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0030] Figure 1 A flowchart illustrating a payment capacity expansion processing method provided in one or more embodiments of this specification;
[0031] Figure 2 A flowchart illustrating a simulated input information acquisition decision-making scheme provided for one or more embodiments of this specification;
[0032] Figure 3 Provided for one or more embodiments of this specification Figure 1 A schematic diagram of the principle framework of the method;
[0033] Figure 4 A flowchart illustrating a probing typing scheme based on screen display content, provided for one or more embodiments of this specification;
[0034] Figure 5 A flowchart illustrating a non-pre-emptive payment capability extension program installation process provided for one or more embodiments of this specification;
[0035] Figure 6 A schematic diagram of a payment capacity expansion processing device provided for one or more embodiments of this specification;
[0036] Figure 7 This is a schematic diagram of the structure of a payment capability expansion processing device provided for one or more embodiments of this specification. Detailed Implementation
[0037] This specification provides an embodiment of a payment capability expansion processing method, apparatus, device, and storage medium.
[0038] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this application.
[0039] To address the issues in the background technology, the applicant initially considered remote downloading and installation of the payment capability extension program. This eliminates the need for USB drives and payment service provider personnel, allowing merchants to operate the program themselves on their POS machines. Merchants can open a browser using the POS mouse, then enter the download URL for the payment capability extension program using the keyboard to access the website and obtain the latest version. The download URL can be obtained from the payment service provider's official website. However, this solution proved unsuccessful after trials with some merchants. The reason is that POS operators often only perform routine POS-related operations and are unfamiliar with the additional operations mentioned above. This leads to low efficiency, a high risk of errors, and a fear of making mistakes, resulting in low willingness to participate, let alone subsequent upgrades and maintenance. Moreover, these additional operations remain quite cumbersome.
[0040] Based on this, the applicant further considered having an external payment device simulate keyboard input (or a mouse and other human-computer interaction devices) to automate keyboard operations that originally needed to be performed on the cash register. This would involve sending the simulated human-computer interaction commands via the HID protocol and automatically installing payment capability extension programs on the cash register, eliminating the need for manual operation by the merchant. Furthermore, in actual testing, reliability issues may arise. Firstly, weak network signals or latency could lead to incomplete or incorrect commands being automatically entered on the cash register. Secondly, the diverse types of cash registers available on the market may cause some commands to fail to execute correctly, resulting in compatibility problems. Therefore, the applicant is further optimizing the system to address these issues.
[0041] Based on this overall approach, the solution proposed in this application will be further explained below.
[0042] Figure 1 This is a flowchart illustrating a payment capability extension processing method provided in one or more embodiments of this specification. The method is applied to an external payment device configured for a cash register. The external payment device can provide one or more payment methods not present in the cash register itself, referred to as extended payment methods, thereby extending the cash register's additional payment capabilities. Examples include near-field communication (NFC) based payment (based on touch sensing recognition), facial recognition payment (based on face recognition), palm recognition payment (based on palmprint recognition), iris recognition payment, etc. Accordingly, the external payment device may be at least one of the following types of devices: NFC-based payment device, facial recognition payment device, palm recognition payment device, iris recognition payment device, etc.
[0043] External payment devices are particularly portable and compact, making them easier to deploy with cash registers. Cash registers are existing, and there are various types available on the market. The solution proposed in this application can effectively accommodate a large number of different cash registers (different brands, models, operating systems, operating logics, hardware interfaces, communication capabilities, security capabilities, access control methods, etc.), with low modification costs. The cash register and external payment device can be provided by different service providers (primarily referring to products from different companies). For example, the external payment device might be provided by a third-party payment service provider, while the cash register might be provided by a traditional financial equipment manufacturer.
[0044] Figure 1 The process includes the following steps:
[0045] S102: Determine whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of shooting the screen of the cash register.
[0046] The cash register itself supports one or more relatively standard and universal interfaces, such as Bluetooth, USB (including Type-C), serial port, WiFi, etc. These can be hardware interfaces or wireless interfaces. Of course, the support for different cash registers may vary. In addition, these interfaces may overlap and be supported in different ways. For example, a serial port may also be implemented based on a USB interface, and so on.
[0047] The external payment device needs to be connected to the cash register first for subsequent information exchange. Taking a serial port (such as RS232, RS485, or other standard serial interfaces) as an example, the cash register and the external payment device can be connected via a serial data cable. Of course, a wireless serial port may also be used.
[0048] External payment devices have built-in cameras. Using a stand or handheld device, the camera is pointed at the cash register screen to record images, providing necessary assistance for subsequent processing. Of course, once the processing is complete, the camera no longer needs to record.
[0049] S104: If so, determine the required simulated typing information based on the captured screen display content.
[0050] External payment devices need to be based on the HID protocol and send appropriate simulated typing information as instructions to further trigger the automated operation of the external payment device. It should be noted that information generated by simulating other human-computer interaction devices can also be used as instructions. For ease of description, some of the following embodiments also use the broader concept of "instruction," which at least includes simulated typing information.
[0051] The appropriate simulated input information can be determined primarily based on the captured screen display. For more common cash registers, the captured screen display can be used to progressively select more universally applicable simulated input information. For more diverse types of cash registers, the captured screen display can be used to determine which simulated input information is more suitable for the current type of cash register. Furthermore, the captured screen display can be used to instantly identify any issues with the automatically entered information and determine if corrections are needed. This process helps improve reliability and ensures automatic compatibility with a wider range of cash register types.
[0052] The HID protocol (Human Interface Device Protocol) is a device communication protocol defined in the Universal Serial Bus standard. It primarily supports data transmission between human-computer interaction devices (such as keyboards, mice, game controllers, and touchscreens) and computers or other host devices. Its core objective is to achieve plug-and-play functionality, allowing these devices to be recognized and used by the operating system without the need for additional drivers. External payment devices and cash registers support the HID protocol; however, the HID protocol alone is insufficient for payment-related business interactions between them. Therefore, payment capability extensions are needed to support higher-level protocols (such as custom lightweight communication protocols) to enable efficient exchange of data with specific business semantics.
[0053] To facilitate more convenient and applicable use of the HID protocol, external payment devices and cash registers can be connected via USB or Bluetooth. In the case of Bluetooth, wireless interaction can be supported through Bluetooth HID.
[0054] In one or more embodiments of this specification, the external payment device may be keyboard- and mouse-free, making it more compact and lightweight for easy portability and deployment, and also lower in cost. The external payment device may simulate a keyboard and / or mouse, automatically sending "instructions as if generated and issued by a human operator using the keyboard and / or mouse" to the cash register via the HID protocol, without actually requiring manual input (e.g., manually clicking the keyboard or mouse). The simulated typing information mentioned above is, as if the instructions were generated and issued by a human operator using the keyboard.
[0055] For the manual operation part, merchants only need to connect the external payment device to the cash register via wired connection or pair it for wireless connection to ensure the connection status in step S102. The subsequent steps can be automatically executed by the external payment device.
[0056] In one or more embodiments of this specification, the external payment device may have pre-built instructions to be sent to the cash register, or these instructions may be automatically generated in real time when they are to be sent. These instructions are automatically sent in a timely manner based on predefined logic; for example, the sending of these instructions may be automatically triggered when the external payment device is first connected to the cash register.
[0057] Alternatively, more flexibly, the payment provider's server can generate at least some of the aforementioned instructions and send them to the external payment device as needed. The external payment device then forwards these instructions to the cash register via the HID protocol. Alternatively, the external payment device can process the received instructions as needed before sending them to the cash register (subsequent simulated input information can also be processed in a similar way, thus fully leveraging the server's advantages). This server-based approach facilitates efficient subsequent upgrades and maintenance, and also allows for parallel service to multiple, numerous, or even massive numbers of external payment devices (corresponding to the same payment service provider) and cash registers (e.g., located at numerous different merchants), thereby more efficiently completing the installation of large-scale payment capability expansion programs.
[0058] In one or more embodiments of this specification, the HID protocol is considered to simulate sending commands (primarily command-line commands) from the keyboard to the cash register one or more times, triggering command execution to complete the installation of the payment capability extension program. Since cash registers are not typically in a state of waiting to receive command lines, a status trigger command can be sent to the cash register via the HID protocol to trigger it to open its own console and enter a command input waiting state, where it waits for commands. There can be one or more status trigger commands. The specific content of the status trigger commands may differ depending on the cash register operating system.
[0059] It should be noted that external payment devices can also simulate a mouse to send commands. However, this method requires more precise determination of the coordinates of the command on the cash register interface, making it more difficult to implement. As for the keyboard simulation solution, since cash registers support some keyboard shortcuts and shortcut combinations, it is relatively easier to issue commands accurately, and the cash register can respond more reliably and correctly. Therefore, this application prefers to have the external payment device simulate a keyboard to issue commands that mimic human keyboard operation.
[0060] S106: Obtain the simulated typing information and send the simulated typing information (which is essentially an instruction) to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated typing information. Through the execution, the cash register obtains and installs the payment capability extension program indicated by the simulated typing information.
[0061] In cases where simulated typing information needs to be sent gradually and multiple times, the judgment action in step S104 may be executed multiple times to determine the next simulated typing information based on the relevant information of the simulated typing information in the previous step.
[0062] In one or more embodiments of this specification, after the cash register enters the command input waiting state and before the external payment device sends simulated typing information, the external payment device may send more instructions to the cash register via the HID protocol, depending on actual needs. For example, it may send a command to trigger the cash register to execute the command first while in the command input waiting state, and then wait for the external payment device to send further simulated typing information.
[0063] Among the simulated input messages sent, at least one simulated input message may contain or indicate the download address of the payment capability extension program. In response to the execution of the simulated input message, the cash register automatically downloads the payment capability extension program from the download address and automatically installs the downloaded payment capability extension program, avoiding tedious manual operations, such as not needing to manually enter the download address.
[0064] S108: By interacting with the cash register based on the payment capability extension program, the capabilities corresponding to the extended payment method are used for the cash register.
[0065] After successful installation on the cash register, the payment capability extension program can be used to conduct higher-level protocol business interactions between the external payment device and the cash register. For example, based on the cashier's specified business operation on the cash register, payment-related information (such as the amount to be paid, payment interface call request, member number, or auxiliary screenshots) can be transmitted to the external payment device to trigger the external payment device to use its supported extended payment methods to deduct money from the current user or perform other business processing.
[0066] The specified business operations include, for example, requesting payment, requesting membership login, or requesting registration of biometric information. It should be noted that these business operations can be newly defined based on or beyond the existing business semantics of the cash register, corresponding to new business semantics, through intent recognition or other methods. This firstly extends the functionality of the cash register in terms of operational form, allowing cashiers to primarily operate the cash register itself; the actual functionality is implemented by an external payment device.
[0067] Going forward, if an upgrade to the payment capability extension program is needed, it can be done online based on the existing version's capabilities, or it can continue to use... Figure 1 The solution involves installing a higher version. Of course, the payment capability extension itself may also be divided into different parts; you can install one part based on your actual needs, similar to the solution described above.
[0068] pass Figure 1This method allows the camera of an external payment device to capture images of the cash register screen, automatically simulating the external payment device as a keyboard. Based on the captured screen display, it intelligently decides what simulated input information (as if inputting commands via a keyboard) should be obtained step-by-step. The external payment device then sends and executes this simulated input information to the connected cash register via the HID protocol. This execution conveniently installs the payment capability extension program on the cash register, enabling it to smoothly use the external payment device and expand its support for more payment methods. This installation solution eliminates the need for payment service providers to send staff to the site, requires no cumbersome operations from merchants, and eliminates the need for USB drives. It is low-cost, highly efficient, reliably compatible with various types of cash registers, and facilitates subsequent upgrades and maintenance.
[0069] based on Figure 1 In addition to the method described herein, this specification also provides some specific implementation schemes and extension schemes of this method, which will be further explained below.
[0070] This specification provides one or more embodiments of a scheme for simulating typing information acquisition and decision-making. Figure 2 This is a flowchart illustrating the scheme.
[0071] Figure 2 The process includes the following steps:
[0072] S202: Identify the type of the cash register based on the content displayed on the first screen captured by the camera.
[0073] The type here can be based on dimensions such as operating system, brand, model, or the POS software used.
[0074] S204: Based on the type, obtain the corresponding simulated typing information to trigger the cash register response.
[0075] The triggering methods include: sending the simulated typing information to the cash register via the HID protocol, so that the cash register is automatically input and executed with the simulated typing information. During this process, the content displayed on the cash register screen will change.
[0076] S206: Identify the operating status of the cash register based on the content displayed on the second screen that the camera continues to capture during the response of the cash register.
[0077] The running status may include the input process status of the simulated typing information being automatically entered on the cash register, or it may include the execution status after the simulated typing information is entered.
[0078] S208: Based on the operating status, determine whether to obtain the simulated input information corresponding to the next step.
[0079] In one or more embodiments of this specification, based on the operating status, it is determined whether the content actually automatically input by the cash register is consistent with the corresponding simulated input information (e.g., whether it is the same as the corresponding part in the originally generated simulated input information). Due to weak network signals or delays, inconsistencies may occur, especially when the simulated input information is sent by the server, which further increases this risk. If yes, it is considered that the process is proceeding normally, and it can be determined to obtain the next corresponding simulated input information to continue triggering the cash register, and so on, to complete the installation of the payment capability extension program. If no, it is considered that an anomaly has occurred, and it is determined that the next corresponding simulated input information will not be obtained temporarily. Instead, the automatically input content is adjusted to achieve consistency, and then normal processing continues, thereby helping to solve the input reliability problem.
[0080] When making adjustments, for example, the HID protocol can be used to send simulated typing correction information to the cash register to delete at least part of the automatically entered content (e.g., simulate backspace key operation) and / or supplement content that was not successfully entered automatically (e.g., re-enter at least part of the content).
[0081] Based on the foregoing description, and more intuitively, one or more embodiments of this specification provide Figure 1 A schematic diagram of the principle framework of the method, see Figure 3 .
[0082] based on Figure 3 The framework provides an example of installing a payment extension for a cash register by following these steps:
[0083] ① The camera of an external payment device captures images of the cash register screen;
[0084] ② The external payment device uses the camera image to run an image recognition algorithm to determine the operating status of the cash register and identify the cash register type: hardware model and software system type (e.g., Windows / Android / Linux, etc.).
[0085] ③ Depending on the type of cash register, input the relevant installation instructions via the HID protocol, using simulated keyboard / or simulated mouse operations;
[0086] ④ Continuously recognize the screen of the cash register and judge the installation progress based on the changes in the screen;
[0087] ⑤ Based on the installation progress, proceed with the next instruction; if a problem is detected, adjust the instructions automatically.
[0088] ⑥. Similarly, execute steps ③ to ⑤ one or more times until the payment extension is successfully installed.
[0089] This ensures efficiency, reliability, and compatibility, while effectively reducing costs.
[0090] To reduce the probability of anomalies, ensure more accurate and reliable compatibility with different cash registers, and minimize the burden on the cash registers, one or more embodiments of this specification also provide a flowchart illustrating a probing input scheme based on screen display content. (See attached diagram.) Figure 4 This solution can be implemented, especially with remote support from the payment service provider's server.
[0091] Figure 4 The process includes the following steps:
[0092] S402: Based on the captured content displayed on the first screen, generate and run a first simulation system for simulating the cash register.
[0093] The simulation system in this process can be lightweight (e.g., building a small system that retains only essential modules), such as through a virtual machine. At a minimum, it will simulate the corresponding operating system. If more types of information, such as point-of-sale (POS) software, can be identified, more simulations can be attempted. It should be noted that this initial simulation is preliminary and may not be reliable; increasingly reliable simulations will be conducted based on subsequent trials.
[0094] This takes into account that different cash registers may differ in multiple dimensions, which may lead to different simulated input information. Therefore, the more accurate the step-by-step simulation of the cash register, the more reliably instructions can be input and executed.
[0095] S404: Obtain trial input information applicable to the first simulation system, for operation on the first simulation system and the cash register respectively.
[0096] In one or more embodiments of this specification, the trial typing information may be simulated typing information suitable for the first simulation system. However, since the first simulation system may not be reliable, the trial typing information may not actually be suitable for the cash register. The trial typing information may be information that is not closely related to the installation of the payment extension program, as long as it can achieve the purpose of probing. In this case, trial typing information with lower execution resource consumption can be used.
[0097] S406: Based on the content displayed on the second screen captured by the camera during the operation, determine whether the respective running results are sufficiently similar.
[0098] By comparing the visual representation of the trial input information on the first simulation system (e.g., the location and name of the pop-up window, other triggering changes on the entire interface, etc.) with the visual representation of the trial input information on the cash register, the reliability of the first simulation system can be determined. If they are sufficiently similar, it can be considered relatively reliable; otherwise, it can be considered unreliable.
[0099] S408: If not, then based on the content displayed on the second screen captured by the camera during operation, adjust the first simulation system to the second simulation system to retest.
[0100] If the differences in type are significant (e.g., different operating systems, large generational gaps), a second simulation system can be reconstructed to replace the first. Conversely, the configuration of the first simulation system can be modified to serve as the second simulation system.
[0101] If so, then obtain the next simulated typing information corresponding to the trial typing information, and use it to continue triggering the cash register.
[0102] In one or more embodiments of this specification, the first simulation system and the second simulation system may correspond to different payment capability extension programs. These differences may include: variations in business functions, such as supporting different extended payment methods; or differences in the degree of business simplification; and so on. In this case, Figure 4 The solution in particular ensures that the correct payment capability extension is installed on the cash register, so that the correct transactions can be performed and the correct payment capabilities can be used.
[0103] In one or more embodiments of this specification, for certain operating systems, in order to more reliably enter the command input waiting state, the above-mentioned state triggering instruction can be subdivided into a first shortcut sub-instruction, a second shortcut sub-instruction, and a simulated typing sub-instruction, which are used to sequentially and reliably achieve different segmented goals.
[0104] In this scenario, after confirming a connection with the cash register, if a payment capability extension program needs to be installed, for external payment devices, a first shortcut sub-command can be sent to the cash register via the HID protocol to trigger the cash register to display its desktop (this means keeping the desktop on the foreground; this prevents subsequent commands from being difficult to execute correctly, for example, if the device remains on a specific business page in the cash register software, subsequent commands may not be executed correctly as intended). After successfully displaying the desktop, a second shortcut sub-command is sent to the cash register via the HID protocol to trigger the cash register to display a running window on the desktop (this means a window where command lines can be entered and run). After successfully displaying the running window, a simulated typing sub-command is sent to the cash register (this means the name of the command-line program to be run, i.e., the console), triggering the automatic input and execution of the simulated typing sub-command in the running window. Through execution, the cash register's own console is opened, entering a command input waiting state.
[0105] The first and second shortcut sub-instructions can be simulated keyboard and / or mouse shortcut operation instructions. Taking the keyboard as an example, the shortcut operation instruction can be the instruction triggered by pressing a specified key combination on the keyboard; taking the mouse as another example, the shortcut operation instruction can be the instruction triggered by clicking a specified system key or clicking a physical button on the mouse that is bound to a specified macro.
[0106] The above specific solution for entering the command input waiting state is particularly suitable for scenarios where the Run window needs to be brought up from the desktop. For example, this scenario falls under the category of a cash register using a Windows operating system. In a Windows scenario, specifically for example:
[0107] First, send the first shortcut sub-command, which is a command that simulates the keyboard shortcut "win+d". The cash register will then respond to this command and switch to the desktop.
[0108] Then, send the second shortcut sub-command, which is a command that simulates the key combination "win+r" on the keyboard. The cash register will respond to the command and pop up a run window on the desktop. In the input box of the run window, it will wait to receive the next sub-command.
[0109] Next, a simulated typing subcommand is sent, specifically the command triggered by simulating keyboard input of the text "CMD" and pressing the Enter key. The cash register then responds to this command, starts the console, and arrives at the "Command Prompt" in the console interface, waiting for command input; it can be considered that it has entered the command input waiting state at this time.
[0110] Next, a simulated typing message is sent, specifically simulating keyboard input of a specific command line. This simulated typing triggers the execution of the command line, which instructs the download of the corresponding program (i.e., the payment capability extension program) from the specified download address and installs the program.
[0111] Besides cash registers using the Windows operating system, cash registers using other operating systems (such as Linux) can also be handled in a similar way. The main difference lies in the specific content of the corresponding instructions.
[0112] The above mainly considers how to efficiently, reliably, and automatically install payment capability extension programs for cash registers. Such operations can be performed in advance to prepare for receiving users who may need to use the corresponding extended payment methods.
[0113] However, this application also considers the scenario where the payment capability extension program is not installed in advance, or where the payment capability extension program is not permanently installed on the cash register, which may be necessary in practical applications.
[0114] For example, many cash registers have relatively weak performance (especially some customized small cash registers), and payment capability extension programs may increase the burden on these registers; furthermore, some payment capability extension programs may have many optional modules, and only some modules may be needed in different scenarios; still others may have security policy requirements for external software; and so on. In these cases, there may be the aforementioned needs, and payment capability extension programs may only be considered for installation when extended payment methods are needed, or when extended payment methods are frequently used, and such installation may only be temporary. This helps to reduce the impact on the cash register, allowing it to perform its original functions more normally.
[0115] To meet these requirements while minimizing impact on user access to extended payment capabilities (whether users will use it, which users will use it, and the frequency of use, which may vary significantly across different merchants), this specification provides a flowchart illustrating a non-pre-emptive payment capability extension program installation process in one or more embodiments. See [link to relevant documentation]. Figure 5 .
[0116] Figure 5 The process includes the following steps:
[0117] S502: After confirming that the connection with the cash register is established, if a user's payment interaction operation for the external payment device is received, it is determined whether the cash register has installed the payment capability extension program.
[0118] For example, you can use the payment capability extension program on the external payment device itself to try to send a probe message to the cash register to determine if the other party has responded correctly. The cash register needs to have the payment capability extension program installed in order to respond correctly through the payment capability extension program.
[0119] If it is already installed, you can interact normally as described in step S108. However, if it is not installed, the cash register and the external payment device cannot effectively communicate, and the cash register cannot utilize the capabilities of the external payment device. In this situation, since the user is currently waiting to pay at the cash register and wants to use the extended payment methods available on the external payment device, the following special handling is implemented to enable the merchant to complete the transaction normally through the cash register.
[0120] S504: If not, then generate a deferred settlement order for the payment interaction operation.
[0121] In one or more embodiments of this specification, the delayed settlement here refers to the cash register. Compared to the normal checkout process at the cash register, the checkout process for this payment interaction operation will actually be completed more slowly for the merchant. It should be emphasized that, however, this has little impact on the user and may even result in a better experience.
[0122] To further determine the voucher information corresponding to the deferred settlement order (for example, using the order number as voucher information; for enhanced security, this can be encrypted or supplemented with other identifying information), the voucher information can be sent to the cash register via the HID protocol. This voucher information can also be simulated input information, thus requiring no higher-level protocol support. It may include, for example, an identifying string representing the deferred settlement order (which can be unique within the relevant business scope, for example, uniquely identifying an order). This voucher information can be input into the cash register through simulated keyboard operations, causing the cash register to save the voucher information; for example, by triggering the cash register to open a log or other text file and write the voucher information to it.
[0123] S506: Send a payment success trigger instruction carrying the voucher information corresponding to the deferred settlement order to the cash register via the HID protocol, triggering the cash register to forcibly and successfully end the current cash register process for the user.
[0124] In one or more embodiments of this specification, the cash register has a control that can be triggered to indicate successful payment. This control can be triggered by simulating keyboard and / or mouse operations to automatically and successfully end the payment process. Alternatively, the cashier can manually force the process to end. It should be noted that normally, the payment process is not actually finished because the cash register and external payment device have not completed a full and effective payment transaction; therefore, this is referred to as a forced successful end.
[0125] In some scenarios, cash registers may require a correct response from the server to automatically and successfully end the checkout process. For example, in card payment, the process can only end after receiving a successful transaction notification from the bank or credit card issuer's server. Therefore, to prevent the cash register from being unable to successfully end the checkout process through manual local controls, the checkout method can be forcibly switched to change this state. For instance, the cash register could be automatically switched to cash payment and automatically confirm that the user has successfully paid the outstanding amount in cash. Of course, the user doesn't actually pay with cash; this switch is simply to facilitate a forced and successful end to the checkout process.
[0126] S508: Request the payment provider's server to send the status trigger command and the simulated input information; or, it may only request a portion of the command, with the remainder obtained and sent locally by the external payment device.
[0127] To facilitate normal business interactions between the POS terminal and external payment devices for deferred settlement orders and to ensure the complete fulfillment of related tasks such as correct settlement, the POS terminal needs to install a payment capability extension program. Therefore, it can proactively request the server to perform the installation. This example uses a server-triggered command to trigger the installation. Of course, it is also possible to use a method triggered solely by the external payment device. In this case, after the deferred settlement order is generated or the POS process is forcibly and successfully terminated, the external payment device can trigger the installation at an appropriate time (e.g., as soon as possible when idle).
[0128] S510: After the payment capability extension program is installed, the cash register requests the corresponding settlement from the external payment device or its server based on the payment capability extension program and the voucher information.
[0129] The cash register uses the voucher information to indicate the corresponding checkout process and deferred settlement orders. In fact, it belongs to its own business, and therefore needs to complete the settlement correctly to protect the interests of merchants.
[0130] In one or more embodiments of this specification, the first simulation system or the second simulation system described above can also be used to generate and process deferred settlement orders, which is more accurate and can provide more comprehensive relevant business information to the cash register in the future.
[0131] pass Figure 5 The proposed solution allows for more flexible decision-making regarding when to install payment capability extensions, without necessarily requiring them to be installed in advance. Furthermore, payment capability extensions do not necessarily need to be permanently installed on the cash register, thus reducing the burden on the cash register and not affecting users' use of extended payment methods with external payment devices.
[0132] Furthermore, in Figure 5 In the proposed solution, due to the lack of a payment capability extension program, the external payment device may not be able to obtain the correct amount to be paid in a timely manner, which could affect the generation of deferred settlement orders. To address this issue, one or more embodiments of this specification also provide a deferred settlement order processing solution.
[0133] The process for this deferred settlement order processing solution may include the following steps.
[0134] First, after generating a deferred settlement order for the payment interaction operation, the estimated first amount to be paid in the deferred settlement order is determined. The first amount to be paid is estimated to be less than the second amount to be paid by the user in this transaction.
[0135] To facilitate differentiation, the amount the user should actually pay in this transaction is referred to as the second outstanding payment amount. However, since the external payment device has not yet installed the payment capability extension program, it may not currently know the second outstanding payment amount. To address this issue, the external payment device conservatively estimates the outstanding payment amount, which is then included in the deferred settlement order as the first outstanding payment amount.
[0136] The desired outcome is that the first outstanding payment amount should not exceed the second outstanding payment amount. However, accurately estimating the second outstanding payment amount may not be easy. Therefore, as a compromise, it is desirable that the estimated first outstanding payment amount is less than and relatively close to the second outstanding payment amount. This ensures that most of the amount is collected on time, protecting the merchant's interests, while also preventing users from being mistakenly overcharged, which would negatively impact the user experience.
[0137] In one or more embodiments of this specification, the cash register's corresponding payment-pending goods display stand is placed within the field of view of the external payment device's camera; based on this, when generating a deferred settlement order for the payment interaction operation, the specific steps include: estimating the price of the goods based on the goods captured within the field of view; determining a first payment amount close to the price based on the price; and generating a deferred settlement order indicating the first payment amount for the payment interaction operation.
[0138] Besides image recognition-based order amount estimation, other methods can also be used, such as estimating based on the user's current shopping history, etc.
[0139] Secondly, the first amount to be paid is deducted from the user's account.
[0140] To avoid user confusion, it is also possible to more clearly inform users that only a portion of the amount has been deducted at this time, and the remaining amount will be deducted in due course.
[0141] Next, after requesting the corresponding settlement from the external payment device or its server using the voucher information, the remaining unpaid amount is determined and deducted from the user based on the request, so as to settle the payment to the merchant corresponding to the cash register.
[0142] The unpaid amount, for example, is equal to the difference between the second unpaid amount and the first unpaid amount. Alternatively, assuming the user pays in this situation, to improve the user experience, additional discounts (such as a reduction in the amount) can be given to the user when the payment is made later, then the unpaid amount will be less than the difference between the second unpaid amount and the first unpaid amount.
[0143] This delayed settlement order processing solution allows cash registers to temporarily and indirectly rely on the ability to borrow external payment devices to serve users, even if the cash register has not yet installed the payment capability extension program. This is particularly beneficial for cash registers.
[0144] Based on the same idea, one or more embodiments of this specification also provide apparatus and devices corresponding to the above methods, such as... Figure 6 , Figure 7 As shown. The apparatus and equipment are capable of performing the above methods and related alternatives accordingly.
[0145] Figure 6 This is a schematic diagram of a payment capability extension processing device provided in one or more embodiments of this specification. It is applied to an external payment device configured for a cash register, wherein the external payment device provides at least one extended payment method not present in the cash register itself. The device includes:
[0146] The connection status confirmation module 602 determines whether the external payment device is in a connected state with the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register.
[0147] If the screen capture content judgment module 604 is correct, it determines the required simulated typing information based on the captured screen display content.
[0148] The simulated keying processing module 606 acquires the simulated keying information and sends the simulated keying information to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated keying information. Through the execution, the cash register acquires and installs the payment capability extension program indicated by the simulated keying information.
[0149] The extended capability module 608 interacts with the cash register based on the payment capability extension program to use the capabilities corresponding to the extended payment method for the cash register.
[0150] Optionally, the external payment device itself does not have a keyboard and mouse.
[0151] Optionally, the screen capture content determination module 604 identifies the type of the cash register based on the captured content displayed on the first screen;
[0152] Based on the type, obtain the corresponding simulated typing information to trigger the cash register response;
[0153] The operating status of the cash register is identified based on the content displayed on the second screen that the camera continues to capture during the response of the cash register.
[0154] Based on the running status, determine whether to obtain the simulated typing information corresponding to the next step.
[0155] Optionally, the screen capture content judgment module 604 determines, based on the operating status, whether the content actually automatically input into the cash register is consistent with the corresponding simulated typing information;
[0156] If so, determine and obtain the simulated input information corresponding to the next step, so as to continue to trigger the cash register so that the payment capability extension program can be installed.
[0157] If not, it is determined that the simulated input information corresponding to the next step will not be obtained for the time being, but the automatically input content will be adjusted so that the consistency is achieved after the adjustment.
[0158] Optionally, the screen capture content judgment module 604 sends the simulated typing correction information to the cash register via the HID protocol to delete at least part of the automatically entered content and / or supplement the content that was not successfully automatically entered.
[0159] Optionally, the screen capture content judgment module 604 generates and runs a first simulation system for simulating the cash register based on the captured first screen display content;
[0160] Acquire trial input information applicable to the first simulation system, for use in operation for the first simulation system and the cash register respectively;
[0161] Based on the content displayed on the second screen captured by the camera during runtime, determine whether the respective running results are sufficiently similar;
[0162] If so, then obtain the next simulated typing information corresponding to the trial typing information, and use it to continue triggering the cash register.
[0163] Optionally, after determining whether the running results are sufficiently similar based on the content displayed on the second screen captured by the camera during runtime, the device further includes:
[0164] If not, the first simulation system is adjusted to the second simulation system based on the content displayed on the second screen captured by the camera during operation, in order to retest.
[0165] Optionally, the first simulation system and the second simulation system are generated in a lightweight manner;
[0166] The first simulation system and the second simulation system correspond to different payment capability extension programs, and the differences include differences in business functions.
[0167] Optionally, there are multiple external payment devices, each corresponding to the same payment provider, and these multiple devices are distributed across multiple different merchants;
[0168] Before the simulated keying processing module 606 uses the capabilities corresponding to the extended payment method for the cash register by interacting with the cash register based on the payment capability extension program, it receives the simulated keying information remotely sent by the server of the payment provider.
[0169] The corresponding triggering of the cash register is completed by forwarding the simulated typing information to the cash register.
[0170] Optionally, the extended capability module 608, after determining whether it is connected to the cash register, if it receives a user's payment interaction operation for the external payment device, determines whether the cash register has installed the payment capability extension program.
[0171] If not, a deferred settlement order is generated for the payment interaction operation, and the voucher information corresponding to the deferred settlement order is sent to the cash register via the HID protocol, so that after the cash register installs the payment capability extension program, it can use the voucher information to request the corresponding settlement from the external payment device or its server based on the payment capability extension program.
[0172] Optionally, the extended capability module 608 sends a payment success trigger instruction carrying the voucher information to the cash register, triggering the cash register to forcibly and successfully end the current cash register process for the user;
[0173] The server of the payment provider is requested to send the simulated typing information.
[0174] Optionally, the extended capability module 608, after generating a deferred settlement order for the payment interaction operation, determines the estimated first amount to be paid in the deferred settlement order, wherein the first amount to be paid is estimated to be less than the second amount to be paid by the user in this instance.
[0175] The first amount to be paid will be deducted from the user's account.
[0176] After requesting settlement from the external payment device or its server using the voucher information, the remaining unpaid amount is determined and deducted from the user based on the request, so as to settle the payment to the merchant corresponding to the cash register.
[0177] Optionally, the extended payment method includes a near-field communication-based payment method.
[0178] Figure 7 This is a schematic diagram of a payment capability extension processing device provided in one or more embodiments of this specification. It is applied to an external payment device configured for a cash register, wherein the external payment device provides at least one extended payment method not present in the cash register itself. The device includes:
[0179] At least one processor; and,
[0180] A memory communicatively connected to the at least one processor; wherein,
[0181] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform:
[0182] Determine whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register;
[0183] If so, then determine the required simulated typing information based on the captured screen display content;
[0184] The simulated typing information is obtained and sent to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated typing information. Through the execution, the cash register obtains and installs the payment capability extension program indicated by the simulated typing information.
[0185] By interacting with the cash register based on the payment capability extension program, the capabilities corresponding to the extended payment method are used for the cash register.
[0186] Based on the same idea, one or more embodiments of this specification also provide a non-volatile computer storage medium for use with an external payment device configured for a cash register. The external payment device provides at least one extended payment method not present in the cash register itself. The medium stores computer-executable instructions configured as follows:
[0187] Determine whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register;
[0188] If so, then determine the required simulated typing information based on the captured screen display content;
[0189] The simulated typing information is obtained and sent to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated typing information. Through the execution, the cash register obtains and installs the payment capability extension program indicated by the simulated typing information.
[0190] By interacting with the cash register based on the payment capability extension program, the capabilities corresponding to the extended payment method are used for the cash register.
[0191] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0192] The controller can be implemented in any suitable manner. For example, it can take the form of 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, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, ASICs, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0193] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0194] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware.
[0195] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, the embodiments of this specification can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the embodiments of this specification can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0196] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can 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 a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0197] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0198] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0199] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0200] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0201] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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 technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0202] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0203] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0204] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments of apparatus, devices, and non-volatile computer storage media are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0205] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0206] The above description is merely one or more embodiments of this specification and is not intended to limit this specification. Various modifications and variations can be made to the one or more embodiments of this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of one or more embodiments of this specification should be included within the scope of the claims of this specification.
Claims
1. A payment capability extension processing method, applied to an external payment device configured for a cash register, wherein the external payment device provides at least one extended payment method not present in the cash register itself, the method comprising: Determine whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register; If so, then based on the content displayed on the first screen captured by the camera, a first simulation system for simulating the cash register is generated and run, and the first simulation system has a corresponding payment capability extension program; Obtain trial input information applicable to the first simulation system, for use in running on both the first simulation system and the cash register, to ensure that the correct payment capability extension is installed on the cash register.
2. The method of claim 1, wherein after determining whether the connection with the cash register is established, the method further comprises: If so, then determine the required simulated typing information based on the captured screen display content; The simulated typing information is obtained and sent to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated typing information. Through the execution, the cash register obtains and installs the payment capability extension program indicated by the simulated typing information. By interacting with the cash register based on the payment capability extension program, the capabilities corresponding to the extended payment method are used for the cash register.
3. The method as described in claim 1, wherein the external payment device itself does not have a keyboard and mouse.
4. The method as described in claim 2, wherein determining the required simulated typing information based on the captured screen display content specifically includes: Based on the content captured on the first screen display, the type of the cash register is identified; Based on the type, obtain the corresponding simulated typing information to trigger the cash register response; The operating status of the cash register is identified based on the content displayed on the second screen that the camera continues to capture during the response of the cash register. Based on the running status, determine whether to obtain the simulated typing information corresponding to the next step.
5. The method as described in claim 4, wherein determining whether to obtain the simulated input information corresponding to the next step based on the running state specifically includes: Based on the operating status, determine whether the content actually automatically entered into the cash register is consistent with the corresponding simulated input information; If so, determine and obtain the simulated input information corresponding to the next step, so as to continue to trigger the cash register so that the payment capability extension program can be installed. If not, it is determined that the simulated input information corresponding to the next step will not be obtained for the time being, but the automatically input content will be adjusted so that the consistency is achieved after the adjustment.
6. The method as described in claim 5, wherein adjusting the automatically input content specifically includes: The system sends simulated keystroke correction information to the cash register via the HID protocol to delete at least part of the automatically entered content and / or supplement content that was not successfully entered automatically.
7. The method of claim 1, wherein obtaining trial input information applicable to the first simulation system for use after operation of the first simulation system and the cash register, the method further comprises: Based on the content displayed on the second screen captured by the camera during runtime, determine whether the respective running results are sufficiently similar; If so, then obtain the next simulated typing information corresponding to the trial typing information, and use it to continue triggering the cash register.
8. The method of claim 7, wherein after determining whether the respective running results are sufficiently similar based on the content displayed on the second screen captured by the camera during runtime, the method further comprises: If not, the first simulation system is adjusted to the second simulation system based on the content displayed on the second screen captured by the camera during operation, in order to retest.
9. The method of claim 8, wherein the first simulation system and the second simulation system are generated in a lightweight manner; The first simulation system and the second simulation system correspond to different payment capacity expansion procedures, the differences including: They differ in their business functions.
10. The method as described in claim 2, wherein there are multiple external payment devices corresponding to the same payment provider, and the multiple devices are distributed at multiple different merchants; Before interacting with the cash register based on the payment capability extension program to use the capabilities corresponding to the extended payment method for the cash register, the method further includes: Receive the simulated typing information remotely sent by the payment provider's server; The corresponding triggering of the cash register is completed by forwarding the simulated typing information to the cash register.
11. The method of claim 1 or 10, wherein after determining whether the connection with the cash register is established, the method further comprises: After confirming that the connection with the cash register is established, if a user's payment interaction operation for the external payment device is received, it is determined whether the cash register has installed the payment capability extension program. If not, a deferred settlement order is generated for the payment interaction operation, and the voucher information corresponding to the deferred settlement order is sent to the cash register via the HID protocol, so that after the cash register installs the payment capability extension program, it can use the voucher information to request the corresponding settlement from the external payment device or its server based on the payment capability extension program.
12. The method as described in claim 11, wherein sending the voucher information corresponding to the deferred settlement order to the cash register specifically includes: Send a payment success trigger command carrying the voucher information to the cash register, triggering the cash register to forcibly and successfully end the current cash register process for the user; Request the simulated typing information from the payment provider's server.
13. The method of claim 11, wherein after generating a deferred settlement order for the payment interaction operation, the method further comprises: Determine the estimated first amount to be paid in the deferred settlement order, wherein the first amount to be paid is estimated to be less than the second amount to be paid by the user in this instance. The first amount to be paid will be deducted from the user's account. After requesting corresponding settlement from the external payment device or its server using the voucher information, the method further includes: Based on the request, the remaining unpaid amount is determined and deducted from the user's account in order to settle the payment with the merchant corresponding to the cash register.
14. The method according to any one of claims 1 to 10, wherein the extended payment method includes a payment method based on near-field communication.
15. A payment capability extension processing apparatus, applied to an external payment device configured for a cash register, the external payment device providing at least one extended payment method not present in the cash register itself, the apparatus comprising: The connection status confirmation module determines whether the external payment device is in a connected state with the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register; The screen capture content judgment module generates and runs a first simulation system to simulate the cash register based on the captured content of the first screen display. The first simulation system has a corresponding payment capability extension program. Obtain trial input information applicable to the first simulation system, for use in running on both the first simulation system and the cash register, to ensure that the correct payment capability extension is installed on the cash register.
16. The apparatus of claim 15, further comprising: Simulated typing processing module; Extended capability usage module; The screen capture content judgment module, after determining whether it is connected to the cash register, if so, determines the required simulated input information based on the captured screen display content; The simulated keying processing module acquires the simulated keying information and sends the simulated keying information to the cash register via the HID protocol to trigger the cash register to automatically input and execute the simulated keying information. Through the execution, the cash register acquires and installs the payment capability extension program indicated by the simulated keying information. The extended capability module interacts with the cash register based on the payment capability extension program to use the capabilities corresponding to the extended payment method for the cash register.
17. The apparatus of claim 15, wherein the external payment device itself does not have a keyboard and mouse.
18. The apparatus of claim 16, wherein the screen capture content determination module identifies the type of the cash register based on the captured first screen display content; Based on the type, obtain the corresponding simulated typing information to trigger the cash register response; The operating status of the cash register is identified based on the content displayed on the second screen that the camera continues to capture during the response of the cash register. Based on the running status, determine whether to obtain the simulated typing information corresponding to the next step.
19. The apparatus of claim 18, wherein the screen capture content judgment module determines, based on the operating state, whether the content actually automatically input into the cash register is consistent with the corresponding simulated input information; If so, determine and obtain the simulated input information corresponding to the next step, so as to continue to trigger the cash register so that the payment capability extension program can be installed. If not, it is determined that the simulated input information corresponding to the next step will not be obtained for the time being, but the automatically input content will be adjusted so that the consistency is achieved after the adjustment.
20. The apparatus of claim 19, wherein the screen capture content judgment module sends simulated typing correction information to the cash register via the HID protocol to delete at least part of the automatically entered content and / or supplement content that was not successfully automatically entered.
21. The apparatus of claim 15, wherein the screen capture content judgment module, after acquiring the trial input information applicable to the first simulation system for running on the first simulation system and the cash register respectively, determines whether the running results are sufficiently similar based on the second screen display content captured by the camera during the running process; If so, then obtain the next simulated typing information corresponding to the trial typing information, and use it to continue triggering the cash register.
22. The apparatus of claim 21, wherein after determining whether the respective running results are sufficiently similar based on the content displayed on the second screen captured by the camera during operation, the apparatus further comprises: If not, the first simulation system is adjusted to the second simulation system based on the content displayed on the second screen captured by the camera during operation, in order to retest.
23. The apparatus of claim 22, wherein the first simulation system and the second simulation system are lightweight; The first simulation system and the second simulation system correspond to different payment capacity expansion procedures, the differences including: They differ in their business functions.
24. The apparatus of claim 16, wherein there are multiple external payment devices corresponding to the same payment provider, and the multiple devices are distributed at multiple different merchants; Before the simulated keying processing module interacts with the cash register to use the capabilities corresponding to the extended payment method for the cash register, it receives the simulated keying information remotely sent by the server of the payment provider. The corresponding triggering of the cash register is completed by forwarding the simulated typing information to the cash register.
25. A payment capability extension processing device, applied to an external payment device configured for a cash register, the external payment device providing at least one extended payment method not present in the cash register itself, the device comprising: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform: Determine whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of capturing the screen of the cash register; If so, then based on the content displayed on the first screen captured by the camera, a first simulation system for simulating the cash register is generated and run, and the first simulation system has a corresponding payment capability extension program; Obtain trial input information applicable to the first simulation system, for use in running on both the first simulation system and the cash register, to ensure that the correct payment capability extension is installed on the cash register.