A payment capability expansion processing method, device and equipment
The external payment device's camera captures the cash register screen and uses the HID protocol to simulate keyboard operation. The payment capability extension program is automatically installed, which solves the problems of low access efficiency, poor reliability and compatibility between the external payment device and the cash register, and achieves low-cost and efficient payment capability expansion.
Patent Information
- Application Number
- CN202510286568.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-11
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2045-03-11
AI Technical Summary
In the prior art, the access efficiency of external payment equipment and cash registers is low, the reliability is poor and the cost is high. Especially when facing different types of cash registers, the compatibility problems are serious, the merchants are cumbersome to operate and the subsequent upgrade and maintenance are difficult.
The cash register screen is photographed through the camera of the external payment device, and the keyboard or mouse operation is simulated using the HID protocol, and the simulated typed information is automatically sent to install the payment capability extension program, which realizes automatic interaction with the cash register, and supports extended payment methods.
No manual operation and USB flash drive required, reducing costs, improving access efficiency and reliability, compatible with various types of cash registers, and simplifying subsequent upgrade and maintenance processes.
Smart Images

Figure CN119809631B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of electronic payment technology, and in particular to a payment capability expansion processing method, device, and equipment. Background Art
[0002] In daily life, businesses typically collect payments from consumers using cash registers (Cash Registers), which typically support traditional payment methods such as bank cards, credit cards, and cash. However, the rise and even widespread adoption of new payment methods, such as QR code scanning, near-field communication-based payments, facial recognition, and palm recognition, are posing challenges to the capabilities and convenience of cash registers.
[0003] To fully utilize the vast number of existing cash registers at merchants and promote new payment methods, payment service providers offering these new payment methods have launched various external payment devices to extend the payment capabilities of cash registers. These devices, through their deployment, allow cash registers to indirectly utilize the extended payment capabilities provided by these devices, thereby supporting the corresponding new payment methods. For example, one external payment device is a near-field communication (NFC)-based payment device that, by connecting to a cash register, can extend the cash register's NFC-based payment capabilities.
[0004] Since external payment devices and cash registers are often not provided by the same service provider, payment service providers that provide external payment devices, if they want to minimize modifications to the cash register itself, should consider installing a payment capability extension program provided by the payment service provider on the cash register. The payment capability extension program will then interact with the external payment device on the cash register's behalf, while the cash register's own data will be obtained by the payment capability extension program itself using methods such as screenshot recognition, thus basically eliminating the need for the cash register to actively cooperate. This will help reduce access costs and increase merchants' willingness to access external payment devices.
[0005] Currently, the installation of the payment extension is primarily performed by merchants or payment service providers, who use a USB drive with the extension copied to it to install it on the cash register. However, in practice, this process is cumbersome and prone to problems for merchants, while having payment service providers dispatch staff to perform this task incurs high labor costs. Furthermore, subsequent upgrades and maintenance of the payment extension may also continue to face these issues. Furthermore, the variety of cash registers currently on the market further complicates the process, making installation more prone to problems.
[0006] Based on this, there is a need for a solution that can help improve the access efficiency and reliability of external payment devices for cash registers and reduce access costs. Summary of the Invention
[0007] One or more embodiments of this specification provide a payment capability expansion processing method, apparatus, and device to solve the following technical problem: a solution is needed to help improve the access efficiency and reliability of external payment devices for cash registers and reduce access costs.
[0008] To solve the above technical problems, one or more embodiments of this specification are implemented as follows:
[0009] One or more embodiments of this specification provide a payment capability expansion processing method, which is applied to an external payment device configured for a cash register. The external payment device provides at least one extended payment method that the cash register itself does not have. The method includes:
[0010] Determining whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of photographing the screen of the cash register;
[0011] If yes, determining the simulated typing information to be acquired based on the captured screen display content;
[0012] Acquire the simulated input information, and send the simulated input information to the cash register via the HID protocol, so as to trigger the cash register to automatically input and execute the simulated input information, and through the execution, enable the cash register to acquire and install the payment capability extension program indicated by the simulated input information;
[0013] By interacting with the cash register based on the payment capability extension program, the capability corresponding to the extended payment method is used for the cash register.
[0014] One or more embodiments of this specification provide a payment capability expansion processing apparatus, which is applied to an external payment device configured for a cash register. The external payment device provides at least one extended payment method that the cash register itself does not have. The apparatus includes:
[0015] a connection status confirmation module, which determines whether the cash register is connected, wherein the camera of the external payment device is in a state of photographing the screen of the cash register;
[0016] The screen capture content determination module determines the simulated input information to be obtained based on the captured screen display content.
[0017] a simulated input processing module, which obtains the simulated input information and sends the simulated input information to the cash register via the HID protocol, thereby triggering the cash register to automatically input and execute the simulated input information, and through the execution, causes the cash register to obtain and install the payment capability extension program indicated by the simulated input information;
[0018] The extended capability utilizing module interacts with the cash register based on the payment capability extending program to utilize the capability corresponding to the extended payment method for the cash register.
[0019] One or more embodiments of this specification provide a payment capability extension processing device, which is applied to an external payment device configured for a cash register. The external payment device provides at least one extended payment method that the cash register itself does not have. The device includes:
[0020] at least one processor; and,
[0021] a memory communicatively connected to the at least one processor; wherein,
[0022] The memory stores instructions executable by the at least one processor, wherein the instructions are executed by the at least one processor to enable the at least one processor to perform:
[0023] Determining whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of photographing the screen of the cash register;
[0024] If yes, determining the simulated typing information to be acquired based on the captured screen display content;
[0025] Acquire the simulated input information, and send the simulated input information to the cash register via the HID protocol, so as to trigger the cash register to automatically input and execute the simulated input information, and through the execution, enable the cash register to acquire and install the payment capability extension program indicated by the simulated input information;
[0026] By interacting with the cash register based on the payment capability extension program, the capability corresponding to the extended payment method is used for the cash register.
[0027] At least one of the above-mentioned technical solutions adopted in one or more embodiments of this specification can achieve the following beneficial effects: the camera of the external payment device can be directed to the screen of the cash register to shoot, and the external payment device can be automatically simulated as a keyboard. It can intelligently decide what kind of simulated typing information should be gradually obtained based on the screen display content (as if it were instructions entered through a keyboard), and enable the external payment device to send and execute these simulated typing information to the connected cash register through the HID protocol. Through execution, the payment capability expansion program can be conveniently installed on the cash register, and the cash register can smoothly use the external payment device to expand support for more payment methods. This installation solution does not require the payment service provider to send staff to the site, nor does it require the merchant to perform tedious operations. No USB flash drive is required, it is low-cost and highly efficient, can be reliably compatible with various types of cash registers, and is also convenient for subsequent upgrades and maintenance. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0029] Figure 1 A flowchart of a payment capability expansion processing method provided in one or more embodiments of this specification;
[0030] Figure 2 A schematic flow chart of a simulated input information acquisition decision solution provided in one or more embodiments of this specification;
[0031] Figure 3 One or more embodiments of this specification provide Figure 1 A schematic diagram of a principle framework of the method;
[0032] Figure 4 A schematic diagram of a flow chart of a tentative input scheme based on screen display content provided in one or more embodiments of this specification;
[0033] Figure 5 A flowchart of a non-advance payment capability extension program installation process provided in one or more embodiments of this specification;
[0034] Figure 6 A schematic diagram of the structure of a payment capability expansion processing device provided in one or more embodiments of this specification;
[0035] Figure 7A schematic diagram of the structure of a payment capability expansion processing device provided in one or more embodiments of this specification. DETAILED DESCRIPTION
[0036] The embodiments of this specification provide a payment capability expansion processing method, apparatus, device, and storage medium.
[0037] In order 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 in conjunction with the drawings in the embodiments of this specification. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.
[0038] To address the issues raised in the background art, the applicant first considered remotely downloading and installing the payment capability extension. This approach eliminates the need for a USB flash drive or personnel from the payment service provider, allowing merchants to perform the operation themselves at the cash register. Merchants could use the cash register's mouse to open a browser, then use the cash register's keyboard to enter the payment capability extension's download URL and access it. This would allow them to obtain the latest payment capability extension and then install it. The download URL could be obtained from the payment service provider's official website. However, this solution, after being tried out at some merchants, was not very effective. The reason is that cash register operators often only perform a few fixed cashier-related operations and are unfamiliar with the additional operations. This leads to low efficiency, increased risk of errors, and a low willingness to perform them, not to mention subsequent upgrades and maintenance. Furthermore, these additional operations are still relatively cumbersome.
[0039] Based on this, the applicant further considered having an external payment device simulate a keyboard (or a human-computer interaction device such as a mouse) to automatically perform keyboard operations that previously required the cash register. Simulated human-computer interaction instructions would be sent via the HID protocol, automatically installing a payment capability extension program on the cash register, eliminating the need for merchants to perform these operations. Furthermore, in actual testing, there may be issues with interaction reliability. On the one hand, weak network signals or latency may result in incomplete or even erroneous instructions being automatically input into the cash register. On the other hand, the wide variety of cash registers currently available may result in some instructions not being correctly executed, leading to compatibility issues. Therefore, the applicant is further optimizing to address these issues.
[0040] Based on this general idea, the solution of this application will be further explained below.
[0041] Figure 1The following is a flowchart of a payment capability expansion processing method provided in one or more embodiments of this specification, which is applied to an external payment device configured for a cash register. The external payment device can provide one or more payment methods not natively available in the cash register, referred to as extended payment methods, thereby expanding the cash register's payment capabilities. For example, these capabilities include near-field communication-based payment (based on touch sensing), face payment (based on facial recognition), palm payment (based on palmprint recognition), and iris payment. Accordingly, the external payment device can be, for example, at least one of the following: a near-field communication-based payment device, a face payment device, a palm payment device, or an iris payment device.
[0042] External payment devices can be particularly portable and compact, making them easier to deploy with cash registers. Cash registers are readily available, and a wide variety of them are currently on the market. The solution of this application can effectively integrate a large number of cash registers of varying brands, models, operating systems, operating logic, hardware interfaces, communication capabilities, security capabilities, and permission management methods, among others. This reduces modification costs, and the cash register and external payment device can be provided by different service providers (primarily meaning they are not the same product). For example, the external payment device could be provided by a third-party payment service provider, while the cash register could be provided by a traditional financial equipment manufacturer.
[0043] Figure 1 The process in includes the following steps:
[0044] S102: Determine whether the cash register is connected, wherein the camera of the external payment device is in a state of photographing the screen of the cash register.
[0045] The cash register itself supports one or more relatively standard and common interfaces, such as Bluetooth, USB (including TYPC-C), serial port, WiFi, etc., which can be hardware interface or wireless interface. Of course, the support situation of different cash registers may be different. In addition, there may be overlap and support implementation between these interfaces. For example, the serial port may also be implemented based on the USB interface, and so on.
[0046] The external payment device must first be connected to the cash register to facilitate information exchange. For example, a serial port (such as RS232, RS485, or other standard serial interfaces) can be used to connect the cash register and the external payment device via a serial data cable. Alternatively, a wireless serial port can be used.
[0047] The external payment device has a built-in camera. Using a stand or handheld device, the camera is pointed at the cash register screen to capture images, providing necessary support for subsequent processing. Of course, once the corresponding subsequent processing is completed, the camera of the external payment device does not need to continue capturing images.
[0048] S104: If yes, determine the simulated input information to be acquired according to the captured screen display content.
[0049] The external payment device needs to use the HID protocol to send appropriate simulated keystroke information as a command to further trigger the external payment device to automatically operate. It should be noted that information generated by other simulated human-computer interaction devices can also be used as a command. For ease of description, some of the following embodiments also use the general concept of command, which at least includes simulated keystroke information.
[0050] The decision on the appropriate simulated input information can be made primarily based on the captured screen display content. For more common cash registers, the captured screen display content can be used to sequentially promote the relatively more universal simulated input information input. For more differentiated cash register types, the captured screen display content can be used to determine which simulated input information is most suitable for the current type of cash register. The captured screen display content can also be used to instantly identify whether there is a problem with the corresponding automatic input content in the cash register, thereby determining whether the input needs to be corrected. This helps to improve reliability and automatically achieve compatibility with more types of cash registers.
[0051] The Human Interface Device Protocol (HID) is a device communication protocol defined in the Universal Serial Bus (USB) 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 goal is to achieve plug-and-play functionality, enabling these devices to be recognized and used by the operating system without installing additional drivers. External payment devices and cash registers all support the HID protocol, but payment-related business interactions between them are difficult to achieve using the HID protocol alone. Therefore, it is necessary to install payment capability extensions to support higher-level protocols (such as custom lightweight communication protocols) to enable business interactions between the two and efficiently exchange data with specific business semantics.
[0052] In order to facilitate more convenient and applicable use of the HID protocol, the external payment device and the cash register can be connected via USB or Bluetooth. In the case of Bluetooth, wireless interaction can be supported through Bluetooth HID.
[0053] In one or more embodiments of this specification, the external payment device may be keyboardless and mouseless, making it more compact and lightweight for portability and deployment, while also reducing costs. The external payment device may simulate a keyboard and / or mouse, automatically sending instructions to the cash register via the HID protocol that appear to be generated and issued by manual keyboard and / or mouse operation. In reality, no manual human input (e.g., keyboard or mouse clicks) is required to send the corresponding instructions. The simulated keystrokes mentioned above represent instructions generated and issued as if they were generated and issued by manual keyboard operation.
[0054] For the manual operation part, basically the merchant only needs to connect the external payment device to the cash register via wired connection, or pair it for wireless connection to ensure the connected state in step S102, and the subsequent steps can be automatically executed by the external payment device.
[0055] In one or more embodiments of this specification, the external payment device may have pre-installed instructions to be sent to the cash register, or may automatically generate these instructions in real time when they are to be sent. These instructions may be automatically sent at an appropriate time based on pre-set logic. For example, the sending of these instructions may be automatically triggered upon the initial connection between the external payment device and the cash register.
[0056] Alternatively, and more flexibly, the payment provider's server could generate at least some of the aforementioned instructions and send them to the external payment device in a timely manner. The external payment device could then forward these instructions to the cash register via the HID protocol. Alternatively, the external payment device could perform additional processing on the received instructions as needed before sending them to the cash register (subsequent simulated keystrokes could be handled similarly, leveraging the server's advantages). This server-based approach facilitates efficient subsequent upgrades and maintenance, and also facilitates parallel service for multiple, large, or even massive external payment devices (corresponding to the same payment provider) and cash registers (for example, at a wide range of merchants), enabling more efficient installation of payment capability extensions on a large scale.
[0057] In one or more embodiments of this specification, it is considered to use the HID protocol to simulate the keyboard to send commands (here mainly refers to commands in the form of command lines) to the cash register once or multiple times, and trigger the execution of the commands to complete the installation of the payment capability extension program. As for the cash register, it is usually not naturally in an interface waiting to receive a command line; therefore, a status trigger instruction can be sent to the cash register through the HID protocol to trigger the cash register to open its own console and enter the command input waiting state, waiting for commands in this interface. There can be one or more status trigger instructions. The specific content of the status trigger instruction may be different for different cash register operating systems.
[0058] It should be noted that an external payment device can also simulate a mouse to send commands. However, this method requires more precise determination of the coordinates of the command location within the cash register interface, making it relatively difficult to implement. As for the keyboard simulation solution, since cash registers also support some keyboard shortcuts and shortcut key combinations, it is relatively easier to issue commands accurately, and the cash register can also respond more reliably and correctly. Therefore, this application prefers to have the external payment device simulate a keyboard to issue commands as if it were issued by manually operating the keyboard.
[0059] S106: Acquire the simulated typing information, and send the simulated typing information (which is essentially an instruction) to the cash register through the HID protocol to trigger the cash register to automatically input and execute the simulated typing information. Through the execution, the cash register acquires and installs the payment capability extension program indicated by the simulated typing information.
[0060] In the case where the simulated typing information needs to be sent multiple times step by step, the judgment action in step S104 may be executed multiple times, and the next step of simulated typing information is determined based on the relevant situation of the previous step of simulated typing information.
[0061] 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 keystroke information, the external payment device may, as needed, send further instructions to the cash register via the HID protocol. For example, the external payment device may send a command to trigger the cash register to execute the command in the command input waiting state before waiting for the external payment device to send further simulated keystroke information.
[0062] Among the simulated typing information sent, at least one simulated typing information may include or indicate a download address of the payment capability extension program. In response to the execution of the simulated typing information, 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, for example, eliminating the need for manual input of the download address.
[0063] S108: By interacting with the cash register based on the payment capability extension program, the capability corresponding to the extended payment method is used for the cash register.
[0064] After the cash register is successfully installed, higher-level protocol business interactions can be performed between the external payment device and the cash register based on the payment capability extension program. For example, based on the cashier's specified business operations on the cash register, payment-related information (such as the amount to be paid, payment interface call request, membership number, or auxiliary screenshot, etc.) is transmitted to the external payment device to trigger the external payment device to use the extended payment method it supports to deduct money from the current user or perform other business processing.
[0065] Specified business operations include, for example, requesting payment, requesting membership login, requesting biometric information registration, and so on. It should be noted that these business operations can be based on or in addition to the existing business semantics of the cash register, and can be newly defined through intent recognition or other means to correspond to new business semantics. This first adds additional functionality to the cash register in terms of operational form, allowing the cashier to still primarily operate the cash register, while the actual functions are implemented by the external payment device.
[0066] Later, if you need to upgrade the payment capability extension, you can upgrade it based on the existing version's own capabilities, or you can still use Figure 1 Of course, the affordability extension itself can also be divided into different parts, and you can install some of them according to your actual needs, similar to the above solution.
[0067] pass Figure 1 The method can enable the camera of the external payment device to shoot the screen of the cash register, automatically simulate the external payment device as a keyboard, and intelligently decide what kind of simulated typing information should be gradually obtained according to the displayed content on the screen (as if it were instructions entered through a keyboard). The external payment device can send and execute these simulated typing information to the connected cash register through the HID protocol. Through execution, the payment capability extension program is conveniently installed on the cash register, and the cash register can smoothly use the external payment device to expand support for more payment methods. This installation solution does not require the payment service provider to send staff to the site, nor does it require merchants to perform tedious operations. No USB flash drive is required, and it is low-cost and highly efficient. It can be reliably compatible with various types of cash registers and is also convenient for subsequent upgrades and maintenance.
[0068] based on Figure 1This specification also provides some specific implementation plans and extension plans of the method, which will be described below.
[0069] One or more embodiments of this specification provide a simulated typing information acquisition decision solution. Figure 2 A flow chart of the scheme is shown in FIG.
[0070] Figure 2 The process in includes the following steps:
[0071] S202: Identify the type of the cash register according to the captured first screen display content.
[0072] The type here can be the type of operating system, brand, model, or cash register software used.
[0073] S204: According to the type, corresponding simulated input information is obtained to trigger a response from the cash register.
[0074] The triggering method includes: sending the simulated input information to the cash register through the HID protocol, so that the cash register is automatically input and executes the simulated input information. During this process, the display content on the cash register screen will change.
[0075] S206: Identify the operating status of the cash register according to the second screen display content continuously photographed by the camera during the response of the cash register.
[0076] The running state may include the input process state of the simulated input information being automatically input on the cash register, or may also include the execution state after the simulated input information is input.
[0077] S208: According to the running status, it is determined whether to obtain the simulated input information corresponding to the next step.
[0078] In one or more embodiments of the present specification, based on the operating status, it is determined whether the content actually automatically input into the cash register is consistent with the corresponding simulated typing information (for example, whether it is the same as the corresponding part in the originally generated simulated typing information). Due to reasons such as weak network signals or delays, inconsistencies may occur. In particular, when the server sends the simulated typing information, this risk will be further increased. If so, it is considered that the current process is normal, and it can be determined to obtain the corresponding simulated typing information for the next step to continue triggering the cash register, and so on to continue processing, so that the payment capability extension program is installed. If not, it is considered that an abnormality has occurred, and it is determined not to obtain the corresponding simulated typing information for the next step, but to adjust the automatically input content so that consistency is reached after the adjustment, and then continue normal processing, which helps to solve the input reliability problem.
[0079] When making adjustments, for example, simulated typing correction information is sent to the cash register through the HID protocol to delete at least part of the content that was automatically entered (for example, simulate the backspace key operation) and / or supplement the content that was not successfully automatically entered (for example, re-enter at least part of the content).
[0080] According to the above description, 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 .
[0081] based on Figure 3 The framework, for example, follows the following steps to install the payment extension for the cash register:
[0082] ① Use the camera of the external payment device to capture the screen of the cash register;
[0083] ② The external payment device uses the camera image to run an image recognition algorithm to determine the cash register's operating status and identify the cash register type: hardware model and software system type (for example, Windows / Android / Linux, etc.);
[0084] ③. Depending on the cash register type, input installation-related instructions through the HID protocol by simulating keyboard / or mouse operations;
[0085] ④. Continuously identify the cash register screen and determine the installation progress based on screen changes;
[0086] ⑤. According to the progress of the installation, it will advance to the next step of the execution. If any problems are identified, the instructions will be automatically adjusted.
[0087] ⑥. Repeat steps ③ to ⑤ one or more times until the payment extension is successfully installed.
[0088] In this way, efficiency, reliability and compatibility can be guaranteed and costs can be effectively reduced.
[0089] In order to reduce the probability of abnormality, more accurately and reliably compatible with different cash registers, and to reduce the burden on the cash register as much as possible. One or more embodiments of this specification also provide a flow diagram of a tentative input scheme based on screen display content, see Figure 4 This solution can be implemented in particular with the remote support of a payment service provider's server.
[0090] Figure 4 The process in includes the following steps:
[0091] S402: Generate and run a first simulation system for simulating the cash register according to the captured first screen display content.
[0092] The simulation system in this process can be lightweight (for example, building a minimal system, retaining only essential modules), such as through a virtual machine. At a minimum, the corresponding operating system will be simulated. If more types of information, such as cash register software, can be identified, further simulations can be attempted. It should be noted that this simulation is preliminary and not necessarily reliable; subsequent trials will require more reliable simulations.
[0093] This takes into account that different cash registers may differ in multiple dimensions, which may result in different simulated keying information being suitable for input. Therefore, the more accurate the cash register simulation is, the more reliable the step-by-step input and execution of instructions can be.
[0094] S404: Acquire tentative input information applicable to the first simulation system, for respectively running the first simulation system and the cash register.
[0095] In one or more embodiments of this specification, the tentative input information can be simulated input information suitable for the first simulation system. However, since the first simulation system may not be reliable, the tentative input information may not actually be suitable for the cash register. The tentative input information can be information that is not relevant to the installation of the payment extension, as long as it can achieve the purpose of the trial. In this case, the tentative input information can be used because it consumes fewer execution resources.
[0096] S406: Determine whether the respective operation results are sufficiently similar based on the second screen display content captured by the camera during the operation.
[0097] By comparing the visual display of the first simulation system (e.g., the location and name of the pop-up window, and other triggering features on the entire interface) for the test input information with the visual display of the test input information on the cash register, the reliability of the simulation system can be determined. If the similarity is sufficient, it can be considered relatively reliable; otherwise, it can be considered unreliable.
[0098] S408: If not, then according to the second screen display content captured by the camera during the operation, the first simulation system is adjusted to a second simulation system to re-test.
[0099] If the difference in type is significant (e.g., different operating systems, large model generation gaps, etc.), you can reconstruct the second simulation system to replace the first simulation system. Conversely, you can modify the configuration based on the first simulation system and use it as the second simulation system.
[0100] If so, the next step of simulated input information corresponding to the tentative input information is obtained to continue triggering the cash register.
[0101] 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 respectively. The differences here may include: differences in business functions, such as different extended payment methods supported; different degrees of business streamlining; etc. In this case, Figure 4 The solution in this document can especially ensure that the correct payment capability extension is installed on the cash register, so that the correct business can be carried out and the correct payment capability can be used.
[0102] In one or more embodiments of the present specification, for certain operating systems, in order to more reliably enter the command input waiting state, the above-mentioned state trigger instruction can be subdivided into a first shortcut sub-instruction, a second shortcut sub-instruction, and a simulated typing sub-instruction, which are respectively used to effectively achieve different segmented goals in sequence.
[0103] In this case, after determining that the cash register is connected, if a payment capability extension program needs to be installed, for the external payment device, a first shortcut sub-command can be sent to the cash register through the HID protocol to trigger the cash register to display the desktop (here it can refer to putting the desktop at the forefront; used to prevent subsequent commands from being difficult to execute correctly, for example, if it remains in a certain business page in the cash register software, subsequent commands may not be executed correctly as expected); after the desktop is successfully displayed, a second shortcut sub-command is sent to the cash register through the HID protocol to trigger the cash register to display a running window on the desktop (here it can refer to a window where command lines can be entered and run); after the running window is successfully displayed, a simulated typing sub-command is sent to the cash register (here it can refer to the name of the command line program to be run, that is, the console) to trigger the simulated typing sub-command to be automatically entered and executed in the running window. Through execution, the cash register's own console is opened and enters the command input waiting state.
[0104] The first and second shortcut sub-commands can be simulated keyboard and / or mouse shortcut commands. For example, a keyboard shortcut command can be triggered by pressing a specified key combination on the keyboard. For example, a mouse shortcut command can be triggered by clicking a specified system button or a physical button on the mouse that is bound to a specified macro.
[0105] The above specific scheme for entering the command input waiting state is particularly suitable for scenarios where the running window needs to be called out on the desktop. For example, if the cash register uses the Windows operating system, it falls into this category. In the Windows scenario, for example:
[0106] First, a first shortcut sub-command is sent, specifically a command triggered by simulating pressing the keyboard combination key "win+d". The cash register responds to the command and switches to the desktop.
[0107] Then, a second quick sub-command is sent, specifically a command triggered by simulating the pressing of the keyboard combination key "win+r". The cash register responds to the command by popping up a run window on the desktop and waiting to receive the next sub-command in the input box of the run window;
[0108] Next, a simulated typing sub-command is sent, specifically a command triggered by simulating the keyboard input of the text "CMD" and pressing the Enter key. The cash register responds to this command, starts the console, and arrives at the "Command Prompt" in the console interface, waiting for the input of a command line. It can be considered that the cash register has entered the command input waiting state at this time.
[0109] Next, simulated typing information is sent, specifically simulating keyboard input of a specific command line, and triggering the execution of the command line through simulated typing. The command line instructs downloading the corresponding program (i.e., the payment capability extension program) from the download address of the instruction and installing the program.
[0110] In addition to cash registers using Windows operating systems, cash registers using other operating systems (such as Linux, etc.) can also be processed according to similar ideas. The main difference lies in the specific content of the corresponding instructions.
[0111] 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 in advance for receiving users who may need to use corresponding extended payment methods.
[0112] However, this application also considers the situation where the payment capability extension program is not installed in advance, or the situation where the payment capability extension program is not resident on the cash register, which may be required in actual applications.
[0113] For example, many cash registers have relatively weak performance (especially some customized small cash registers), and payment extensions may increase the burden on the cash register. Another example is that some payment extensions may have many optional modules, but only some modules may be needed in different scenarios. Another example is that some cash registers may have security policy requirements for external software, and so on. In these cases, the above requirements may be met, and the payment extension may be installed only when the extended payment method is needed or when it is used frequently, and such installation may only be temporary. This helps to minimize the impact on the cash register and enable the cash register to perform many of its original functions more normally.
[0114] In order to meet the above requirements while minimizing the impact on users' use of extended payment capabilities (whether users will use it, which users will use it, how often they use it, etc., which may vary greatly from merchant to merchant), one or more embodiments of this specification provide a flowchart of a non-preemptive payment capability extension program installation process, see Figure 5 .
[0115] Figure 5 The process in includes the following steps:
[0116] S502: After determining that the cash register is connected, if a payment interaction operation of the user for the external payment device is received, determining whether the cash register has installed the payment capability extension program.
[0117] 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 whether the other party has responded correctly. The cash register needs to have the payment capability extension program installed before it can respond correctly through the payment capability extension program.
[0118] If it is installed, normal interaction can proceed as per step S108. However, if it is not installed, the cash register and the external payment device currently do not facilitate effective business communication, making it difficult for the cash register to utilize the external payment device's capabilities. In this case, since the user is currently waiting to pay at the cash register and wishes to use the extended payment method available on the external payment device, the following special processing allows the merchant to complete payment for the user through the cash register.
[0119] S504: If not, generating a deferred settlement order for the payment interaction operation.
[0120] In one or more embodiments of this specification, the deferred settlement here refers to the cash register. Compared with the normal cash register process at the cash register, the cash register process for the 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 provide a better experience.
[0121] To further determine the credential information corresponding to the deferred settlement order (for example, the order number can be used as the credential information; to improve security, other identification information can also be encrypted or additionally generated), the credential information corresponding to the deferred settlement order can be sent to the cash register via the HID protocol. The credential information here can also be a simulated typed information, which does not require the support of a higher-level protocol. For example, it includes an identification string used to characterize the deferred settlement order (which can be unique within the corresponding business scope, for example, uniquely identifying an order). The credential information can be input into the cash register through simulated keyboard operation, and the cash register can be caused to save the credential information. For example, the cash register can be triggered to open a log or other text file and write the credential information for storage.
[0122] S506: Sending a payment success trigger instruction carrying the credential information corresponding to the deferred settlement order to the cash register through the HID protocol, triggering the cash register to forcibly successfully end the current cash register process for the user.
[0123] In one or more embodiments of this specification, a control on the cash register can be used to trigger a successful checkout. This control can be triggered by simulating keyboard and / or mouse operations to generate and send a payment success trigger instruction, thereby automatically and successfully ending the checkout process. Of course, the cashier can also manually force the end of the process. It should be noted that, under normal circumstances, the checkout process is not actually completed because the cash register and the external payment device have not completed a complete and effective payment transaction. This is referred to as a forced successful end.
[0124] In some scenarios, the cash register may need the server to return the correct information before it can automatically and successfully complete the checkout process. For example, with a card payment method, the payment can only be completed after receiving a successful card swipe notification from the server of the bank card or credit card issuer. Based on this, in order to prevent the cash register from being in a state where the checkout process cannot be successfully completed by manually operating the local controls, the cash register's checkout method can be forcibly switched to change such a state. For example, the cash register can be triggered to automatically switch to the cash payment method and automatically confirm that the user has successfully paid the amount to be paid in cash. Of course, the user does not actually pay with cash. The switch here is only for the convenience of forcing the successful completion of the checkout process.
[0125] S508: Request the payment provider's server to send the status trigger instruction and the simulated keystroke information; or, request only a portion to be sent, and the rest is obtained and sent locally by the external payment device.
[0126] In order to facilitate the cash register to conduct normal business interactions with the external payment device regarding the deferred settlement order in the future, so as to thoroughly complete the related affairs of the deferred settlement order, such as correct settlement, the cash register needs to install the payment capability extension program. Therefore, it can actively request the server to realize the installation. Here, the server sends an instruction to trigger the installation as an example. Of course, it is also possible to use a method triggered only by an external payment device. In this case, after the deferred settlement order is generated or the cash register process is forced to successfully end, the external payment device can trigger the installation in a timely manner (for example, as soon as possible when idle).
[0127] S510: After installing the payment capability extension program, the cash register uses the credential information to request corresponding settlement from the external payment device or its server based on the payment capability extension program.
[0128] The cash register uses the voucher information to indicate the corresponding cash register process and deferred settlement order, which is actually its own business. Accordingly, the settlement needs to be completed correctly to protect the interests of the merchant.
[0129] In one or more embodiments of the present specification, the above-mentioned first simulation system or second simulation system can also be used to generate and process deferred settlement orders, which is more accurate and can subsequently provide the cash register with more comprehensive relevant business information.
[0130] pass Figure 5 The solution provided in this paper helps users to more flexibly decide when to install the payment extension. It is not necessary to install the payment extension in advance. The payment extension does not necessarily need to be resident on the cash register, which helps reduce the burden on the cash register. In addition, it will not affect users' use of extended payment methods using external payment devices.
[0131] Further, in Figure 5 In the solution, since the payment capability extension program is not installed, the external payment device may not be able to obtain the correct amount to be paid in a timely manner. This situation may affect the generation of the deferred settlement order. To solve this problem, one or more embodiments of this specification also provide a deferred settlement order processing solution.
[0132] The process of the deferred settlement order processing solution may include the following processing.
[0133] First, after generating a deferred settlement order for the payment interaction operation, an estimated first amount to be paid in the deferred settlement order is determined, where the first amount to be paid is estimated to be smaller than a second amount to be paid that the user should actually pay this time.
[0134] For ease of distinction, the actual amount the user should pay is referred to as the second amount. However, since the external payment device hasn't yet installed the payment extension, it may not know the second amount. To address this issue, the external payment device will conservatively estimate the amount to be paid, which will be included as the first amount in the deferred settlement order.
[0135] It is desirable that the first amount to be paid should not be greater than the second amount to be paid. However, accurately estimating the second amount to be paid may be difficult. Therefore, as a second best option, the estimated first amount to be paid is preferably less than and relatively close to the second amount to be paid. This ensures that most of the amount can be collected promptly, protecting the merchant's interests, while also preventing users from being accidentally overcharged, which affects the user experience.
[0136] In one or more embodiments of the present specification, the table for placing goods to be paid corresponding to the cash register is placed within the field of view of the camera of the external payment device; based on this, when generating a deferred settlement order for the payment interaction operation, it specifically includes: estimating the price of the goods based on the goods photographed within the field of view; determining a first amount to be paid close to the price based on the price; and generating a deferred settlement order indicating the first amount to be paid for the payment interaction operation.
[0137] In addition to this image recognition method for estimating order amounts, other methods can also be used for estimation, such as estimating based on the current user's historical shopping history, etc.
[0138] Next, the first amount to be paid is deducted from the user.
[0139] In order to avoid user confusion, users can also be informed more clearly that only a portion of the amount is currently deducted immediately, and the remaining amount will be deducted in due course.
[0140] Next, after using the credential information to request corresponding settlement from the external payment device or its server, the remaining unpaid amount is determined and deducted from the user according to the request so as to settle the amount with the merchant corresponding to the cash register.
[0141] For example, the outstanding amount is equal to the difference between the second outstanding amount and the first outstanding amount. Alternatively, assuming the user pays under this scenario, additional discounts (e.g., amount reductions) may be offered to the user during the subsequent deduction to improve the user experience. In this case, the outstanding amount will be less than the difference between the second outstanding amount and the first outstanding amount.
[0142] Through this deferred settlement order processing solution, even if the cash register has not yet installed the payment capability extension program, it can still temporarily and indirectly rely on the capabilities of the external payment device to serve the user, and subsequently correctly settle the cash register, which is particularly friendly to the cash register.
[0143] Based on the same idea, one or more embodiments of this specification also provide devices and apparatuses corresponding to the above methods, such as Figure 6 、 Figure 7 The apparatus and device can accordingly execute the above method and related optional solutions.
[0144] Figure 6 This is a schematic diagram of a payment capability expansion processing apparatus provided in one or more embodiments of this specification, which is applied to an external payment device configured for a cash register. The external payment device provides at least one extended payment method that the cash register itself does not have. The apparatus includes:
[0145] A connection status confirmation module 602 determines whether the cash register is connected, wherein the camera of the external payment device is in a state of photographing the screen of the cash register;
[0146] Screen capture content determination module 604, if yes, determines the simulated input information to be acquired based on the captured screen display content;
[0147] The simulated input processing module 606 obtains the simulated input information and sends the simulated input information to the cash register via the HID protocol, thereby triggering the cash register to automatically input and execute the simulated input information. Through the execution, the cash register obtains and installs the payment capability extension program indicated by the simulated input information.
[0148] The extended capability utilizing module 608 interacts with the cash register based on the payment capability extending program to utilize the capability corresponding to the extended payment method for the cash register.
[0149] Optionally, the external payment device itself does not have a keyboard and a mouse.
[0150] Optionally, the screen capture content determination module 604 identifies the type of the cash register according to the captured first screen display content;
[0151] According to the type, obtaining corresponding simulated input information to trigger the cash register to respond;
[0152] identifying the operating status of the cash register according to the second screen display content continuously captured by the camera during the response of the cash register;
[0153] According to the running state, it is determined whether to obtain the simulated input information corresponding to the next step.
[0154] Optionally, the screen capture content determination module 604 determines, based on the operating state, whether the content actually automatically input into the cash register is consistent with the corresponding simulated input information;
[0155] If so, determining and obtaining the simulated input information corresponding to the next step, for continuing to trigger the cash register, so as to complete the installation of the payment capability extension program;
[0156] If not, it is determined not to obtain the simulated input information corresponding to the next step temporarily, but to adjust the automatically input content so that the consistency is achieved after the adjustment.
[0157] Optionally, the screen capture content determination module 604 sends the simulated typing correction information to the cash register via the HID protocol to delete at least part of the automatically input content and / or supplement the content that was not successfully automatically input.
[0158] Optionally, the screen capture content determination module 604 generates and runs a first simulation system for simulating the cash register according to the captured first screen display content;
[0159] Obtaining tentative input information applicable to the first simulation system, for respectively operating on the first simulation system and the cash register;
[0160] determining whether the respective operation results are sufficiently similar based on the second screen display content captured by the camera during the operation;
[0161] If so, the next step of simulated input information corresponding to the tentative input information is obtained to continue triggering the cash register.
[0162] Optionally, after determining whether the respective operation results are sufficiently similar based on the second screen display content captured by the camera during the operation, the apparatus further includes:
[0163] If not, the first simulation system is adjusted to a second simulation system according to the second screen display content captured by the camera during the operation to re-test.
[0164] Optionally, the first simulation system and the second simulation system are lightweight;
[0165] The first simulation system and the second simulation system correspond to different payment capability extension programs respectively, and the differences include: differences in business functions.
[0166] Optionally, there are multiple external payment devices corresponding to the same payment provider, and the multiple devices are distributed at multiple different merchants;
[0167] The simulated input processing module 606 receives the simulated input information remotely sent by the server of the payment provider before interacting with the cash register based on the payment capability extension program to use the capability corresponding to the extended payment method for the cash register;
[0168] The corresponding triggering of the cash register is completed by forwarding the simulated input information to the cash register.
[0169] Optionally, the extended capability utilizing module 608, after determining whether the cash register is in a connected state, determines whether the cash register has installed the payment capability extension program if a payment interaction operation of the user for the external payment device is received after determining whether the cash register is in a connected state;
[0170] If not, a deferred settlement order is generated for the payment interaction operation, and the credential information corresponding to the deferred settlement order is sent to the cash register through the HID protocol, so that after the cash register installs the payment capability extension program, it can use the credential information to request corresponding settlement from the external payment device or its server based on the payment capability extension program.
[0171] Optionally, the extended capability utilizing module 608 sends a payment success trigger instruction carrying the credential information to the cash register, triggering the cash register to forcibly successfully end the current cash register process for the user;
[0172] A request is made to the server of the payment provider to send the simulated key-in information.
[0173] Optionally, after generating the deferred settlement order for the payment interaction operation, the extended capability utilizing module 608 determines an estimated first amount to be paid in the deferred settlement order, where the first amount to be paid is estimated to be less than a second amount to be paid that the user should actually pay this time;
[0174] deducting the first amount to be paid from the user;
[0175] After using the credential information to request corresponding settlement from the external payment device or its server, the remaining unpaid amount is determined and deducted from the user according to the request so as to settle the amount with the merchant corresponding to the cash register.
[0176] Optionally, the extended payment method includes a payment method based on near field communication.
[0177] Figure 7 This is a schematic diagram of a payment capability expansion processing device provided in one or more embodiments of this specification. The device is applied to an external payment device configured for a cash register. The external payment device provides at least one extended payment method that the cash register itself does not have. The device includes:
[0178] at least one processor; and,
[0179] a memory communicatively connected to the at least one processor; wherein,
[0180] The memory stores instructions executable by the at least one processor, wherein the instructions are executed by the at least one processor to enable the at least one processor to perform:
[0181] Determining whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of photographing the screen of the cash register;
[0182] If yes, determining the simulated typing information to be acquired based on the captured screen display content;
[0183] Acquire the simulated input information, and send the simulated input information to the cash register via the HID protocol, so as to trigger the cash register to automatically input and execute the simulated input information, and through the execution, enable the cash register to acquire and install the payment capability extension program indicated by the simulated input information;
[0184] By interacting with the cash register based on the payment capability extension program, the capability corresponding to the extended payment method is used for the cash register.
[0185] Based on the same idea, one or more embodiments of this specification further provide a non-volatile computer storage medium, which is applied to an external payment device configured for a cash register. The external payment device provides at least one extended payment method that the cash register itself does not have. The medium stores computer-executable instructions, and the computer-executable instructions are configured to:
[0186] Determining whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of photographing the screen of the cash register;
[0187] If yes, determining the simulated typing information to be acquired based on the captured screen display content;
[0188] Acquire the simulated input information, and send the simulated input information to the cash register via the HID protocol, so as to trigger the cash register to automatically input and execute the simulated input information, and through the execution, enable the cash register to acquire and install the payment capability extension program indicated by the simulated input information;
[0189] By interacting with the cash register based on the payment capability extension program, the capability corresponding to the extended payment method is used for the cash register.
[0190] In the 1990s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures like diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using physical hardware modules. For example, a programmable logic device (PLD), such as a field programmable gate array (FPGA), is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to hire a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly performed using software called a "logic compiler." This is similar to the software compilers used during program development. Before compilation, the original code must be written in a specific programming language, called a Hardware Description Language (HDL). There are many types of HDL, including 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 will also understand that simply by programming a method flow in one of these hardware description languages and then programming it into an integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.
[0191] The controller can be implemented in any suitable manner. For example, the controller 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, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the memory control logic. Those skilled in the art will also appreciate that, in addition to implementing the controller purely in computer-readable program code, the controller can also be implemented in the form of logic gates, switches, an application-specific integrated circuit, a programmable logic controller, an embedded microcontroller, etc. by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the means for implementing the various functions included therein can also be considered as structures within the hardware component. Alternatively, the means for implementing the various functions can be considered both a software module implementing the method and a structure within the hardware component.
[0192] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, 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.
[0193] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0194] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Thus, the embodiments of this specification may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware. Furthermore, the embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0195] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0196] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0197] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0198] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0199] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0200] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules 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 disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0201] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0202] This specification may be described in the general context of computer-executable instructions, such as program modules, executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media, including storage devices.
[0203] The various embodiments in this specification are described in a progressive manner. Similar portions between the various embodiments can be referenced to each other, and each embodiment focuses on the differences from the other embodiments. In particular, the device, apparatus, and non-volatile computer storage medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simplified. For relevant details, refer to the descriptions of the method embodiments.
[0204] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0205] The foregoing description is merely one or more embodiments of this specification and is not intended to limit this specification. It will be apparent to those skilled in the art that various modifications and variations may be made to one or more embodiments of this specification. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of one or more embodiments of this specification are intended to be within the scope of the claims of this specification.
Claims
1. A payment capability expansion 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 inherently provided by the cash register, the method comprising: Determining whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of photographing the screen of the cash register; If yes, determining the simulated typing information to be acquired based on the captured screen display content; Acquire the simulated input information, and send the simulated input information to the cash register via the HID protocol, so as to trigger the cash register to automatically input and execute the simulated input information, and through the execution, enable the cash register to acquire and install the payment capability extension program indicated by the simulated input information; By interacting with the cash register based on the payment capability extension program, the capability corresponding to the extended payment method is used for the cash register.
2. The method according to claim 1, wherein the external payment device does not have a keyboard and a mouse.
3. The method according to claim 1, wherein determining the simulated typing information to be acquired based on the captured screen display content specifically comprises: identifying the type of the cash register according to the captured first screen display content; According to the type, obtaining corresponding simulated input information to trigger the cash register to respond; identifying the operating status of the cash register according to the second screen display content continuously captured by the camera during the response of the cash register; According to the running state, it is determined whether to obtain the simulated input information corresponding to the next step.
4. The method according to claim 3, wherein determining whether to obtain the simulated input information corresponding to the next step according to the running state specifically comprises: According to the operating state, determining whether the content actually automatically input into the cash register is consistent with the corresponding simulated input information; If so, determining and obtaining the simulated input information corresponding to the next step, for continuing to trigger the cash register, so as to complete the installation of the payment capability extension program; If not, it is determined not to obtain the simulated input information corresponding to the next step temporarily, but to adjust the automatically input content so that the consistency is achieved after the adjustment.
5. The method according to claim 4, wherein adjusting the automatically input content comprises: The simulated input correction information is sent to the cash register via the HID protocol to delete at least part of the automatically input content and / or supplement the content that was not successfully automatically input.
6. The method according to claim 1, wherein determining the simulated input information to be acquired based on the captured screen display content specifically comprises: generating and running a first simulation system for simulating the cash register according to the captured first screen display content; Obtaining tentative input information applicable to the first simulation system, for respectively operating on the first simulation system and the cash register; determining whether the respective operation results are sufficiently similar based on the second screen display content captured by the camera during the operation; If so, the next step of simulated input information corresponding to the tentative input information is obtained to continue triggering the cash register.
7. The method according to claim 6, wherein after determining whether the respective operation results are sufficiently similar based on the second screen display content captured by the camera during the operation, the method further comprises: If not, the first simulation system is adjusted to a second simulation system according to the second screen display content captured by the camera during the operation to re-test.
8. The method according to claim 7, 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 capability extension programs respectively, and the differences include: There are differences in business functions.
9. The method of claim 1, 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 capability corresponding to the extended payment method for the cash register, the method further includes: Receiving the simulated keystroke information remotely sent by the server of the payment provider; The corresponding triggering of the cash register is completed by forwarding the simulated input information to the cash register.
10. The method according to claim 1 or 9, after determining whether the cash register is connected, the method further comprises: After determining that the cash register is connected, if a payment interaction operation of the user for the external payment device is received, determining 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 credential information corresponding to the deferred settlement order is sent to the cash register through the HID protocol, so that after the cash register installs the payment capability extension program, it can use the credential information to request corresponding settlement from the external payment device or its server based on the payment capability extension program.
11. The method according to claim 10, wherein sending the voucher information corresponding to the deferred settlement order to the cash register specifically comprises: Sending a payment success trigger instruction carrying the credential information to the cash register, triggering the cash register to forcibly successfully end the current cash register process for the user; A request is made to the payment provider's server to send the simulated key-in information.
12. The method according to claim 10, further comprising: after generating a deferred settlement order for the payment interaction operation; Determining an estimated first amount to be paid in the deferred settlement order, where the first amount to be paid is estimated to be less than a second amount to be paid that the user should actually pay this time; deducting the first amount to be paid from the user; After using the credential information to request corresponding settlement from the external payment device or its server, the method further includes: Based on the request, the remaining unpaid amount is determined and deducted from the user so as to settle the amount with the merchant corresponding to the cash register.
13. The method according to any one of claims 1 to 9, wherein the extended payment method includes a payment method based on near field communication.
14. A payment capability expansion 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 inherent in the cash register, the apparatus comprising: a connection status confirmation module, which determines whether the cash register is connected, wherein the camera of the external payment device is in a state of photographing the screen of the cash register; The screen capture content determination module determines the simulated input information to be obtained based on the captured screen display content. a simulated input processing module, which obtains the simulated input information and sends the simulated input information to the cash register via the HID protocol, thereby triggering the cash register to automatically input and execute the simulated input information, and through the execution, causes the cash register to obtain and install the payment capability extension program indicated by the simulated input information; The extended capability utilizing module interacts with the cash register based on the payment capability extending program to utilize the capability corresponding to the extended payment method for the cash register.
15. The apparatus according to claim 14, wherein the external payment device does not have a keyboard and a mouse.
16. The device according to claim 14, wherein the screen capture content determination module identifies the type of the cash register based on the captured first screen display content; According to the type, obtaining corresponding simulated input information to trigger the cash register to respond; identifying the operating status of the cash register according to the second screen display content continuously captured by the camera during the response of the cash register; According to the running state, it is determined whether to obtain the simulated input information corresponding to the next step.
17. The device according to claim 16, wherein the screen capture content determination module determines whether the content actually automatically input into the cash register is consistent with the corresponding simulated input information based on the operating status; If so, determining and obtaining the simulated input information corresponding to the next step, for continuing to trigger the cash register, so as to complete the installation of the payment capability extension program; If not, it is determined not to obtain the simulated input information corresponding to the next step temporarily, but to adjust the automatically input content so that the consistency is achieved after the adjustment.
18. The device according to claim 17, wherein the screen capture content determination module sends the simulated typing correction information to the cash register via the HID protocol to delete at least part of the automatically input content and / or supplement the content that was not successfully automatically input.
19. The apparatus according to claim 14, wherein the screen capture content determination module generates and runs a first simulation system for simulating the cash register according to the captured first screen display content; Obtaining tentative input information applicable to the first simulation system, for respectively operating on the first simulation system and the cash register; determining whether the respective operation results are sufficiently similar based on the second screen display content captured by the camera during the operation; If so, the next step of simulated input information corresponding to the tentative input information is obtained to continue triggering the cash register.
20. The apparatus of claim 19, wherein after determining whether respective operation results are sufficiently similar based on the second screen display content captured by the camera during the operation, the apparatus further comprises: If not, the first simulation system is adjusted to a second simulation system according to the second screen display content captured by the camera during the operation to re-test.
21. The apparatus according to claim 20, 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 capability extension programs respectively, and the differences include: There are differences in business functions.
22. The apparatus of claim 14, wherein the external payment devices are multiple and correspond to the same payment provider, and the multiple devices are distributed at multiple different merchants; The simulated keying processing module receives the simulated keying information remotely sent by the server of the payment provider before interacting with the cash register based on the payment capability extension program to use the capability corresponding to the extended payment method for the cash register; The corresponding triggering of the cash register is completed by forwarding the simulated input information to the cash register.
23. The apparatus of claim 14 or 22, wherein the extended capability utilizing module, after determining whether the cash register is connected, upon receiving a payment interaction operation from a user for the external payment device, determines 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 credential information corresponding to the deferred settlement order is sent to the cash register through the HID protocol, so that after the cash register installs the payment capability extension program, it can use the credential information to request corresponding settlement from the external payment device or its server based on the payment capability extension program.
24. The apparatus of claim 23, wherein the extended capability utilization module, after generating the deferred settlement order for the payment interaction operation, determines an estimated first amount to be paid in the deferred settlement order, wherein the first amount to be paid is estimated to be less than a second amount to be paid that the user should actually pay this time; deducting the first amount to be paid from the user; After using the credential information to request corresponding settlement from the external payment device or its server, the remaining unpaid amount is determined and deducted from the user according to the request so as to settle the amount with the merchant corresponding to the cash register.
25. A payment capability expansion 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 inherent in the cash register, 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 executable by the at least one processor, wherein the instructions are executed by the at least one processor to enable the at least one processor to perform: Determining whether the external payment device is connected to the cash register, wherein the camera of the external payment device is in a state of photographing the screen of the cash register; If yes, determining the simulated typing information to be acquired based on the captured screen display content; Acquire the simulated input information, and send the simulated input information to the cash register via the HID protocol, so as to trigger the cash register to automatically input and execute the simulated input information, and through the execution, enable the cash register to acquire and install the payment capability extension program indicated by the simulated input information; By interacting with the cash register based on the payment capability extension program, the capability corresponding to the extended payment method is used for the cash register.
Citation Information
Patent Citations
Financial POS supervisor and its management method
CN101145263A
Device and method for upgrading POS (point-of-sale) terminals
CN104182258A