(19)
(11)EP 3 702 993 A1

(12)EUROPEAN PATENT APPLICATION
published in accordance with Art. 153(4) EPC

(43)Date of publication:
02.09.2020 Bulletin 2020/36

(21)Application number: 19766584.7

(22)Date of filing:  24.01.2019
(51)International Patent Classification (IPC): 
G06Q 20/40(2012.01)
(86)International application number:
PCT/CN2019/072976
(87)International publication number:
WO 2019/174411 (19.09.2019 Gazette  2019/38)
(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME
Designated Validation States:
KH MA MD TN

(30)Priority: 16.03.2018 CN 201810220318

(71)Applicant: ALIBABA GROUP HOLDING LIMITED
George Town, Grand Cayman (KY)

(72)Inventor:
  • ZHANG, Shiqi
    Hangzhou, Zhejiang 311121 (CN)

(74)Representative: Goddar, Heinz J. 
Boehmert & Boehmert Anwaltspartnerschaft mbB Pettenkoferstrasse 22
80336 München
80336 München (DE)

  


(54)PAYMENT METHOD, APPARATUS AND DEVICE


(57) Implementations of the present specification disclose a payment method, apparatus, and device. In the case of face-to-face payment, the location information and the payment information are sent to the server through the terminal device of the first user, and the server generates a corresponding payment password and returns the corresponding payment password to the first user. The first user then forwards the payment password (for example, verbally, or forwarding using communication software, etc.) to the second user, and the second user then uploads the location and payment password of the second user to the server. The server performs matching or querying within a certain range based on the location of the second user, to determine whether a same payment password exists. If the matching or query is successful, payment is made.




Description

CROSS-REFERENCE TO RELATED APPLICATIONS



[0001] This patent application claims priority to Chinese Patent Application No. 201810220318.9, filed on March 16, 2018, and entitled "PAYMENT METHOD, APPARATUS, AND DEVICE", which is incorporated here by reference in its entirety.

TECHNICAL FIELD



[0002] The present specification relates to the field of computer technologies and, in particular, to a payment method, apparatus, and device.

BACKGROUND



[0003] With the development of technologies, mobile payment becomes increasingly popular.

[0004] In the existing technology, when a user makes mobile payment in a place such as a supermarket or a convenience store, the user usually presents a digital object identifier (DOI), for example, a bar code, a two-dimensional code, etc. to the payee, and the payee scans the DOI, so that the related payment information is uploaded to a server to complete the payment.

[0005] Based on this, more other forms of payment schemes are needed to improve user experience.

SUMMARY



[0006] Implementations of the present specification provide a payment method, apparatus, and device, to provide more payment schemes and improve user experience.

[0007] Based on this, implementations of the present specification provide a payment method, including: obtaining, by a first client, identify information of a first user, payment information, and a first geographical location of a local terminal device; sending the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and receiving the payment password returned by the server.

[0008] In addition, implementations of the present specification further provide another payment method, including: receiving, by a second client, an operation instruction of the user, and obtaining a payment password, where the payment password is generated by a server and sent to a first client; obtaining identify information of a second user and a second geographical location of a local terminal device of the second user; and sending the identify information of the second user, the second geographic location, and the payment password to the server.

[0009] In addition, implementations of the present specification further provide still another payment method, including: receiving, by a server, identify information of a first user, first geographic location, and payment information that are sent by a first client; generating and storing a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information; sending the payment password to the first client; receiving identify information of a second user, a second geographic location, and the payment password that are sent by a second client; determining whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and in response to the predetermined criterion being met, obtaining identify information of a first user and the payment information corresponding to the payment password, and making payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0010] Correspondingly, implementations of the present specification further provide a payment apparatus, including: an acquisition module, configured to obtain, by a first client, identify information of a first user, payment information, and a first geographical location of a local terminal device; a sending module, configured to send the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and a receiving module, configured to receive the payment password returned by the server.

[0011] In addition, implementations of the present specification provide another payment apparatus, including: an instruction receiving module, configured to receive, by a second client, an operation instruction of the user, and obtain a payment password, where the payment password is generated by a server and sent to a first client; an acquisition module, configured to obtain identify information of a second user and a second geographical location of a local terminal device of the second user; and a sending module, configured to send the identify information of the second user, the second geographic location, and the payment password to the server.

[0012] In addition, implementations of the present specification further provide still another payment apparatus, including: a receiving module, configured to receive, by a server, identify information of a first user, first geographic location, and payment information that are sent by a first client; a generation module, configured to generate and store a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information; a storage module, configured to a correspondence between the first geographical location, the identify information of the first user, the payment information, and the payment password; a sending module, configured to send the payment password to the first client, where the receiving module is further configured to receive identify information of a second user, a second geographic location, and the payment password that are sent by a second client; a determining module, configured to determine whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and a payment module, configured to: in response to the predetermined criterion being met, obtain identify information of a first user and the payment information corresponding to the payment password, and make payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0013] Correspondingly, implementations of the present specification further provide a payment device, including: a memory, configured to store a payment program; and a processor, configured to invoke the payment program in the memory to perform the following operations: obtaining, by a first client, identify information of a first user, payment information, and a first geographical location of a local terminal device; sending the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and receiving the payment password returned by the server.

[0014] In addition, implementations of the present specification further provide another payment device, including: a memory, configured to store a payment program; and a processor, configured to invoke the payment program in the memory to perform the following operations: receiving, by a second client, an operation instruction of the user, and obtaining a payment password, where the payment password is generated by a server and sent to a first client; obtaining identify information of a second user and a second geographical location of a local terminal device of the second user; and sending the identify information of the second user, the second geographic location, and the payment password to the server.

[0015] In addition, implementations of the present specification further provide still another payment device, including: a memory, configured to store a payment program; and a processor, configured to invoke the payment program in the memory to perform the following operations: receiving, by a server, identify information of a first user, first geographic location, and payment information that are sent by a first client; generating and storing a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information; sending the payment password to the first client; receiving identify information of a second user, a second geographic location, and the payment password that are sent by a second client; determining whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and in response to the predetermined criterion being met, obtaining identify information of a first user and the payment information corresponding to the payment password, and making payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0016] Correspondingly, implementations of the present specification further provide a non-volatile computer storage medium, where the storage medium stores computer executable instructions that are used to: obtain, by a first client, identify information of a first user, payment information, and a first geographical location of a local terminal device; send the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and receive the payment password returned by the server.

[0017] In addition, implementations of the present specification further provide another non-volatile computer storage medium, where the storage medium stores computer executable instructions that are used to: receive, by a second client, an operation instruction of the user, and obtain a payment password, where the payment password is generated by a server and sent to a first client; obtain identify information of a second user and a second geographical location of a local terminal device of the second user; and send the identify information of the second user, the second geographic location, and the payment password to the server.

[0018] In addition, implementations of the present specification further provide still another non-volatile computer storage medium, where the storage medium stores computer executable instructions that are used to: receive, by a server, identify information of a first user, first geographic location, and payment information that are sent by a first client; generate and store a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information; send the payment password to the first client; receive identify information of a second user, a second geographic location, and the payment password that are sent by a second client; determine whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and in response to the predetermined criterion being met, obtain identify information of a first user and the payment information corresponding to the payment password, and make payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0019] At least one technical solution provided in the implementations of the present specification can achieve the following beneficial effects:

[0020] In the case of face-to-face payment, the location information and the payment information are sent to the server through the terminal device of the first user, and the server generates a corresponding payment password and returns the corresponding payment password to the first user. The first user then forwards the payment password (for example, verbally, or forwarding using communication software, etc.) to the second user, and the second user then uploads the location and payment password of the second user to the server. The server performs matching or querying within a certain range based on the location of the second user, to determine whether a same payment password exists. If the matching or query succeeds, payment is made. According to the above solution, a payment method different from a code scanning payment is provided, which enriches a user' choices in making a payment face-to-face, and improves user experience.

BRIEF DESCRIPTION OF DRAWINGS



[0021] 

FIG. 1 is a schematic diagram illustrating a system architecture according to an implementation of the present specification;

FIG. 2 is a schematic diagram illustrating a flowchart of a first client according to an implementation of the present specification;

FIG. 3 is a schematic diagram illustrating a flowchart of a second client according to an implementation of the present specification;

FIG. 4 is a schematic diagram illustrating a flowchart of a server according to an implementation of the present specification;

FIG. 5 is a schematic diagram illustrating execution of a three-way payment process according to an implementation of the present specification;

FIG. 6 is a schematic diagram illustrating an apparatus of a first client according to an implementation of the present specification;

FIG. 7 is a schematic diagram illustrating an apparatus of a second client according to an implementation of the present specification; and

FIG. 8 is a schematic diagram illustrating an apparatus of a server according to an implementation of the present specification.


DESCRIPTION OF IMPLEMENTATIONS



[0022] To make the objectives, technical solutions, and advantages of the present application clearer, the following clearly and comprehensively describes the technical solutions of the present application with reference to specific implementations of the present application and corresponding accompanying drawings. Clearly, the described implementations are only some rather than all of the implementations of the present application. All other implementations obtained by a person of ordinary skill in the art based on the implementations of the present application without creative efforts shall fall within the protection scope of the present application.

[0023] In the existing technology, when a transfer payment is made between a user and a merchant, the transfer payment is mainly performed as follows: 1. the user presents a two-dimensional payment code, and the merchant scans the code for receiving a payment; 2. the user scans the payment code held by the merchant for making a payment. In other words, the current mainstream offline face-to-face payment is basically based on code scanning, and the payment method is relatively monotonic.

[0024] Based on this, implementations of the present specification provide a geographical location-based payment method. The first user creates a payment password and communicates the payment password to the second user. The second user only needs to open the client and enter the payment password to complete the payment.

[0025] FIG. 1 is a schematic diagram illustrating a system architecture according to an implementation of the present specification. In the implementations of the present specification, the payment scheme can use an architecture shown in FIG. 1. In the architecture, the terminal device of a user can be an electronic device that can be used for mobile payment, such as a smartphone, a tablet computer, etc.

[0026] It worthwhile to note that, in the architecture, the first user and the second user are relatively concepts, that is, when the first user is a payer, the second user is a payee; or when the first user is a payee, the second user is a payer.

[0027] The following describes in detail the payment process provided in implementations of the present specification based on the architecture shown in FIG. 1. The process specifically includes three aspects: aspect of a first client, aspect of a second client, and aspect of a server. For the aspect of a first client, FIG. 2 is a schematic diagram illustrating a flowchart of a first client according to an implementation of the present specification, including:
S201. A first client obtains identity information of a first user, payment information, and a first geographical location of a local terminal device of the first user.

[0028] The identify information of the first user can be identity information such as a telephone number, a client login account, an ID card number, etc. Generally, when the first user logs in to a client, the identity information is automatically recorded or pre-stored in the local terminal device, and is directly extracted. The payment information can include information such as a payment amount, a payment time, an order number, etc., and can be obtained based on an instruction entered by the first user. The first geographical location can be provided by a positioning module included in the terminal device of the first user. For example, specific location information is provided in a positioning module of the Global Positioning System (GPS) that is included in a mobile device, or the location information is provided through positioning by a base station of a location based service (LBS), etc.

[0029] S203. Send the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password.

[0030] Payment passwords produced by the server can be in a variety of forms, including: a numeric string, for example, "123666"; a character string, for example, "alb2c$", and a natural language text, for example, "payment collection in a store", etc. Clearly, in practice, passwords are in various forms. Only a few relatively common forms of passwords are listed above. As long as the method of using the payment password is the same as that provided in the implementations of the present specification, the method falls within the protection scope of the present application, regardless of the form of the payment password.

[0031] S205. Receive the payment password returned by the server.

[0032] After the first client receives the payment password, offline face-to-face payment can be made. For example, the first user can directly forward the payment password, for example, verbally, or forwarding using communication software, to a second user of a second client. Therefore, for the aspect of the second client, in the payment process described in the implementation of the present specification, the following steps are specifically included. FIG. 3 is a schematic diagram illustrating a flowchart of a second client according to an implementation of the present specification, including:

S301. A second client receives an operation instruction of the second user, and obtains a payment password, where the payment password is generated by a server and sent to a first client. For example, the first user verbally conveys the payment password to the second user; and in this case, the operation instruction of the second user can be a manual input of the characters or numbers included in the payment password sequentially. For another example, after receiving the payment password, the first user forwards the payment password to the second user through the communication software, and in this case, the second user can perform operations such as copy/paste or clipping in the communication software to obtain the payment password and input the payment password to the second client.

S303. Obtain identity information of the second user and a second geographical location of a local terminal device of the second user.

S305. Send the identify information of the second user, the second geographic location, and the payment password to the server.



[0033] The forms and acquisition modes of the identify information of the second user and the second geographical location are the same as those of the identify information of the first user and the first geographical location. Details are omitted here for simplicity.

[0034] It is worthwhile to note that both the first client and the second client can automatically obtain the identity information of a user and the geographical location in the background without manual operation by the respective user, which improves the user experience. Manual operations are required only when the second user enters the payment password to complete the entire payment flow.

[0035] For the aspect of the server in the payment process described in the implementations of the present specification, the following steps are specifically included. FIG. 4 is a schematic diagram illustrating a flowchart of a server according to an implementation of the present specification, including:

S401. A server receives identify information of a first user, first geographic location, and payment information that are sent by a first client.

S403. Generate and store a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information.



[0036] The payment password can be generated based on the first geographic location, the identify information of the first user, and the payment information. Further, the payment password can be generated in a decodable way. Alternatively, the generated payment password can be independent of the first geographical location, the identify information of the first user, and the payment information in the generation process (for example, a payment password with a certain sequence number is given based on the generation time), but a correspondence between the payment password and the first geographical location, the identify information of the first user, and the payment information is established after the payment password is generated, for example, the correspondence between the payment password and the first geographical location, the identify information of the first user, and the payment information is established in the form of a key-value pair, the payment password being a key, and stored in the server for query.

[0037] S405. Send the payment password to the first client.

[0038] S407. Receive identify information of a second user, a second geographic location, and the payment password that are sent by a second client.

[0039] S409. Determine whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion.

[0040] Here, the predetermined criterion can be that the first geographical location and the second geographical location corresponding to the same payment password are within a certain distance range; or the second geographical location can be taken as a center point, and whether the server side has stored the same payment password is queried or matched within a specified range around the center point. The specific approach of determining the criteria may depend on the way in which the payment password is generated.

[0041] S411. In response to the predetermined criterion being met, obtaining identify information of a first user and the payment information corresponding to the payment password, and making payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0042] It is worthwhile to note that the payment can be a collection or a payment, which can be implemented using predetermined service logic.

[0043] According to the solution described in this implementation of the present specification, during face-to-face payment, the terminal device of the first user identifies the location of the first user, and then sends location information and the payment information to the server; and the server generates a corresponding payment password and returns the corresponding payment password to the first user. Then, the first user forwards the payment password to the second user (for example, verbal communication, or forwarding using communication software, etc.), and the second user uploads his own location and the payment password to the server, and then the server matches or queries whether the same payment password relates to a user located within a certain range around the location of the second user. If the matching or query is successful, payment is made. According to the above solution, a payment method different from a code scanning payment is provided, which enriches a user's choices in making a payment face-to-face, and improves user experience.

[0044] As a specific implementation, the payment passwords of the first client, the second client, and the server in the above solution can be in a form of a numeric string, a character string, or a natural language text.

[0045] In practice, the determining whether the first geographical location, the second geographical location, and the payment password meet the predetermined criterion in S409 can be implemented as follows: querying whether there is a matching payment password within a specified distance range around the second geographical location.

[0046] For example, for GPS information uploaded by the first user, the server labels its location as A, generates a payment instruction 1234666, establishes a correspondence (A, 1234666), and stores the correspondence; then, the GPS information (labeled B) and the payment password 1234666 uploaded by the second user are received, and then other geographical locations within the range of L meters with B as the center are obtained, and whether the obtained geographical locations have the corresponding payment password 1234666 are queried; and finally, A is obtained.

[0047] As a specific implementation, the generating and storing the payment password corresponding to the first geographical location, the identify information of the first user, and the payment information in S403 can be implemented as follows: generating the payment password including the first geographical location, the identify information of the first user, and the payment information using the first geographical location, the identify information of the first user, and the payment information as a password seed.

[0048] For example, the payment password = genCode (the identify information of the first user, the first geographical location, the payment information, an offset), where the offset can be a random factor such as a system time, to improve security. In this process, if the payment password is generated using a reversely decodable algorithm, the payment password can further include the corresponding identify information of a first user, first geographical location, and payment information. Therefore, in this implementation, the determining whether the first geographical location, the second geographical location, and the payment password meet the predetermined criterion in S409 can be implemented as follows: decoding the payment password, obtaining the first geographical location included in the payment password, and determining whether the first geographical location obtained through the decoding and the second geographical location are within a specified distance range.

[0049] The following describes actual processing in the present specification in practice based on an example in which a first user is a payee and a second user is a payer. FIG. 5 is a schematic diagram illustrating execution of a three-way payment process according to an implementation of the present specification, including:

S501. A payee locally obtains payee information, payment information, and GPS information A.

S503. Upload the payee information, payment information, and GPS information A to the server.

S505. The server generates a payment password, and establishes and stores a correspondence between the payment password and the GPS information A.

S507. Send the payment password to the payee.

S509. The payee communicates the payment password to the payer.

S511. The payer uploads the payment password, payer information, and GPS information B.

S513. The server queries the payment password by taking B as a center and L as a radius.

S515. The query succeeds, and payment user information and the payment information corresponding to the payment password are obtained, and then payment is made.



[0050] In the above process, alternatively, the payment can be made by the first user, and the payment can be received by the second user, provided that the identity information of the corresponding payment is correspondingly converted. The overall process is the same as the above process. As such, more payment methods are provided to the user, which enriches user's choices and improves user experience.

[0051] Based on the same idea, implementations of the present specification further provide a payment apparatus. FIG. 6 is a schematic diagram illustrating an apparatus of a first client according to this implementation of the present specification. As shown in FIG. 6, the apparatus includes: an acquisition module 601, configured to obtain, by a first client, identify information of a first user, payment information, and a first geographical location of a local terminal device; a sending module 603, configured to send the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and a receiving module 605, configured to receive the payment password returned by the server.

[0052] In addition, implementations of the present specification further provide another payment apparatus. FIG. 7 is a schematic diagram illustrating an apparatus of a second client according to this implementation of the present specification. As shown in FIG. 7, the apparatus includes: an instruction receiving module 701, configured to receive, by a second client, an operation instruction of the user, and obtain a payment password, where the payment password is generated by a server and sent to a first client; an acquisition module 703, configured to obtain identify information of a second user and a second geographical location of a local terminal device of the second user; and a sending module 705, configured to send the identify information of the second user, the second geographic location, and the payment password to the server.

[0053] In addition, implementations of the present specification further provide still another payment apparatus. FIG. 8 is a schematic diagram illustrating an apparatus of a server according to this implementation of the present specification. As shown in FIG. 8, the apparatus includes: a receiving module 801, configured to receive, by a server, identify information of a first user, first geographic location, and payment information that are sent by a first client; a generation module 803, configured to generate and store a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information; a storage module 805, configured to a correspondence between the first geographical location, the identify information of the first user, the payment information, and the payment password; a sending module 807, configured to send the payment password to the first client, where the receiving module 801 is further configured to receive identify information of a second user, a second geographic location, and the payment password that are sent by a second client; a determining module 809, configured to determine whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and a payment module 811, configured to: in response to the predetermined criterion being met, obtain identify information of a first user and the payment information corresponding to the payment password, and make payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0054] Further, the payment password includes a numeric string, a character string, or a natural language text.

[0055] Further, the determining module 809 is configured to query whether there is a matching payment password within a specified distance range around the second geographical location.

[0056] Further, the generation module 803 is configured to generate the payment password including the first geographical location, the identify information of the first user, and the payment information using the first geographical location, the identify information of the first user, and the payment information as a password seed; and the determining module 809 is configured to decode the payment password, obtain the first geographical location included in the payment password, and determine whether the first geographical location obtained through the decoding and the second geographical location are within a specified distance range.

[0057] Correspondingly, implementations of the present specification further provide a payment device, including: a memory, configured to store a payment program; and a processor, configured to invoke the payment program in the memory to perform the following operations: obtaining, by a first client, identify information of a first user, payment information, and a first geographical location of a local terminal device; send the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and receive the payment password returned by the server.

[0058] In addition, implementations of the present specification further provide another payment device, including: a memory, configured to store a payment program; and a processor, configured to invoke the payment program in the memory to perform the following operations: receiving, by a second client, an operation instruction of the user, and obtaining a payment password, where the payment password is generated by a server and sent to a first client; obtaining identify information of a second user and a second geographical location of a local terminal device of the second user; and sending the identify information of the second user, the second geographic location, and the payment password to the server.

[0059] In addition, implementations of the present specification further provide still another payment device, including: a memory, configured to store a payment program; and a processor, configured to invoke the payment program in the memory to perform the following operations: receiving, by a server, identify information of a first user, first geographic location, and payment information that are sent by a first client; generate and store a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information; send the payment password to the first client; receive identify information of a second user, a second geographic location, and the payment password that are sent by a second client; determine whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and in response to the predetermined criterion being met, obtain identify information of a first user and the payment information corresponding to the payment password, and make payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0060] Based on the same idea, implementations of the present specification further provide a non-volatile computer storage medium, where the storage medium stores computer executable instructions that are used to: obtain, by a first client, identify information of a first user, payment information, and a first geographical location of a local terminal device; send the identify information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and receive the payment password returned by the server.

[0061] In addition, implementations of the present specification further provide another non-volatile computer storage medium, where the storage medium stores computer executable instructions that are used to: receive, by a second client, an operation instruction of the user, and obtain a payment password, where the payment password is generated by a server and sent to a first client; obtain identify information of a second user and a second geographical location of a local terminal device of the second user; and send the identify information of the second user, the second geographic location, and the payment password to the server.

[0062] In addition, implementations of the present specification further provide another non-volatile computer storage medium, where the storage medium stores computer executable instructions that are used to: receive, by a server, identify information of a first user, first geographic location, and payment information that are sent by a first client; generate and store a payment password corresponding to the first geographical location, the identify information of the first user, and the payment information; send the payment password to the first client; receive identify information of a second user, a second geographic location, and the payment password that are sent by a second client; determine whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and in response to the predetermined criterion being met, obtain identify information of a first user and the payment information corresponding to the payment password, and make payment by linking the identify information of the first user, the payment information corresponding to the payment password, and the received identify information of the second user.

[0063] The implementations of the present specification are described in a progressive way. For same or similar parts of the implementations, mutual references can be made to the implementations. Each implementation focuses on a difference from the other implementations. Particularly, apparatus, device, and medium implementations are basically similar to a method implementation, and therefore are described briefly. For related parts, references can be made to related descriptions in the method implementation. Details are omitted here for simplicity.

[0064] Specific implementations of the present specification are described above. Other implementations fall within the scope of the appended claims. In some situations, the actions or steps described in the claims can be performed in an order different from the order in the implementation and the desired results can still be achieved. In addition, the process depicted in the accompanying drawings does not necessarily require a particular execution order to achieve the desired results. In some implementations, multi-tasking and parallel processing can be advantageous.

[0065] In the 1990s, whether technology improvement was a hardware improvement (for example, improvement of a circuit structure, such as a diode, a transistor, or a switch) or a software improvement (improvement of a method procedure) could be clearly distinguished. However, as technologies develop, the current improvement for many method procedures can be considered as a direct improvement of a hardware circuit structure. A designer usually programs an improved method procedure to a hardware circuit, to obtain a corresponding hardware circuit structure. Therefore, a method procedure can be improved using a hardware entity module. For example, a programmable logic device (PLD) (for example, a field programmable gate array (FPGA)) is such an integrated circuit, and a logical function of the programmable logic device is determined by a user through device programming. The designer performs programming to "integrate" a digital system to a PLD without requesting a chip manufacturer to design and produce an application-specific integrated circuit chip. In addition, at present, instead of manually manufacturing an integrated chip, this type of programming is mostly implemented using "logic compiler" software. The programming is similar to a software compiler used to develop and write a program. Original code needs to be written in a particular programming language for compilation. The language is referred to as a hardware description language (HDL). There are many HDLs, such as the Advanced Boolean Expression Language (ABEL), the Altera Hardware Description Language (AHDL), Confluence, the Cornell University Programming Language (CUPL), HDCal, the Java Hardware Description Language (JHDL), Lava, Lola, MyHDL, PALASM, and the Ruby Hardware Description Language (RHDL). The very-high-speed integrated circuit hardware description language (VHDL) and Verilog are most commonly used. A person skilled in the art should also understand that a hardware circuit that implements a logical method procedure can be readily obtained once the method procedure is logically programmed using the several described hardware description languages and is programmed into an integrated circuit.

[0066] A controller can be implemented using any appropriate method. For example, the controller can be a microprocessor or a processor, or a computer-readable medium that stores computer readable program code (such as software or firmware) that can be executed by the microprocessor or the processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, or a built-in microprocessor. Examples of the controller include but are not limited to the following microprocessors: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as a part of the control logic of the memory. A person skilled in the art also knows that, in addition to implementing the controller using the computer readable program code, logic programming can be performed on method steps to allow the controller to implement the same function in forms of the logic gate, the switch, the application-specific integrated circuit, the programmable logic controller, and the built-in microcontroller. Therefore, the controller can be considered as a hardware component, and a device configured to implement various functions in the controller can also be considered as a structure in the hardware component. Alternatively, the device configured to implement various functions can even be considered as both a software module implementing the method and a structure in the hardware component.

[0067] The system, device, module, or unit illustrated in the previous implementations can be implemented using a computer chip or an entity, or can be implemented using a product having a certain function. A typical implementation device is a computer. A specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, an intelligent phone, a personal digital assistant, a media player, a navigation device, an email transceiver device, a game console, a tablet computer, a wearable device, or any combination thereof.

[0068] For convenience of description, the above devices are described separately in terms of their functions. Certainly, functions of the units can be implemented in the same or different software or hardware when the present specification is implemented.

[0069] A person skilled in the art should understand that the implementations of the present specification can be provided as methods, systems, or computer program products. Therefore, the present specification can take a form of complete hardware implementations, complete software implementations, or implementations combining software and hardware. Further, the present specification can take a form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, and optical storage) containing computer-usable program code.

[0070] The present specification is described with reference to the flowcharts and/or block diagrams of the method, the device (system), and the computer program product according to the implementations of the present specification. It is worthwhile to note that computer program instructions can be used to implement each process and/or each block in the flowcharts and/or the block diagrams and a combination of a process and/or a block in the flowcharts and/or the block diagrams. These computer program instructions can be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of another programmable data processing device to generate a machine, so the instructions executed by the computer or the processor of the another programmable data processing device generate a device for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.

[0071] These computer program instructions can be stored in a computer readable memory that can instruct the computer or the another programmable data processing device to work in a specific way, so the instructions stored in the computer readable memory generate an artifact that includes an instruction device. The instruction device implements a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.

[0072] These computer program instructions can be loaded onto the computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, thereby generating computer-implemented processing. Therefore, the instructions executed on the computer or the other programmable device provide steps for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.

[0073] In a typical configuration, a computing device includes one or more processors (CPUs), an input/output interface, a network interface, and a memory.

[0074] The memory can include a non-persistent memory, a random access memory (RAM), a non-volatile memory, and/or another form that are in a computer readable medium, for example, a read-only memory (ROM) or a flash memory (flash RAM). The memory is an example of the computer readable medium.

[0075] The computer readable medium includes persistent, non-persistent, movable, and unmovable media that can store information using any method or technology. The information can be a computer readable instruction, a data structure, a program module, or other data. Examples of the computer storage medium include but are not limited to a phase change random access memory (PRAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), another type of RAM, a ROM, an electrically erasable programmable read-only memory (EEPROM), a flash memory or another memory technology, a compact disc read-only memory (CD-ROM), a digital versatile disc (DVD) or another optical storage, a cassette magnetic tape, a magnetic tape/magnetic disk storage, another magnetic storage device, or any other non-transmission medium. The computer storage medium can be used to store information accessible by a computing device. Based on the definition in the present specification, the computer readable medium does not include transitory media such as a modulated data signal and carrier.

[0076] It is also worthwhile to note that terms "include", "include" or any other variant is intended to cover non-exclusive inclusion, so that processes, methods, commodities or devices that include a series of elements include not only those elements but also other elements that are not explicitly listed, or elements inherent in such processes, methods, commodities or devices. An element described by "includes a ..." further includes, without more constraints, another identical element in the process, method, product, or device that includes the element.

[0077] A person skilled in the art should understand that one or more implementations of the present specification can be provided as a method, a system, or a computer program product. Therefore, the implementations of the present specification can take a form of hardware implementations, software implementations, or both. Further, the implementations of the present specification can take a form of computer program products implemented on one or more computer-usable storage media (including but not limited to a disk storage device, CD-ROM, and an optical storage device) containing computer-usable program code.

[0078] The implementations of the present specification can be described in the general context of computer executable instructions executed by a computer, for example, a program module. Generally, the program module includes a routine, a program, an object, a component, a data structure, etc. executing a specific task or implementing a specific abstract data type. The implementations of the present specification can also be practiced in distributed computing environments. In the distributed computing environments, tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, the program module can be located in both local and remote computer storage media including storage devices.


Claims

1. A payment method, comprising:

obtaining, by a first client, identification information of a first user, payment information, and a first geographical location of a local terminal device;

sending the identification information of the first user, the payment information, and the first geographic location to a server for the server to generate a payment password; and

receiving the payment password returned by the server.


 
2. A payment method, comprising:

receiving, by a second client, an operation instruction of a user and obtaining a payment password, wherein the payment password is generated by a server and sent to a first client;

obtaining identification information of a second user and a second geographical location of a local terminal device of the second user; and

sending the identification information of the second user, the second geographic location, and the payment password to the server.


 
3. A payment method, comprising:

receiving, by a server, identification information of a first user, a first geographic location, and payment information that is sent by a first client;

generating and storing a payment password corresponding to the first geographical location, the identification information of the first user, and the payment information;

sending the payment password to the first client;

receiving identification information of a second user, a second geographic location, and a payment password that are sent by a second client;

determining whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and

in response to the predetermined criterion being met, obtaining identification information of a first user and the payment information corresponding to the payment password, and making payment by linking the identification information of the first user, the payment information corresponding to the payment password, and the received identification information of the second user.


 
4. The method according to claim 3, wherein the payment password comprises a numeric string, a character string, or a natural language text.
 
5. The method according to claim 3, wherein the determining whether the first geographical location, the second geographical location, and the payment password meet the predetermined criterion comprises:
querying whether there is a matching payment password within a specified distance range from the second geographical location.
 
6. The method according to claim 3, wherein the generating the payment password corresponding to the first geographical location, the identification information of the first user, and the payment information comprises:

generating the payment password comprising the first geographical location, the identification information of the first user, and the payment information by using the first geographical location, the identification information of the first user, and the payment information as a password seed; and

wherein the determining whether the first geographical location, the second geographical location, and the payment password meet the predetermined criterion comprises:

decoding the payment password,

obtaining the first geographical location comprised in the payment password, and

determining whether the first geographical location obtained through the decoding and the second geographical location are within a specified distance range.


 
7. A payment apparatus, comprising:

an acquisition module, configured to obtain, by a first client, identification information of a first user, payment information, and a first geographical location of a local terminal device;

a sending module, configured to send the identification information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and

a receiving module, configured to receive the payment password returned by the server.


 
8. A payment apparatus, comprising:

an instruction receiving module, configured to receive, by a second client, an operation instruction of a user, and obtain a payment password, wherein the payment password is generated by a server and sent to a first client;

an acquisition module, configured to obtain identification information of a second user and a second geographical location of a local terminal device of the second user; and

a sending module, configured to send the identification information of the second user, the second geographic location, and the payment password to the server.


 
9. A payment apparatus, comprising:

a receiving module, configured to receive, by a server, identification information of a first user, first geographic location, and payment information that are sent by a first client;

a generation module, configured to generate and store a payment password corresponding to the first geographical location, the identification information of the first user, and the payment information;

a storage module, configured to store a correspondence between the first geographical location, the identification information of the first user, the payment information, and the payment password;

a sending module, configured to send the payment password to the first client;

wherein the receiving module is further configured to receive identification information of a second user, a second geographic location, and the payment password that are sent by a second client;

a determining module, configured to determine whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and

a payment module, configured to, in response to the predetermined criterion being met, obtain identification information of a first user and the payment information corresponding to the payment password, and make payment by linking the identification information of the first user, the payment information corresponding to the payment password, and the received identification information of the second user.


 
10. The apparatus according to claim 9, wherein the payment password comprises a numeric string, a character string, or a natural language text.
 
11. The apparatus according to claim 9, wherein the determining module is configured to query whether there is a matching payment password within a specified distance range from the second geographical location.
 
12. The apparatus according to claim 9, wherein the generation module is configured to generate the payment password comprising the first geographical location, the identification information of the first user, and the payment information using the first geographical location, the identification information of the first user, and the payment information as a password seed; and the determining module is configured to decode the payment password, obtain the first geographical location comprised in the payment password, and determine whether the first geographical location obtained through the decoding and the second geographical location are within a specified distance range.
 
13. A payment device, comprising:

a memory, configured to store a payment program; and

a processor, configured to invoke the payment program in the memory to perform the following operations:

obtaining, by a first client, identification information of a first user, payment information, and a first geographical location of a local terminal device;

sending the identification information of the first user, the payment information, and the first geographic location to a server, for the server to generate a payment password; and

receiving the payment password returned by the server.


 
14. A payment device, comprising:

a memory, configured to store a payment program; and

a processor, configured to invoke the payment program in the memory to perform the following operations:

receiving, by a second client, an operation instruction of a user, and obtaining a payment password, wherein the payment password is generated by a server and sent to a first client;

obtaining identification information of a second user and a second geographical location of a local terminal device of the second user; and

sending the identification information of the second user, the second geographic location, and the payment password to the server.


 
15. A payment device, comprising:

a memory, configured to store a payment program; and

a processor, configured to invoke the payment program in the memory to perform the following operations:

receiving, by a server, identification information of a first user, first geographic location, and payment information that are sent by a first client;

generating and storing a payment password corresponding to the first geographical location, the identification information of the first user, and the payment information;

sending the payment password to the first client;

receiving identification information of a second user, a second geographic location, and the payment password that are sent by a second client;

determining whether the first geographical location, the second geographical location, and the payment password meet a predetermined criterion; and

in response to the predetermined criterion being met, obtaining identification information of a first user and the payment information corresponding to the payment password, and making payment by linking the identification information of the first user, the payment information corresponding to the payment password, and the received identification information of the second user.


 




Drawing
















Search report










Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description