Order payment method, order payment device and order payment system
By forwarding payment interface call requests between the cloud application server and the client, the security and redevelopment costs in the cloud application payment process are solved, and a secure and cost-effective payment experience is achieved.
Patent Information
- Application Number
- CN202010669129.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-13
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2040-07-13
AI Technical Summary
When making payments, existing cloud applications need to call the payment application client on the local terminal, resulting in the need to modify the cloud application logic implementation and increase the redevelopment cost. At the same time, deploying the payment application client on the cloud server will bring security problems.
By forwarding payment interface call requests between the cloud application server and the client, the interface of the payment application client is directly called on the local terminal, avoiding the deployment of payment application client on the cloud server, and realizing local processing of payment logic.
It avoids the security issues of payment application clients on the cloud server, and reduces modifications to cloud application logic, saving redevelopment costs. At the same time, users can still enjoy the same payment experience as local applications in the cloud application environment.
Smart Images

Figure CN111652604B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of Internet technology, and in particular to an order payment method, an order payment device, and an order payment system. Background Art
[0002] With the development of internet technology, cloud technology has gained widespread application. Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide or local area network (WAN) to enable data computing, storage, processing, and sharing. Cloud technology is a general term for network, information technology, integration technology, management platform technology, and application technology, all based on the cloud computing business model. It can form a resource pool for on-demand, flexible, and convenient use. Cloud computing technology will become a crucial support. Backend services for technical network systems, such as video websites, image websites, and more portals, require significant computing and storage resources. With the rapid development and application of the internet industry, every item will likely have its own unique identifier, requiring transmission to backend systems for logical processing. Data of varying levels will be processed separately, and data from various industries will require robust system support, which can only be achieved through cloud computing.
[0003] Currently, an increasing number of applications are being offered as cloud applications to conserve terminal resources. Cloud applications are a subset of the concept of "cloud computing," representing the application-level embodiment of cloud computing technology. Cloud applications operate by installing traditional "locally installed, locally computed" applications on a remote server cluster (i.e., a cloud server), transforming them into ready-to-use services to perform business logic or computational tasks. Cloud application instances installed on a cloud server are identical to their local counterparts, differing only in the installation location. Cloud applications are primarily delivered through internet technology, presented as thin clients or smart clients. Cloud applications not only help users reduce IT costs but also significantly improve work efficiency. Therefore, the trend of transformation from traditional software to cloud applications is unstoppable.
[0004] However, while cloud applications bring many benefits, they also bring challenges to the use of many applications, such as existing payment applications. Taking cloud applications as cloud shopping applications or cloud gaming applications as an example, users can make purchases in cloud shopping applications or purchase props in cloud gaming applications. At this time, the cloud application will generate an order for the user to pay, and when paying for the order, it is usually necessary to call the payment interface of the payment application client (for example, Alipay's payment program, WeChat payment program, etc.) to make the payment. However, the payment application client is usually installed on the local terminal. In order for the cloud application to call the payment application client on the local terminal, the existing logical implementation of the cloud application needs to be modified to support such a call, which brings a large redevelopment cost. Although deploying the payment application client and the cloud application together on the cloud server can avoid the overhead of modifying the logical implementation of the cloud application, deploying the payment application client on the cloud server will bring great security issues. Summary of the Invention
[0005] In view of this, the present disclosure provides an order payment method, an order payment device, and an order payment system, which are expected to overcome some or all of the above-mentioned deficiencies and other possible deficiencies.
[0006] According to a first aspect of the present disclosure, an order payment method is provided, which is implemented on a cloud application server. The method includes: obtaining a payment interface call request from a cloud payment client on the cloud application server, wherein the payment interface call request is used to request a call to a payment interface of a payment application client located on the cloud application client side, so as to pay for an order in the cloud payment client; sending the payment interface call request to the cloud application client, so as to call the payment interface of the payment application client to pay for the order.
[0007] According to a second aspect of the present disclosure, an order payment method is provided, which is implemented on a cloud application client, and the method includes: obtaining a payment interface call request from a cloud application server, the payment interface call request being used to request a call to a payment interface of a payment application client located on the cloud application client side, so as to pay for an order in the cloud payment client in the cloud application server; confirming whether the payment interface call request is legal; and in response to the payment interface call request being legal, calling the payment interface of the payment application client to pay for the order.
[0008] According to a third aspect of the present disclosure, an order payment device is provided, which is implemented on a cloud application server and includes: a request acquisition module, which is configured to obtain a payment interface call request from a cloud payment client on the cloud application server, wherein the payment interface call request is used to request a call to a payment interface of a payment application client located on the cloud application client side, so as to pay for an order in the cloud payment client; a request sending module, which is configured to send the payment interface call request to the cloud application client, so as to call the payment interface of the payment application client to pay for the order.
[0009] According to a fourth aspect of the present disclosure, an order payment device is provided, which is implemented on a cloud application client and includes: a request receiving module, which is configured to receive a payment interface call request from a cloud application server, wherein the payment interface call request is used to request a call to a payment interface of a payment application client located on the cloud application client side, so as to pay for an order in the cloud payment client in the cloud application server; a request confirmation module, which is configured to confirm whether the payment interface call request is legal; and an interface call module, which is configured to call the payment interface of the payment application client to pay for the order in response to the payment interface call request being legal.
[0010] According to a fifth aspect of the present disclosure, an order payment system is provided, comprising a first order payment device and a second order payment device, wherein the first order payment device comprises the order payment device according to the third aspect of the present disclosure, and the second order payment device comprises the order payment device according to the fourth aspect of the present disclosure.
[0011] According to a sixth aspect of the present disclosure, a computing device is provided, comprising a processor; and a memory configured to store computer-executable instructions thereon, which, when executed by the processor, execute any order payment method as described above.
[0012] According to a seventh aspect of the present disclosure, a computer-readable storage medium is provided, which stores computer-executable instructions. When the computer-executable instructions are executed, any order payment method described above is executed.
[0013] In the order payment method, order payment device, and order payment system claimed in the present disclosure, calls to the payment interface of the payment application client from the cloud payment client in the cloud application server are forwarded to the local cloud application client, thereby implementing calls to the payment interface of the payment application client. This avoids the security issues brought about by deploying the payment application client on the cloud server side, and does not require changes to the business logic and payment logic of the existing application (i.e., the cloud application) installed on the cloud server, thus saving the cost of application redevelopment. Moreover, since no changes are made to the business logic and payment logic of the cloud application, users in the cloud application environment can also experience the same payment experience as local applications.
[0014] These and other advantages of the disclosure will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Embodiments of the present disclosure will now be described in more detail and with reference to the accompanying drawings, in which:
[0016] Figure 1 The figure illustrates an exemplary application scenario in which the technical solution according to the embodiments of the present disclosure can be implemented;
[0017] Figure 2 FIG2 illustrates a schematic flow chart of an order payment method according to an embodiment of the present disclosure;
[0018] Figure 3 FIG2 illustrates a schematic flow chart of an order payment method according to another embodiment of the present disclosure;
[0019] Figure 4 FIG2 illustrates a schematic flow chart of an order payment method according to another embodiment of the present disclosure;
[0020] Figure 5 FIG2 illustrates a schematic flow chart of an order payment method according to another embodiment of the present disclosure;
[0021] Figure 6 FIG2 illustrates an exemplary structural diagram of an order payment device according to an embodiment of the present disclosure;
[0022] Figure 7 FIG2 illustrates an exemplary structural diagram of an order payment device according to another embodiment of the present disclosure;
[0023] Figure 8 FIG2 illustrates an exemplary structural diagram of an order payment system according to an embodiment of the present disclosure;
[0024] Figure 9An exemplary flow chart of making order payment using an order payment system according to an embodiment of the present disclosure is illustrated;
[0025] Figure 10 An exemplary architecture diagram of an order payment system according to an embodiment of the present disclosure is illustrated; and
[0026] Figure 11 An example system is illustrated that includes an example computing device that represents one or more systems and / or devices that may implement the various techniques described herein. DETAILED DESCRIPTION
[0027] The following description provides specific details of various embodiments of the present disclosure so that those skilled in the art can fully understand and implement the various embodiments of the present disclosure. It should be understood that the technical solutions of the present disclosure can be implemented without some of these details. In some cases, the present disclosure does not show or describe in detail some well-known structures or functions to avoid these unnecessary descriptions from obscuring the description of the embodiments of the present disclosure. The terms used in this disclosure should be understood in their broadest reasonable manner, even if they are used in conjunction with specific embodiments of the present disclosure.
[0028] First, some of the terms used in the examples of this application are explained to facilitate understanding by those skilled in the art: Cloud Applications: Cloud applications transform the traditional "local installation, local computing" model of software into a "ready-to-use" service. These applications connect to and control remote server clusters via the internet or a local area network to complete business logic or computing tasks. Cloud applications are primarily based on internet technology and are presented in the form of thin clients or smart clients.
[0029] Cloud gaming: A type of cloud application. Under the conditions of cloud computing, the game is run on a server or server cluster in the cloud. The rendered images are encoded and compressed and then streamed to the client via the network, where they are displayed to the user as a video stream. The instructions and signals from the user's operation on the client are transmitted to the cloud server through the network. The next frame of the image is then calculated and rendered based on the user's operation feedback and pushed to the client, thus forming a closed loop. Generally speaking, in the operating environment of cloud gaming, the client does not need to install any game software, perform logical operations or rendering, etc. It only plays videos and feedbacks the user's operation instructions. All calculations are performed in the cloud.
[0030] Cloud application server: A cloud server where cloud applications (e.g., cloud gaming software) are installed.
[0031] Cloud application client: Usually installed on the local terminal used by the user, it is used to receive the images rendered by the cloud server and display them to the user in the form of video streams; it also receives user operations and feeds the operations back to the cloud server to render the next frame.
[0032] In-game purchases: refers to purchases made within the game, including but not limited to virtual accessories, character skins, props, etc. Currently, purchases can be made within general game software without the need to install separate software or open a third-party website.
[0033] Payment client: This refers to software, apps, software development kits, and other tools that allow payments to third-party merchants. Payment methods such as credit cards, WeChat Wallet, or online electronic currencies are typically already integrated into the payment client. Common payment clients include Alipay and WeChat Pay.
[0034] Cloud payment client: This is typically a payment application within a cloud application, used to implement payment logic within the cloud application, such as in-game payment logic when purchasing in-game items.
[0035] Figure 1 FIG2 illustrates an exemplary application scenario 100 in which the technical solution according to an embodiment of the present disclosure can be implemented. Figure 1 As shown, the application scenario 100 includes a terminal 110, a server 120, a server 130, and a network 140. For the sake of clarity, the following description takes the cloud application as a cloud game as an example, but this application does not limit the similarity of cloud applications.
[0036] The terminal 110 may be an electronic device on which various applications are installed to provide various services. The electronic device may be a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc., but is not limited thereto. As an example, the terminal 110 may have a cloud application client installed, such as a cloud game client.
[0037] The server 120 can communicate with the terminal 110 via the network 140 and can be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. In this application, a cloud application (e.g., a game instance) can be installed in the server 120, so the server 120 is also a cloud application server, such as a cloud game server.
[0038] Server 130 can be communicatively coupled to server 120, optionally coupled together via network 140. Server 130 can be a backend server for a cloud application (e.g., a game instance), which is typically a server, device, and / or any other suitable computing device or computing system of a cloud application (e.g., a game instance) provider. Server 130 can be an independent physical server, or a server cluster or distributed system consisting of multiple physical servers, or a cloud server similar to server 120. Servers 120 and 130 can be deployed together or remotely from each other. For example, server 130 can be operated by a cloud platform provider, while server 120 can be operated by an independent third party, although this is not restrictive.
[0039] The network 140 may be, for example, a wide area network (WAN), a local area network (LAN), a wired or wireless network, a public telephone network, an intranet, or any other type of network known to those skilled in the art.
[0040] As an example, when a user controls a game instance installed on a cloud game server 120 through a cloud game client on a terminal 110 to play a game, the user can initiate in-game purchases such as purchasing props in the game instance. At this time, a game payment client on the cloud game server 120 that supports in-game purchases (which is usually also located in the game instance) can interact with the game backend server 130 to obtain the order for this in-game purchase in order to carry out the subsequent payment process.
[0041] In this case, the following method can be first implemented on the cloud gaming server 120, namely, obtaining a payment interface call request from the cloud payment client (i.e., the game payment client) on the cloud gaming server, wherein the payment interface call request is used to request a payment interface call of the payment application client (e.g., Alipay's payment program, WeChat payment program, etc.) located on the cloud gaming client side, so as to make payment for the order; then, the payment interface call request is sent to the cloud gaming client on the terminal 110, so as to call the payment interface of the payment application client to pay for the order. Optionally, on the cloud gaming client side of the terminal 110, the payment interface call request from the cloud gaming server 120 can be obtained; then, after confirming that the payment interface call request is legal, the payment interface of the payment application client is called to complete the payment for the order.
[0042] It should be noted that the scenario described above is merely an example in which the embodiments of the present disclosure may be implemented and is not restrictive.
[0043] Figure 2The diagram shows a schematic flow chart of an order payment method 200 according to an embodiment of the present disclosure. The method 200 can be implemented as a component, a program module or a process. Figure 1 On the server 120 (ie, cloud application server) shown in FIG. Figure 2 As shown, the method 200 may include the following steps.
[0044] In step 201, a payment interface call request from a cloud payment client on a cloud application server is obtained, wherein the payment interface call request is used to request a payment interface call of a payment application client on the cloud application client side, so as to pay for an order in the cloud payment client. Figure 1 As described above, a cloud application server is a server that runs a cloud application (e.g., a shopping application instance, a game instance, etc.). This is a cloud server. A cloud payment client is typically a payment application within a cloud application. It can also exist independently of the cloud application, implementing payment logic within the cloud application, such as in-game payment logic for purchasing in-game items. The payment application client's payment interface can be called to complete the actual payment of an order. Examples of payment application clients include the popular Alipay payment program and WeChat Pay.
[0045] The order is typically generated through the following process. First, the cloud payment client sends the user's purchase request in the cloud application to the cloud payment server corresponding to the cloud payment client. The cloud payment server is the payee of the order and is typically the cloud application provider (for example, a game provider that earns revenue by selling in-game items). After receiving the purchase request, the cloud payment server uses its signature to sign, encrypt, generate an order, and then sends the order back to the cloud payment client.
[0046] In step 202, the payment interface call request is sent to the cloud application client, so as to call the payment interface of the payment application client to pay for the order. The cloud application client is usually installed on the local terminal used by the user.
[0047] In some embodiments, the address of the cloud application client can be obtained by querying the payment status database, such as the user account of the cloud application client, the IP (Internet Protocol) address of the terminal where the cloud application client is located, the port number, etc. Then, the payment interface call request is sent to the cloud application client according to the address of the cloud application client.
[0048] In some embodiments, before sending the payment interface call request to the cloud application client, it can be determined whether the payment application client is available on the cloud application client side. If the payment application client is available on the cloud application client side, the payment interface call request is sent to the cloud application client. The payment application client being available on the cloud application client side may include: the payment application client exists on the cloud application client side; and / or the cloud application client has the authority to call the payment interface of the payment application client. The existence of the payment application client on the cloud application client side means that the payment application client has been installed on the cloud application client side, for example, both are located on the same terminal. As an example, whether the payment application client is available on the cloud application client side can also be determined by querying the payment status database.
[0049] Optionally, the payment status database can be located on the cloud application server and can be a standalone program or a data table entry. The database is used to store information related to applications and payments currently running on the cloud application server, as well as the addresses of collected cloud application clients and the status of payment application clients (e.g., whether the payment application client is available on the cloud application client side). For example, each time a game is started or stopped on the cloud application server, this information needs to be synchronized to the payment status database.
[0050] In some embodiments, before the payment interface call request is sent to the cloud application client, the payment interface call request may be preprocessed, including at least one of encryption and encapsulation. The preprocessed payment interface call request is then sent to the cloud application client. Encryption ensures the security of the payment interface call request during transmission and prevents tampering. Encapsulation can be performed as needed. For example, encapsulation can change the transmission method of the payment interface call request, such as changing from TCP (Transmission Control Protocol) to UDP (User Datagram Protocol), thereby saving transmission resources.
[0051] Through the method of the embodiment of the present disclosure, the cloud payment client in the cloud application server forwards the call to the payment interface of the payment application client to the local cloud application client, thereby realizing the call to the payment interface of the payment application client. This avoids the security issues caused by deploying the payment application client on the cloud server, and does not require the business logic and payment logic of the existing application (i.e., cloud application) installed on the cloud server to be changed, saving the cost of application redevelopment. Moreover, since the business logic and payment logic of the cloud application are not changed, users can also experience the same payment experience in the cloud application environment as in the local application.
[0052] Figure 3 The diagram shows a schematic flow chart of an order payment method 300 according to an embodiment of the present disclosure. The method 300 can also be implemented as a component, program module or process. Figure 1 On the server 120 (ie, cloud application server) shown in FIG. Figure 3 As shown, the method 300 may include the following steps 301-304, wherein steps 301 and 302 are similar to steps 201-202 and are not repeated here.
[0053] In step 303, the cloud application client obtains the payment result returned after calling the payment interface of the payment application client to pay for the order. After completing the payment operation, regardless of whether the payment succeeds or fails, the payment application client returns the payment result to the cloud application client that called its payment interface. The cloud application client further returns the payment result to the cloud application server.
[0054] In step 304, the payment result information is returned to the cloud payment client so that the cloud payment client can verify the payment result with the cloud payment server. As mentioned above, the order is generated by the cloud payment server in response to the purchase request sent by the cloud payment client. The cloud payment server verifies the signature and parses the received payment result to confirm the payment result. The cloud payment server can then return the payment result to the cloud payment client for transmission to the cloud application client and presentation to the user.
[0055] Through the method 300 of the embodiment of the present disclosure, the call of the payment interface of the payment application client by the cloud payment client in the cloud application server is forwarded to the local cloud application client, thereby realizing the call of the payment interface of the payment application client. This avoids the security issues caused by deploying the payment application client on the cloud server, and does not require changes to the business logic and payment logic of the existing application (i.e., cloud application) installed on the cloud server, saving the cost of application redevelopment.
[0056] Figure 4The diagram shows a schematic flow chart of an order payment method 400 according to an embodiment of the present disclosure. The method 400 can be implemented as a component, a program module or a process. Figure 1 The terminal 110 shown is specifically implemented on the cloud application client on the terminal 110. Figure 4 As shown, the method 400 may include the following steps.
[0057] In step 401, a payment interface call request is obtained from the cloud application server. The payment interface call request is used to request a payment interface call of the payment application client located on the cloud application client side, so as to pay for the order in the cloud payment client in the cloud application server. In the case where the payment interface call request is encrypted or encapsulated, the payment interface call request needs to be decrypted and parsed. Figure 1 As described above, a cloud application server is a server that runs a cloud application (e.g., a shopping application instance, a game instance, etc.). This is a cloud server. A cloud payment client is typically a payment application within a cloud application. It can also exist independently of the cloud application, implementing payment logic within the cloud application, such as in-game payment logic for purchasing in-game items. The payment application client's payment interface can be called to complete the actual payment of an order. Examples of payment application clients include the popular Alipay payment program and WeChat Pay.
[0058] The order is typically generated through the following process. First, the cloud payment client sends the user's purchase request in the cloud application to the cloud payment server corresponding to the cloud payment client. The cloud payment server is the payee of the order and is typically the cloud application provider (for example, a game provider that earns revenue by selling in-game items). After receiving the purchase request, the cloud payment server uses its signature to sign, encrypt, generate an order, and then sends the order back to the cloud payment client.
[0059] In step 402, it is confirmed whether the payment interface call request is legal. In some embodiments, it can be confirmed whether the current status data about the order matches the reserved status data on the cloud application client. If they match, it is confirmed that the payment interface call request is legal. The status data may, for example, include one or more of the provider of the order (which is usually the provider of the cloud application), the purchaser to which the order is directed (for example, the purchaser of game props), and the payment authority for the order. The payment authority for an order refers to, for example, whether it is allowed to call the payment interface of the payment application client for the order. As an example, the reserved status data may reflect that calling the payment interface of the payment application client for orders of game props is not allowed. This may be because the use of the payment application client for payment is not supported due to commercial competition, or it is prohibited to call the payment interface of the payment application client for the purpose of prohibiting addiction to games or due to regulations of certain institutions or departments.
[0060] In some embodiments, the reserved state data may be synchronized from the cloud application server to the cloud application client. As an example, the reserved state data may be stored in a call state database on the cloud application client, as described later with reference to Figure 10 Descriptive.
[0061] In step 403, in response to the payment interface call request being legal, the payment interface of the payment application client is called to pay for the order. When performing the payment operation, the payment application client may require identity authentication with the user, and the identity authentication may be performed using methods such as passwords, fingerprints, and face recognition. After the identity authentication is passed, the payment application client sends the payment request to the payment application server corresponding to the payment application client for verification, processing, etc. It can be understood that in the case where the payment application client is a common Alipay payment program, WeChat payment program, etc., the payment application server corresponding to the payment application client can be, for example, the server of the Alipay payment program, the server of the WeChat payment program, etc. After verification and processing, the payment application server performs operations such as reconciling the order amount, and then returns the payment result to the payment application client.
[0062] Through the method 400 of the embodiment of the present disclosure, the cloud payment client in the cloud application server calls the payment interface of the payment application client and is forwarded to the cloud application client for local processing, thereby realizing the call of the payment interface of the payment application client. This avoids the security issues caused by deploying the payment application client on the cloud server, and does not require the business logic and payment logic of the existing application (i.e., the cloud application) installed on the cloud server to be changed, thus saving the cost of application redevelopment. Moreover, since the cloud application business logic and payment logic are not changed, users can also experience the same payment experience in the cloud application environment as in the local application.
[0063] Figure 5 The diagram shows a schematic flow chart of an order payment method 500 according to an embodiment of the present disclosure. The method 500 can be implemented as a component, a program module or a process in Figure 1 The terminal 110 side shown is particularly implemented on the cloud application client on the terminal 110. Figure 4 As shown, the method 400 may include the following steps 501-505, wherein steps 501-503 are similar to steps 301-303 and are not repeated here.
[0064] In step 504, a payment result is obtained from the payment application client. As described with reference to step 403, the payment result is a response from the payment application server corresponding to the payment application client to a payment request initiated by the payment application client when its payment interface is called to pay for the order.
[0065] In step 505, the payment result is sent to the cloud application server for verification between the cloud payment client and the cloud payment server. The order was generated by the cloud payment server in response to the purchase request from the cloud payment client. The cloud payment server verifies the signature and parses the received payment result, confirming the payment result. The cloud payment server may then return the payment result to the cloud payment client for transmission to the cloud application client and presentation to the user.
[0066] Through method 500 of the embodiment of the present disclosure, the call of the payment interface of the payment application client by the cloud payment client in the cloud application server is forwarded to the cloud application client for local processing, thereby realizing the call of the payment interface of the payment application client, which avoids the security issues caused by deploying the payment application client on the cloud server, and does not require changes to the business logic and payment logic of the existing application (i.e., cloud application) installed on the cloud server, saving the cost of application redevelopment.
[0067] Figure 6 FIG2 shows an exemplary structural diagram of an order payment device 600 according to an embodiment of the present disclosure. The order payment device 600 may be implemented on a cloud application server. Figure 6 As shown, the order payment apparatus 600 includes a request acquisition module 601 and a request sending module 602. Optionally, the order payment apparatus 600 may further include a result acquisition module 603 and a result return module 604.
[0068] The request acquisition module 601 is configured to obtain a payment interface call request from a cloud payment client on a cloud application server, wherein the payment interface call request is used to request a call to the payment interface of the payment application client on the cloud application client side in order to pay for the order in the cloud payment client. The cloud application server is a server on which a cloud application (for example, an instance of a shopping application, a game instance, etc.) is installed, and is a cloud server. The cloud payment client is usually a payment application in a cloud application. Of course, it can also exist independently of the cloud application and be used to implement the payment logic within the cloud application, such as the in-game payment logic when participating in the purchase of in-game props. The payment interface of the payment application client can be called to complete the actual payment of the order. The payment application client, for example, is a common payment program of Alipay, a WeChat payment program, etc.
[0069] The request sending module 602 is configured to send the payment interface call request to the cloud application client, so as to call the payment interface of the payment application client to pay for the order. The cloud application client is usually installed on a local terminal used by the user.
[0070] Result acquisition module 603 is configured to obtain, from the cloud application client, the payment result returned after invoking the payment interface of the payment application client to pay for the order. After completing the payment operation, regardless of whether the payment succeeds or fails, the payment application client returns the payment result to the cloud application client that invoked its payment interface. The cloud application client then returns the payment result to the cloud application server.
[0071] Result return module 604 is configured to return the payment result information to the cloud payment client so that the cloud payment client can verify the payment result with the cloud payment server. The order is generated by the cloud payment server in response to the purchase request from the cloud payment client. The cloud payment server verifies and parses the received payment result to confirm the payment result. The cloud payment server may then return the payment result to the cloud payment client for transmission to the cloud application client and presentation to the user.
[0072] Figure 7 FIG2 shows an exemplary structural diagram of an order payment device 700 according to an embodiment of the present disclosure. The order payment device 700 may be implemented on a cloud application client. Figure 7 As shown, the order payment apparatus 700 includes a request receiving module 701, a request confirming module 702, and an interface calling module 703. Optionally, the order payment apparatus 700 may further include a result receiving module 704 and a result sending module 705.
[0073] The request receiving module 701 is configured to receive a payment interface call request from the cloud application server. The payment interface call request is used to request that the payment interface of the payment application client located on the cloud application client side be called to pay for an order in the cloud payment client on the cloud application server. If the payment interface call request is encrypted or encapsulated, it is also necessary to decrypt and parse the payment interface call request.
[0074] The request confirmation module 702 is configured to confirm whether the payment interface call request is legitimate. In some embodiments, the request confirmation module 702 is configured to confirm whether the current state data about the order matches the reserved state data on the cloud application client, and if so, confirm that the payment interface call request is legitimate.
[0075] The interface calling module 703 is configured to call the payment interface of the payment application client to pay for the order in response to the payment interface calling request being legal.
[0076] The result receiving module 704 is configured to receive a payment result from the payment application client, where the payment result is a response of the payment application server corresponding to the payment application client to a payment request initiated by the payment application client, where the payment request is initiated by the payment application client when its payment interface is called to pay for the order.
[0077] The result sending module 705 is configured to send the payment result to the cloud application server so that the cloud payment client and the cloud payment service in the cloud application server verify the payment result, wherein the order is generated by the cloud payment service in response to the purchase request of the cloud payment client.
[0078] Figure 8 The diagram shows an exemplary structural diagram of an order payment system 800 according to an embodiment of the present disclosure, which includes a first order payment device 801 and a second order payment device 802. The first order payment device 801 may be a reference Figure 6 The order payment device 600 and the second order payment device 802 described above may be referenced Figure 7 Described order payment device 700.
[0079] Figure 9 An exemplary flow chart of order payment using the order payment system 800 according to an embodiment of the present disclosure is illustrated. Figure 9As shown, at step 901, a user initiates a purchase request, for example, within a cloud application installed on a cloud application server. At step 902, the cloud payment client sends the user's purchase request to the cloud payment server corresponding to the cloud payment client. The cloud payment server is typically deployed on a cloud server, distinct from the cloud application server. After receiving the purchase request, the cloud payment server signs it with its signature, performs operations such as order generation and encryption, and then sends the order back to the cloud payment client in step 903. Based on the received order, the cloud payment client issues a payment interface call request to invoke the payment interface of the payment application client. At step 904, the payment interface call request is sent to a first order payment device. The first order payment device is located on the cloud application server and, upon receiving the payment interface call request, can query the payment status database to obtain the address of the cloud application client, such as the cloud application client's user account, the IP (Internet Protocol) address of the terminal where it is located, the port number, etc., and determine whether the payment application client is available on the cloud application client side. If it is available, then at step 905 , the payment interface call request is packaged, encrypted, and pre-processed, and then sent to the cloud application client according to the address of the cloud application client.
[0080] After the cloud application client receives the payment interface call request, the second order payment device on the cloud application client decrypts and parses it to confirm whether the payment interface call request is legitimate. For example, it confirms that the current status data of the order matches the status data reserved in the call status database on the cloud application client. If the payment interface call request is confirmed to be legitimate, the payment application client's payment interface is called at step 906 to pay for the order. When performing the payment operation, the payment application client may request user identity verification at step 907. The identity verification can be performed using methods such as passwords, fingerprints, and facial recognition. After the identity verification is successful, the payment application client sends the payment request to the payment application server corresponding to the payment application client at step 908 for verification and processing.
[0081] At step 909, the payment application server verifies and processes the payment, performs operations such as reconciling the order amount, and then returns the payment result to the payment application client. At step 910, the payment application client returns the payment result to the second order payment device on the application client. At step 911, the second order payment device processes the returned payment result, queries the call status database to obtain information about the cloud application server and cloud application to which the cloud payment client is connected, and then encrypts and encapsulates the payment result and returns it to the cloud application server. At step 912, the first order payment device on the cloud application server decrypts and parses the payment result and returns it to the cloud payment client. At step 913, the cloud payment client sends the payment result to the cloud payment server for verification. The cloud payment server verifies the signature and parses the received payment result, confirming the payment result. After confirmation, the cloud payment server can return the payment result to the cloud payment client at step 914 for transmission to the cloud application client and presentation to the user.
[0082] Figure 10 FIGURE 1 illustrates an exemplary architecture diagram of an order payment system according to an embodiment of the present disclosure. Figure 10As shown, the cloud application server includes a payment status database, a cloud application (which may include a cloud payment client), and a first order payment device. The cloud game client includes a call status database and a second order payment device. The call status database can maintain information synchronization with the payment status database. The first order payment device and the second order payment device can have a communication connection, which can use an encrypted protocol such as HTTPS. The communication connection can also use an existing channel established between the cloud application client and the cloud application server. Information is updated synchronously, meaning that the payment status information of the first order payment device and the second order payment device must be strongly synchronized. The payment status database, located within the cloud application server and can be a standalone program or a data table entry, is used to store information related to running applications and payments on the cloud application server, as well as the addresses of collected cloud application clients and the status of payment application clients. For example, each time a game is started or stopped on the cloud application server, this information must be synchronized with the payment status database. The call status database, located within the cloud application client and can be a standalone program or a data table entry, is used to store payment-related information on the cloud application client and synchronize this information with the payment status database. For example, if a new payment application client is installed and authorized, or an existing payment application client is deleted or deauthorized, this information needs to be synchronized with the call status database, which in turn synchronizes this information with the payment status database. The first-order payment device can only query data in the payment status database, while the second-order payment device can only query data in the call status database. This ensures the security of the data in both the payment and call status databases.
[0083] Figure 11 An example system 1100 is illustrated, which includes an example computing device 1110 that represents one or more systems and / or devices that can implement the various techniques described herein. The computing device 1110 can be, for example, a server of a service provider, a device associated with a server, a system on a chip, and / or any other suitable computing device or computing system. Figure 6 and 7 The described order payment apparatuses 600 and 700 may both take the form of a computing device 1110. Alternatively, the order payment apparatuses 600 and 700 may both be implemented as a computer program in the form of an order payment application 1116.
[0084] The example computing device 1110 as shown includes a processing system 1111, one or more computer-readable media 1112, and one or more I / O interfaces 1113 that are communicatively coupled to each other. Although not shown, the computing device 1110 may also include a system bus or other data and command transmission system that couples various components to each other. The system bus may include any one or a combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any one of a variety of bus architectures. Various other examples are also contemplated, such as control and data lines.
[0085] Processing system 1111 represents functionality that uses hardware to perform one or more operations. Thus, processing system 1111 is illustrated as including hardware elements 1114 that may be configured as processors, functional blocks, and the like. This may include hardware implemented as application-specific integrated circuits or other logic devices formed using one or more semiconductors. Hardware elements 1114 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, a processor may be comprised of (a plurality of) semiconductors and / or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically executable instructions.
[0086] Computer-readable media 1112 is illustrated as including memory / storage 1115. Memory / storage 1115 represents memory / storage capacity associated with one or more computer-readable media. Memory / storage 1115 may include volatile media (such as random access memory (RAM)) and / or non-volatile media (such as read-only memory (ROM), flash memory, optical disks, magnetic disks, etc.). Memory / storage 1115 may include fixed media (e.g., RAM, ROM, fixed hard drives, etc.) and removable media (e.g., flash memory, removable hard drives, optical disks, etc.). Computer-readable media 1112 may be configured in various other ways, as further described below.
[0087] One or more I / O interfaces 1113 represent functionality that allows a user to input commands and information to the computing device 1110 using various input devices, and optionally also allows information to be presented to the user and / or other components or devices using various output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone (e.g., for voice input), a scanner, touch functionality (e.g., a capacitive or other sensor configured to detect physical touch), a camera (e.g., that can use visible or invisible wavelengths (such as infrared frequencies) to detect motion that does not involve touch as gestures), and the like. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, a tactile response device, and the like. Thus, the computing device 1110 can be configured in various ways, as further described below, to support user interaction.
[0088] The computing device 1110 also includes an order payment application 1116. The order payment application 1116 may be, for example, a software instance of the order payment apparatus 600 or 700, and in combination with other elements in the computing device 1110 implements the techniques described herein.
[0089] Various techniques may be described herein in the general context of software, hardware, or program modules. Generally, these modules include routines, programs, objects, elements, components, data structures, and the like that perform specific tasks or implement specific abstract data types. As used herein, the terms "module," "function," and "component" generally refer to software, firmware, hardware, or a combination thereof. The techniques described herein are platform-independent, meaning that these techniques can be implemented on a variety of computing platforms with a variety of processors.
[0090] An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. Computer-readable media may include various media accessible by computing device 1110. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.”
[0091] As opposed to a mere signal transmission, carrier wave, or signal itself, "computer-readable storage medium" refers to a medium and / or device, and / or tangible storage device, capable of persistently storing information. Thus, computer-readable storage media refers to non-signal-bearing media. Computer-readable storage media include hardware such as volatile and non-volatile, removable and non-removable media and / or storage devices implemented in a method or technology suitable for storing information (such as computer-readable instructions, data structures, program modules, logic elements / circuits, or other data). Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage devices, hard disks, cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or other storage devices, tangible media, or articles of manufacture suitable for storing desired information and accessible by a computer.
[0092] "Computer-readable signal media" refers to signal-bearing media that is configured to send instructions to the hardware of the computing device 1110, such as via a network. Signal media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, data signal, or other transport mechanism. Signal media also includes any information delivery media. The term "modulated data signal" refers to a signal that has one or more of its characteristics set or changed so as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
[0093] As previously described, hardware elements 1114 and computer-readable media 1112 represent instructions, modules, programmable device logic, and / or fixed device logic implemented in hardware form, which in some embodiments can be used to implement at least some aspects of the technology described herein. Hardware elements can include integrated circuits or systems on a chip, application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and other implementations in silicon or components of other hardware devices. In this context, hardware elements can be used as processing equipment for executing program tasks defined by the instructions, modules, and / or logic embodied by the hardware elements, as well as hardware devices for storing instructions for execution, such as the computer-readable storage media previously described.
[0094] The aforementioned combination may also be used to implement the various techniques and modules described herein. Therefore, software, hardware or program modules and other program modules may be implemented as one or more instructions and / or logic embodied on some form of computer-readable storage medium and / or by one or more hardware elements 1114. Computing device 1110 may be configured to implement specific instructions and / or functions corresponding to software and / or hardware modules. Therefore, for example, by using a computer-readable storage medium and / or hardware elements 1114 of a processing system, a module may be implemented as a module that can be executed by computing device 1110 as software, at least in part, in hardware. Instructions and / or functions may be executable / operable by one or more articles of manufacture (e.g., one or more computing devices 1110 and / or processing systems 1111) to implement the techniques, modules, and examples described herein.
[0095] In various embodiments, computing device 1110 can be implemented in a variety of different configurations. For example, computing device 1110 can be implemented as a computer-type device including a personal computer, a desktop computer, a multi-screen computer, a laptop computer, a netbook, etc. Computing device 1110 can also be implemented as a mobile device-type device including mobile devices such as mobile phones, portable music players, portable gaming devices, tablet computers, multi-screen computers, etc. Computing device 1110 can also be implemented as a television-type device, which includes devices having or connected to generally larger screens in casual viewing environments. These devices include televisions, set-top boxes, game consoles, etc.
[0096] The techniques described herein can be supported by these various configurations of computing device 1110 and are not limited to the specific examples of the techniques described herein. Functionality can also be implemented in whole or in part on the "cloud" 1120 using a distributed system, such as through platform 1122 as described below.
[0097] Cloud 1120 includes and / or represents a platform 1122 for resources 1124. Platform 1122 abstracts the underlying functionality of the hardware (e.g., servers) and software resources of cloud 1120. Resources 1124 may include applications and / or data that can be used when executing computer processing on servers remote from computing device 1110. Resources 1124 may also include services provided over the Internet and / or over a subscriber network such as a cellular or Wi-Fi network.
[0098] The platform 1122 can abstract resources and functionality to connect the computing device 1110 with other computing devices. The platform 1122 can also be used to abstract hierarchies of resources to provide a corresponding level of hierarchy in the demand encountered for resources 1124 implemented via the platform 1122. Thus, in an interconnected device embodiment, the implementation of the functionality described herein can be distributed throughout the system 1100. For example, functionality can be implemented partially on the computing device 1110 and through the platform 1122 that abstracts the functionality of the cloud 1120.
[0099] It should be understood that, for the sake of clarity, embodiments of the present disclosure have been described with reference to different functional units. However, it will be apparent that, without departing from the present disclosure, the functionality of each functional unit can be implemented in a single unit, in multiple units, or as a part of other functional units. For example, the functionality described as being performed by a single unit can be performed by multiple different units. Therefore, reference to a specific functional unit is only considered as a reference to the appropriate unit for providing the described functionality, rather than indicating a strict logical or physical structure or organization. Therefore, the present disclosure can be implemented in a single unit, or can be physically and functionally distributed between different units and circuits.
[0100] It will be understood that although the terms first, second, third, etc. may be used herein to describe various devices, elements, parts, or portions, these devices, elements, parts, or portions should not be limited by these terms. These terms are only used to distinguish one device, element, part, or portion from another device, element, part, or portion.
[0101] Although the present disclosure has been described in conjunction with some embodiments, it is not intended to be limited to the specific forms set forth herein. On the contrary, the scope of the present disclosure is limited only by the appended claims. Additionally, although individual features may be included in different claims, these may possibly be advantageously combined, and the inclusion in different claims does not imply that a combination of features is not feasible and / or advantageous. The order of the features in the claims does not imply any specific order in which the features must work. Furthermore, in the claims, the word "comprising" does not exclude other elements, and the word "a" or "an" does not exclude a plurality. The reference signs in the claims are provided merely as clear examples and should not be construed as limiting the scope of the claims in any way.
Claims
1. A method for order payment, implemented on a cloud application server, comprising: Obtaining a payment interface call request from a cloud payment client on a cloud application server, wherein the payment interface call request is used to request a call to a payment interface of a payment application client on a cloud application client side, so as to pay for an order in the cloud payment client; Sending the payment interface call request to the cloud application client, so as to call the payment interface of the payment application client to pay for the order; Obtaining, from the cloud application client, a payment result returned after calling the payment interface of the payment application client to pay for the order; The payment result information is returned to the cloud payment client so that the cloud payment client and the cloud payment server can verify the payment result, wherein the order is generated by the cloud payment server in response to the purchase request of the cloud payment client.
2. The method according to claim 1, wherein Sending the payment interface call request to the cloud application client includes: Determining whether the payment application client is available on the cloud application client side; In response to the payment application client being available on the cloud application client side, the payment interface call request is sent to the cloud application client.
3. The method according to claim 2, wherein: The payment application client is available on the cloud application client side, including one or more of the following: The payment application client exists on the cloud application client side; The cloud application client has the authority to call the payment interface of the payment application client.
4. The method according to claim 1, wherein Sending the payment interface call request to the cloud application client includes: Preprocessing the payment interface call request, wherein the preprocessing includes at least one of encryption and encapsulation; The pre-processed payment interface call request is sent to the cloud application client.
5. A method for order payment, implemented on a cloud application client, comprising: Obtaining a payment interface call request from the cloud application server, wherein the payment interface call request is used to request a call to a payment interface of a payment application client located on the cloud application client side, so as to pay for an order in the cloud payment client in the cloud application server; Confirm whether the payment interface call request is legal; In response to the payment interface call request being legitimate, calling the payment interface of the payment application client to pay for the order; Obtaining a payment result from the payment application client, where the payment result is a response from the payment application server corresponding to the payment application client to a payment request initiated by the payment application client when its payment interface is called to pay for the order; The payment result is sent to the cloud application server so that the cloud payment client and the cloud payment service end in the cloud application server verify the payment result, wherein the order is generated by the cloud payment service end in response to the purchase request of the cloud payment client.
6. The method according to claim 4, wherein: Confirm whether the payment interface call request is legal, including: In response to the current status data about the order matching the reserved status data on the cloud application client, it is confirmed that the payment interface call request is legal.
7. The method according to claim 6, wherein: The status data includes one or more of the provider of the order, the buyer to which the order is directed, and the payment authority for the order.
8. The method according to claim 6, wherein: The reserved state data is synchronized from the cloud application server to the cloud application client.
9. An order payment device, implemented on a cloud application server and comprising: a request acquisition module configured to acquire a payment interface call request from a cloud payment client on a cloud application server, wherein the payment interface call request is used to request a call to a payment interface of a payment application client on a cloud application client side, so as to pay for an order in the cloud payment client; a request sending module configured to send the payment interface call request to the cloud application client, so as to call the payment interface of the payment application client to pay for the order; A result acquisition module is configured to acquire, from the cloud application client, a payment result returned after calling the payment interface of the payment application client to pay for the order; The result returning module is configured to return the payment result information to the cloud payment client so that the cloud payment client and the cloud payment server can verify the payment result, wherein the order is generated by the cloud payment server in response to the purchase request of the cloud payment client.
10. An order payment device, which is implemented on a cloud application client and comprises: a request receiving module configured to receive a payment interface call request from the cloud application server, the payment interface call request being used to request a call to a payment interface of a payment application client located on the cloud application client side, so as to pay for an order in the cloud payment client in the cloud application server; A request confirmation module, configured to confirm whether the payment interface call request is legal; an interface calling module, configured to call a payment interface of a payment application client to pay for the order in response to a payment interface calling request being legitimate; a result receiving module configured to obtain a payment result from the payment application client, wherein the payment result is a response of the payment application server corresponding to the payment application client to a payment request initiated by the payment application client, wherein the payment request is initiated by the payment application client when its payment interface is called to pay for the order; The result sending module is configured to send the payment result to the cloud application server so that the cloud payment client and the cloud payment service end in the cloud application server can verify the payment result, wherein the order is generated by the cloud payment service end in response to the purchase request of the cloud payment client.
11. An order payment system, comprising a first order payment device and a second order payment device, wherein: The first order payment device comprises the order payment device according to claim 9, and The second order payment device includes the order payment device according to claim 10.
12. A computing device comprising a memory configured to store computer-executable instructions; A processor configured to perform the method according to any one of claims 1 to 8 when the computer executable instructions are executed by the processor.
13. A computer-readable storage medium storing computer-executable instructions, wherein when the computer-executable instructions are executed, the method according to any one of claims 1 to 8 is performed.
Citation Information
Patent Citations
Method, device and system for realizing electronic payment
CN109308614A