A non-tax fund clearing method and system based on palm silver code scanning authentication
By combining mobile banking QR code authentication with a token mechanism based on the asymmetric SM2 encryption algorithm, the problem of low security in campus non-tax fund settlement has been solved, enabling secure, timely, and accurate online settlement of non-tax funds and improving the convenience and security of fund collection.
Patent Information
- Application Number
- CN202411716951.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2044-11-27
AI Technical Summary
Traditional campus non-tax fund settlement methods suffer from low security and inability to settle in a timely and accurate manner. Especially in the online payment environment, it is difficult to remit non-tax fees to the finance department safely, timely, in full, and accurately.
The system employs a token mechanism that combines mobile banking QR code authentication with the asymmetric SM2 encryption algorithm. It generates and encrypts authorization QR codes and random tokens through the client terminal. After the mobile terminal scans the QR code for authentication, non-tax funds are cleared, ensuring the consistency of user identity. The system also maintains request records on the server side to prevent token replay attacks.
It improves the security and convenience of non-tax fund settlement, prevents token leakage and replay attacks, supports integrated online collection and settlement of non-tax funds, and ensures the accuracy of fund flow and information flow.
Smart Images

Figure CN119648437B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computers, in particular to a non-tax fund clearing method and system based on palm-silver code scanning authentication. BACKGROUND
[0002] With the continuous reform of electronic financial bills, traditional offline non-tax payment in campus is gradually replaced by online payment, resulting in problems such as the management vacuum of non-tax business in campus and the obstruction of non-tax fee collection, which makes it difficult for schools to safely submit non-tax fees to the finance. SUMMARY
[0003] The present application provides a non-tax fund clearing method and system based on palm-silver code scanning authentication, which uses palm-silver code scanning authentication to improve the security of non-tax fund clearing operation by users. The technical solution is as follows.
[0004] In the first aspect, a non-tax fund clearing method based on palm-silver code scanning authentication is provided, which includes:
[0005] In the non-tax payment scenario in campus, the client terminal collects the non-tax fees of the finance to a special account, and sends a two-dimensional code acquisition request to the server, the two-dimensional code acquisition request including a first user identifier, the first user identifier being used to identify the user to which the client terminal belongs;
[0006] The server receives the two-dimensional code acquisition request sent by the client terminal, generates an authorized two-dimensional code and a random token corresponding to the authorized two-dimensional code, and sends the authorized two-dimensional code and the random token to the client terminal;
[0007] The client terminal displays the authorized two-dimensional code and encrypts the random token to obtain an encrypted token. The client terminal periodically sends a two-dimensional code state query request to the server, the two-dimensional code state query request carrying the encrypted token, and the two-dimensional code state query request being used to query the state of the authorized two-dimensional code;
[0008] The server receives the two-dimensional code state query request, verifies the encrypted token to obtain an authentication result, and if the authentication result is authentication success, the server sends the state of the authorized two-dimensional code to the client terminal;
[0009] When the mobile terminal is in a login state at the palm-silver application, the mobile terminal scans the authorized two-dimensional code displayed on the client terminal through the palm-silver application, and sends a palm-silver session identifier and an identifier of the authorized two-dimensional code to the server, the palm-silver session identifier being used to identify the session between the palm-silver application and the server;
[0010] The service end receives the palm silver session identifier and the identifier of the authorization two-dimensional code sent by the mobile terminal, and obtains a second user identifier based on the palm silver session identifier, the second user identifier being used to identify a user who logs in the palm silver application;
[0011] The service end checks whether the second user identifier is consistent with the first user identifier, and if the second user identifier is consistent with the first user identifier, the service end notifies the mobile terminal of the authentication result, and the mobile terminal receives the authentication result sent by the service end and sends a confirmation operation command to the service end;
[0012] The service end receives the confirmation operation command sent by the mobile terminal and performs legality verification on the confirmation operation command, and after the confirmation operation command passes the legality verification, the service end performs a non-tax fund clearing operation.
[0013] In some embodiments, the encryption of the random token comprises:
[0014] The client terminal splices a random string with a fixed length and no repetition after the random token;
[0015] The client terminal encrypts the random token after splicing the random string;
[0016] The authentication result is obtained by checking the encrypted token, comprising:
[0017] The service end decrypts the encrypted token;
[0018] If the decryption fails or the random string obtained by the decryption already exists in the request record, the service end determines that the authentication result is authentication failure, and the request record comprises a random string obtained by decrypting the encrypted token from the client terminal in a historical code scanning authentication process.
[0019] In some embodiments, the client terminal encrypts the random token after splicing the random string, comprising:
[0020] The client terminal uses an asymmetric SM2 encryption algorithm to encrypt the random token after splicing the random string using a public key;
[0021] The service end decrypts the encrypted token, comprising:
[0022] The service end uses an asymmetric SM2 encryption algorithm to decrypt the encrypted token using a private key.
[0023] In some embodiments, the server performs a non-tax fund clearing operation, including:
[0024] The client terminal receives a non-tax payment voucher input by a user and sends the non-tax payment voucher to the server;
[0025] The server queries the payment amount corresponding to the non-tax payment voucher;
[0026] The server compares the payment amount corresponding to the non-tax payment voucher with the balance of the special account;
[0027] If the balance of the special account is greater than or equal to the payment amount corresponding to the non-tax payment voucher, the server provides a two-dimensional code to the client terminal, and the mobile terminal scans the two-dimensional code provided by the client terminal to perform a confirmation clearing operation;
[0028] If the balance of the special account is less than the payment amount corresponding to the non-tax payment voucher, the server sends an error prompt message to the client terminal.
[0029] In some embodiments, the non-tax payment voucher includes a first non-tax payment voucher and a second non-tax payment voucher, and the execution of the confirmation clearing operation includes:
[0030] Performing a first batch of non-tax clearing operations for the first non-tax payment voucher;
[0031] Performing a second batch of non-tax clearing operations for the second non-tax payment voucher.
[0032] In some embodiments, before the server provides the two-dimensional code to the client terminal, the method further includes:
[0033] The client terminal receives a bill to be cleared selected by a user and sends the selected bill to the server;
[0034] The server determines that the payment amount corresponding to the non-tax payment voucher is consistent with the amount of the selected bill.
[0035] In a second aspect, a non-tax fund clearing system based on palm silver code scanning authentication is provided, including a client terminal, a server, and a mobile terminal;
[0036] The client terminal is configured to, in a campus non-tax payment scenario, collect fiscal non-tax fees into a special account and send a two-dimensional code acquisition request to the server, the two-dimensional code acquisition request including a first user identifier, the first user identifier being used to identify a user to which the client terminal belongs.
[0037] The server is configured to receive a two-dimensional code obtaining request sent by the client terminal, generate an authorized two-dimensional code and a random token corresponding to the authorized two-dimensional code, send the authorized two-dimensional code and the random token to the client terminal, and receive a two-dimensional code state query request sent by the client terminal periodically.
[0038] The client terminal is further configured to display the authorized two-dimensional code, encrypt the random token to obtain an encrypted token, and send the two-dimensional code state query request to the server periodically, wherein the two-dimensional code state query request carries the encrypted token, and the two-dimensional code state query request is used to query the state of the authorized two-dimensional code.
[0039] The server is further configured to receive the two-dimensional code state query request, check the encrypted token to obtain an authentication result, and send the state of the authorized two-dimensional code to the client terminal if the authentication result is successful.
[0040] The mobile terminal is configured to scan the authorized two-dimensional code displayed on the client terminal through the palm bank application when the palm bank application is in a login state, send a palm bank session identifier and an identifier of the authorized two-dimensional code to the server, and use the palm bank session identifier to identify a session between the palm bank application and the server.
[0041] The server is further configured to receive the palm bank session identifier and the identifier of the authorized two-dimensional code sent by the mobile terminal, query a second user identifier based on the palm bank session identifier, use the second user identifier to identify a user who logs in the palm bank application, check whether the second user identifier is consistent with the first user identifier, and notify the mobile terminal of the authentication result if the second user identifier is consistent with the first user identifier.
[0042] The mobile terminal is further configured to receive the authentication result sent by the server and send a confirmation operation command to the server.
[0043] The server is further configured to receive the confirmation operation command sent by the mobile terminal, perform legality verification on the confirmation operation command, and perform a non-tax fund clearing operation after the confirmation operation command passes the legality verification.
[0044] In some embodiments, the client terminal is configured to concatenate a random string with a fixed length and no repetition after the random token, and encrypt the random token after the random string is concatenated.
[0045] The server is configured to decrypt the encrypted token, and if the decryption fails or the decrypted random string already exists in a request record, determine that the authentication result is authentication failure, wherein the request record includes a random string obtained by decrypting the encrypted token from the client terminal in a historical code scanning authentication process.
[0046] In some embodiments, the client terminal is configured to encrypt the random token after splicing the random string by using a public key based on an asymmetric SM2 encryption algorithm; and the server is configured to decrypt the encrypted token by using a private key based on the asymmetric SM2 encryption algorithm.
[0047] In some embodiments, the client terminal is configured to receive a non-tax payment voucher input by a user, and send the non-tax payment voucher to the server.
[0048] The server is configured to query a payment amount corresponding to the non-tax payment voucher, compare the payment amount corresponding to the non-tax payment voucher with a balance of the special account, and if the balance of the special account is greater than or equal to the payment amount corresponding to the non-tax payment voucher, provide a two-dimensional code to the client terminal.
[0049] The mobile terminal is configured to scan the two-dimensional code provided by the client terminal, and perform a confirmation clearing operation.
[0050] The server is further configured to send an error prompt to the client terminal if the balance of the special account is less than the payment amount corresponding to the non-tax payment voucher.
[0051] In some embodiments, the non-tax payment voucher includes a first non-tax payment voucher and a second non-tax payment voucher, the mobile terminal is configured to perform a first batch of non-tax clearing operations for the first non-tax payment voucher, and perform a second batch of non-tax clearing operations for the second non-tax payment voucher.
[0052] In some embodiments, the client terminal is further configured to receive a bill to be cleared checked by a user, and send the checked bill to the server; and the server is further configured to determine that the payment amount corresponding to the non-tax payment voucher is consistent with an amount of the checked bill.
[0053] Therefore, the embodiments of the present application have the following beneficial effects:
[0054] The application embodiment improves the use security by adopting the palm silver code scanning authentication mode. Specifically, if the short message verification code mode is adopted for verification, after the mobile terminal of the user is stolen, there is a risk that the stolen terminal is used to perform short message authentication to cause fund theft. Since the palm silver code scanning authentication is adopted, in the authentication process, the palm silver application login is forced to be performed in the step of sending the palm silver session identifier. If the palm silver application is not in the login state, the palm silver application is called to perform the login authentication. Therefore, even if the mobile terminal is stolen, the login authentication of the palm silver application cannot be passed, so that the use security is improved. BRIEF DESCRIPTION OF DRAWINGS
[0055] Figure 1 FIG. 1 is a flowchart of a palm silver code scanning authentication method provided by the application embodiment;
[0056] Figure 2 FIG. 2 is a schematic diagram of a non-tax fund clearing method provided by the application embodiment. DETAILED DESCRIPTION
[0057] In order to make the purpose, technical scheme and advantages of the application more clear, the application embodiment will be further described in detail below with reference to the drawings.
[0058] Some terms and concepts related to the application embodiment will be explained below.
[0059] Token: In computer networks and distributed systems, token usually refers to a kind of certificate of digital identity or access authorization, which can realize the authorization control of user access service.
[0060] Non-tax revenue: refers to various incomes obtained by state organs at all levels, institutions, social groups and other organizations in accordance with the law by using state power, government reputation, owner's equity of state-owned resources (assets) and the like.
[0061] Non-tax payment code: is an identification code for non-tax revenue payment, which is generated and coded by the Ministry of Finance in accordance with the "Electronic Payment General Interface Message Specification" and "Government Non-tax Revenue Payment Identification Code Specification", and is used to control and track each non-tax revenue collection business, to ensure fund safety and information accuracy.
[0062] Asymmetric encryption: also known as public key encryption, is an important encryption mechanism. The key is divided into public key and private key, and is composed of a pair of keys. Generally, the public key is used for encryption, and the private key is used for decryption.
[0063] Client: In computer networks or distributed systems, client usually refers to a process or application program that initiates a request. The client can be deployed on various user devices, such as PC, mobile phone, tablet, etc.
[0064] Server: The server is a process or application that provides computing resources, storage and service access, undertakes the core business logic of the system, and provides services for a large number of clients through standard interfaces.
[0065] The application scenarios of the embodiments of the present application are described below.
[0066] Traditional non-tax fund clearing adopts offline collection and offline clearing mode. Students carry cash to school to complete payment. After the fees are collected, the school clears the funds to the finance department through the counter or designated channel. With the development of mobile Internet, the popularity of online payment and the development of electronic finance, non-tax payment is gradually transferred from offline to online, but there are problems such as the vacuum of campus non-tax business management and the obstruction of non-tax fee collection, which cannot ensure the safe, timely, sufficient, accurate and convenient payment of non-tax fees to the finance department.
[0067] Non-tax payment code is an identification code issued by the finance department for non-tax income payment, which is used to control and track each non-tax income collection business, ensure fund safety and information accuracy; code scanning authentication can avoid direct input of sensitive information and enhance authorization security, but early code scanning login may face security threats such as repeated use of code scanning information and session hijacking. Token authentication mechanism can generate temporary random verification code to verify user identity and prevent login information from being reused.
[0068] There are two scenarios for non-tax fund collection in the campus scene at present.
[0069] Scenario 1. The finance department issues a non-tax payment code for each non-tax fee. Parents directly use the non-tax payment code to make payments through mobile terminals, and the funds directly enter the finance department without the need for clearing; the defect is that it is necessary to check the collection of non-tax fees from time to time to ensure that every parent receives a notification and completes the payment.
[0070] Scenario 2. The finance department entrusts the school to collect non-tax fees, and the school clears the funds to the finance department after collecting the non-tax funds; the disadvantage is that it must wait for all the funds to be collected before clearing, and it cannot clear part of the funds. At the same time, if online clearing is used, there is a risk of token leakage.
[0071] The embodiment of the application is directed to scenario 2, combines palm silver code scanning verification, token and non-tax payment code, and provides a non-tax fund clearing method based on palm silver code scanning authentication in a campus scenario. The method uses palm silver code scanning authentication, uses asymmetric encryption token for authentication, can avoid token leakage and prevent request replay, and ensures the safety of non-tax fund clearing; uses the non-tax payment book issued by the finance department for clearing, supports user confirmation of payment information and payment amount, supports checking the bill, and completes non-tax fund clearing according to the specified bill amount. The embodiment of the application supports the school to complete the integration of non-tax fund collection and clearing online, and the finance department can issue payment codes as needed, and the school can perform non-tax fund clearing in batches.
[0072] The basic technical solution of the embodiment of the application includes:
[0073] I. The finance department entrusts the school to issue bills to collect non-tax fees, and the parents complete bill payment.
[0074] II. The finance department issues a non-tax payment book.
[0075] III. The school inputs the non-tax payment book, selects the bill to be cleared, performs fund clearing through palm silver code scanning authentication.
[0076] The embodiment of the application completes the clearing of school non-tax fees by combining the Agricultural Bank palm silver code scanning authentication and non-tax payment book direct payment, improves the safety and convenience of fund clearing, and the specific steps of the embodiment of the application are as follows.
[0077] Please refer to the attached Figure 1 , the attached Figure 1 is a flowchart of a palm silver code scanning authentication method provided by the embodiment of the application, and the palm silver code scanning authentication method includes the following steps.
[0078] Step S110, the client terminal generates a two-dimensional code acquisition request, and the client terminal sends the two-dimensional code acquisition request to the server. The two-dimensional code acquisition request is used to request to acquire a unique two-dimensional code. The two-dimensional code acquisition request includes a first user identifier, and the first user identifier is used to identify the user to which the client terminal belongs.
[0079] Step S120, the server receives the two-dimensional code acquisition request sent by the client terminal.
[0080] Step S122, the server generates a unique identifier of an authorized two-dimensional code and a random token corresponding to the authorized two-dimensional code. The server sends the authorized two-dimensional code and the random token to the client terminal.
[0081] In addition, the server sets an expiration time of the authorization two-dimensional code and an initial state of the authorization two-dimensional code. The state of the authorization two-dimensional code includes an unauthenticated state, an authenticated state, and an expired state. When the server generates the authorization two-dimensional code, the server sets the initial state of the authorization two-dimensional code as the unauthenticated state.
[0082] In some embodiments, the server establishes a correspondence between the authorization two-dimensional code, the token, the state of the authorization two-dimensional code, and the user identifier.
[0083] In step S130, the client terminal receives the authorization two-dimensional code identifier and the token returned by the server. The client terminal generates the authorization two-dimensional code based on the authorization two-dimensional code identifier, and displays the authorization two-dimensional code for scanning by the mobile terminal Agricultural Bank of China application. Then, the client terminal periodically sends a two-dimensional code state query request to the server at a predetermined frequency, and the two-dimensional code state query request is used to query the state of the authorization two-dimensional code.
[0084] In order to improve the security of the entire process information transmission, in step S130, the client terminal encrypts the token returned by the server to obtain an encrypted token. The two-dimensional code state query request sent by the client terminal carries the encrypted token.
[0085] In some embodiments of encrypting the token, the client terminal concatenates a fixed-length and non-repeating random string after the token, and encrypts the token after concatenating the random string as a whole. In some embodiments of sending the token, the client terminal sends an authorization two-dimensional code state query request to the server, and the authorization two-dimensional code state query request carries the user identifier and the encrypted token.
[0086] In some embodiments, the encryption method adopted by the client terminal for the token is asymmetric SM2 encryption. For example, the client terminal uses the asymmetric SM2 encryption algorithm to encrypt the random token after concatenating the random string using the public key.
[0087] In step S140, the server receives the two-dimensional code state query request sent by the client terminal, and obtains the encrypted token carried in the two-dimensional code state query request. The server verifies the encrypted token to obtain an authentication result.
[0088] In some embodiments, the server decrypts the encrypted token. If the server fails to decrypt the token, the server determines that the two-dimensional code state query request of the client terminal is not legitimate, and determines that the authentication result of the client terminal is authentication failure. If the server succeeds in decrypting the token, the server determines that the two-dimensional code state query request of the client terminal is legitimate, and the server queries the state of the authorized two-dimensional code of the client terminal. If the state of the authorized two-dimensional code is not authenticated, the server sends a new token to the client terminal.
[0089] In some embodiments of decrypting the token, the above-mentioned authorized two-dimensional code state query request also carries a user identifier. The server queries the pre-established correspondence between the authorized two-dimensional code ID, the token, the authorized two-dimensional code state and the user identifier based on the user identifier, to obtain the token and the authorized two-dimensional code state corresponding to the user identifier. The server decrypts the encrypted token carried in the authorized two-dimensional code state query request, and compares the decrypted token with the token obtained by querying. If the decrypted token is inconsistent with the token obtained by querying, the server determines that the token decryption fails. If the decrypted token is consistent with the token obtained by querying, the server determines that the token decryption succeeds.
[0090] In some embodiments, the server maintains a request record for the token. The request record includes the random string obtained by the server decrypting the encrypted token from the client terminal in the historical code scanning authentication process. In the case of successful token decryption, the server determines whether the decrypted random string exists in the request record. If the decrypted random string exists in the request record, the server determines that the authentication result is authentication failure, and the server rejects the client terminal through authentication, which can effectively prevent token interception and request replay attack behaviors. If the decrypted random string does not exist in the request record, the server adds the decrypted random string to the request record.
[0091] Step S150, if the authentication result is authentication success, the server sends the state of the authorized two-dimensional code to the client terminal.
[0092] In some embodiments, if the server queries that the state of the authorized two-dimensional code is not authenticated, the server returns a new token to the client terminal. After the client terminal receives the new token, the client terminal encrypts the new token and returns the encrypted token to the server. If the server queries that the state of the authorized two-dimensional code is authenticated, the server sends the authenticated token to the client terminal, so that the client terminal can normally use the subsequent fund clearing function. If the server queries that the state of the authorized two-dimensional code is expired, the server sends a notification message that the authorized two-dimensional code has expired to the client terminal. After the client terminal receives the notification message that the authorized two-dimensional code has expired, the client terminal repeatedly performs step S110 to obtain a new authorized two-dimensional code.
[0093] In step S160, the user logs in the Agricultural Bank of China mobile application running in the mobile terminal, and the mobile application triggers a scan code authentication operation. In the case that the mobile application is in a logged-in state, the mobile application scans the authorized two-dimensional code displayed on the client terminal to obtain the identifier of the authorized two-dimensional code in response to the scan code authentication operation, and then the mobile application sends the identifier of the authorized two-dimensional code and a mobile application session identifier to the server. In the case that the mobile application is in a logged-out state, the mobile application prompts the user to log in. The mobile application session identifier is used to identify the session between the mobile application and the server.
[0094] In step S170, the server receives the mobile application session identifier and the identifier of the authorized two-dimensional code sent by the mobile application, and queries the client information for scanning the code based on the mobile application session identifier to obtain a second user identifier, which is used to identify the user who logs in the mobile application.
[0095] In step S180, the server checks whether the second user identifier is consistent with the first user identifier to determine whether the user who logs in the mobile application and the user who logs in the client terminal are the same user.
[0096] In step S182, if the second user identifier is consistent with the first user identifier, that is, the client information verification is successful, the server notifies the mobile terminal of the authentication result so that the user confirms the clearing. For example, the server sends a clearing confirmation request to the client terminal, and the clearing confirmation request carries the authentication result.
[0097] In step S184, if the second user identifier is not consistent with the first user identifier, the server returns an error prompt information to the mobile terminal.
[0098] In some embodiments, after the server successfully verifies the client information, the server also queries the state of the authorized two-dimensional code based on the identifier of the authorized two-dimensional code. The server updates the state of the authorized two-dimensional code to an authenticated state, and the client terminal can determine that the state of the authorized two-dimensional code is updated to the authenticated state when the client terminal trains the state of the authorized two-dimensional code.
[0099] Step S190, the mobile terminal receives the authentication result sent by the service end, and in response to the click confirmation operation of the user, the mobile terminal sends a confirmation operation command to the service end.
[0100] Step S192, the service end receives the confirmation operation command sent by the mobile terminal, and verifies the legality of the confirmation operation command; after the confirmation operation command passes the legality verification, the service end performs subsequent non-tax fund clearing operation.
[0101] The method provided in the embodiment improves the security of the non-tax fund clearing operation of the user by using the palm silver code scanning authentication mode. Further, the encryption token improves the information transmission security. Specifically, in the palm silver code scanning authentication process, the client terminal splices a random string after the token returned by the service end, and performs asymmetric encryption on the token spliced with the random string by using a public key. The service end decrypts the encrypted token by using a private key. In the whole interaction process, even if a third party obtains the two-dimensional code state query request message, the specific information cannot be identified; at the same time, the service end maintains a request record for the token, so that even if the message is intercepted, the token cannot be reused, thereby reducing the risk of token theft; in addition, even if the third party obtains the token by capturing the two-dimensional code state query request, the third party cannot encrypt the token without knowing the public key of the service end used by the client terminal for encryption, so that the token returned by the third party to the service end cannot be successfully decrypted by the service end, so that the third party cannot pass the code scanning authentication.
[0102] The palm silver code scanning authentication process provided in the embodiment of the application is introduced above, and after the palm silver code scanning authentication process is performed, the non-tax fund clearing process can be performed under the condition that the code scanning authentication is successful. The non-tax fund clearing process provided in the embodiment of the application is exemplarily described below. Please refer to the accompanying drawings. Figure 2 , the accompanying drawings Figure 2 is a schematic diagram of a non-tax fund clearing method provided in the embodiment of the application. The method shown in the accompanying drawings includes the following steps. Figure 2
[0103] Step S200, the user inputs the non-tax payment book issued by the finance on the client terminal. The client terminal receives the non-tax payment book input by the user. The client terminal sends the non-tax payment book to the service end.
[0104] Step S210, the service end queries the non-tax payment factors corresponding to the non-tax payment book. The non-tax payment factors include payment state, payment amount, collection unit code, collection unit name, payee, payee account number and the like. The user confirms whether the non-tax payment factors are correct.
[0105] Step S212: The user selects the bills that need to be settled. The client terminal receives the bills selected by the user and sends the selected bills to the server.
[0106] Step S214: The server compares the payment amount corresponding to the non-tax payment slip with the amount of the selected bill. Only if the payment amount corresponding to the non-tax payment slip matches the amount of the selected bill can the subsequent steps be performed.
[0107] Steps S212 and S214 are optional steps, and in some other embodiments, steps S212 and S214 need not be performed.
[0108] Step S216: The server queries the balance of the school's non-tax payment account and compares the balance with the amount on the non-tax payment slip. If the balance is greater than or equal to the amount on the non-tax payment slip, step S218 is executed to ensure sufficient balance. In some implementations, the server also compares the school's name with the payer's name in the non-tax payment element on the non-tax payment slip. If the school's name and the payer's name are the same, step S218 is executed again.
[0109] Step S218: After verifying the information, the server provides a QR code for the user to scan and authenticate. If the QR code authentication is successful, proceed to step S220. If the QR code authentication fails, proceed to step S222.
[0110] Step S220: The user authenticates by scanning the QR code through the Agricultural Bank of China's mobile banking app, confirms the settlement, and executes the non-tax settlement operation.
[0111] To avoid incorrect or duplicate payments, the process will first look up the non-tax payment elements corresponding to the payment slip and provide confirmation to the user. At the same time, the mobile banking QR code authentication method can avoid the problem of duplicate payments.
[0112] Step S222: The server sends a prompt message to the mobile terminal, indicating that the QR code verification failed.
[0113] The method provided in this embodiment enables the online operation process of school non-tax fund settlement through non-tax payment slips, with the entire process conducted online. It supports schools in confirming non-tax payment elements and the amount paid by students, which can improve the accuracy and timeliness of fund flow and information flow submission to the finance department.
[0114] In some embodiments, the financial department supports multiple financial payment vouchers, and different payment vouchers are used for the school to settle non-tax fees in batches, thereby providing convenience for non-tax settlement of the school. Each payment voucher is used to settle a batch of non-tax fees. For example, the non-tax payment vouchers include a first non-tax payment voucher and a second non-tax payment voucher. The mobile terminal performs a first batch of non-tax settlement operations for the first non-tax payment voucher and performs a second batch of non-tax settlement operations for the second non-tax payment voucher, so that two batches of non-tax settlement operations can be performed through the two non-tax payment vouchers.
[0115] In some embodiments, in the step S130 of the palm silver code scanning authentication, the token is updated each time the polling request is sent. Specifically, when the client terminal polls the server two-dimensional code state, the server returns a new token to the client terminal each time, and the client terminal carries the new token for the next polling until the user confirms or cancels the operation.
[0116] Each of the embodiments in the specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the difference from other embodiments.
[0117] A refers to B, which means that A is the same as B or A is a simple transformation of B.
[0118] The terms "first" and "second" and the like in the specification and claims of the embodiments of the present application are used to distinguish different objects, and are not used to describe a specific order of the objects, and cannot be understood as indicating or implying relative importance. For example, the first non-tax payment voucher and the second non-tax payment voucher are used to distinguish different non-tax payment vouchers, and are not used to describe the specific order of the non-tax payment vouchers, and cannot be understood as the first non-tax payment voucher being more important than the second non-tax payment voucher.
[0119] The above-described embodiments can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented by software, the embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are wholly or partially generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.
[0120] The above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A non-tax fund clearing method based on palm silver code scanning authentication, characterized in that, The method comprises: In a campus non-tax payment scene, a client terminal collects non-tax fees of finance to a special account and sends a two-dimensional code obtaining request to a server, the two-dimensional code obtaining request comprising a first user identifier, the first user identifier being used to identify a user to which the client terminal belongs; The server receives the two-dimensional code obtaining request sent by the client terminal, generates an authorized two-dimensional code and a random token corresponding to the authorized two-dimensional code, and sends the authorized two-dimensional code and the random token to the client terminal; The client terminal displays the authorized two-dimensional code and encrypts the random token to obtain an encrypted token, the client terminal periodically sends a two-dimensional code state query request to the server, the two-dimensional code state query request carrying the encrypted token, and the two-dimensional code state query request being used to query the state of the authorized two-dimensional code; The server receives the two-dimensional code state query request, checks the encrypted token to obtain an authentication result, and sends the state of the authorized two-dimensional code to the client terminal if the authentication result is authentication success; In a case where a mobile terminal is in a login state at a palm bank application, the mobile terminal scans the authorized two-dimensional code displayed on the client terminal through the palm bank application, and sends a palm bank session identifier and an identifier of the authorized two-dimensional code to the server, the palm bank session identifier being used to identify a session between the palm bank application and the server; The server receives the palm bank session identifier and the identifier of the authorized two-dimensional code sent by the mobile terminal, queries a second user identifier based on the palm bank session identifier, and the second user identifier is used to identify a user who logs in the palm bank application; The server checks whether the second user identifier is consistent with the first user identifier, and notifies the mobile terminal of the authentication result if the second user identifier is consistent with the first user identifier; the mobile terminal receives the authentication result sent by the server and sends a confirmation operation command to the server; The server receives the confirmation operation command sent by the mobile terminal and performs legality verification on the confirmation operation command, and performs a non-tax fund clearing operation after the confirmation operation command passes the legality verification.
2. The method of claim 1, wherein, The encryption of the random token comprises: The client terminal splices a random string with a fixed length and no repetition after the random token; The client terminal encrypts the random token after splicing the random string; The checking of the encrypted token to obtain the authentication result comprises: The server decrypts the encrypted token; If decryption fails or the random string obtained by decryption already exists in a request record, the server determines that the authentication result is authentication failure, and the request record comprises a random string obtained by decrypting the encrypted token from the client terminal in a historical two-dimensional code scanning authentication process.
3. The method of claim 2, wherein, The client terminal encrypts the random token after splicing the random string, including: The client terminal uses the asymmetric SM2 encryption algorithm to encrypt the random token after splicing the random string using the public key; The server decrypts the encrypted token, including: The server uses the asymmetric SM2 encryption algorithm to decrypt the encrypted token using the private key.
4. The method of claim 1, wherein, The server performs a non-tax fund clearing operation, including: The client terminal receives a non-tax payment form input by a user and sends the non-tax payment form to the server; The server queries the payment amount corresponding to the non-tax payment form; The server compares the balance of the special account with the payment amount corresponding to the non-tax payment form; If the balance of the special account is greater than or equal to the payment amount corresponding to the non-tax payment form, the server provides a two-dimensional code to the client terminal, and the mobile terminal scans the two-dimensional code provided by the client terminal to perform a confirmation clearing operation; If the balance of the special account is less than the payment amount corresponding to the non-tax payment form, the server sends an error prompt to the client terminal.
5. The method of claim 4, wherein, The non-tax payment form includes a first non-tax payment form and a second non-tax payment form, and the execution of the confirmation clearing operation includes: Performing a first batch of non-tax clearing operations for the first non-tax payment form; Performing a second batch of non-tax clearing operations for the second non-tax payment form.
6. The method of claim 4, wherein, Before the server provides the two-dimensional code to the client terminal, the method further includes: The client terminal receives a bill to be cleared selected by the user and sends the selected bill to the server; The server determines that the payment amount corresponding to the non-tax payment form is consistent with the amount of the selected bill.
7. A non-tax fund clearing system based on palm silver code authentication, characterized in that, The system includes a client terminal, a server, and a mobile terminal; The client terminal is used to collect non-tax fees to a special account in a campus non-tax payment scenario, and sends a two-dimensional code acquisition request to the server, the two-dimensional code acquisition request including a first user identifier, the first user identifier being used to identify a user to which the client terminal belongs; The server is used to receive the two-dimensional code acquisition request sent by the client terminal, generate an authorized two-dimensional code and a random token corresponding to the authorized two-dimensional code, and send the authorized two-dimensional code and the random token to the client terminal; The client terminal is also used to display the authorized two-dimensional code and encrypt the random token to obtain an encrypted token, periodically send a two-dimensional code state query request to the server, the two-dimensional code state query request carrying the encrypted token, and the two-dimensional code state query request being used to query the state of the authorized two-dimensional code; The server is also used to receive the two-dimensional code state query request, verify the encrypted token to obtain an authentication result, and if the authentication result is authentication success, send the state of the authorized two-dimensional code to the client terminal; The mobile terminal is configured to, when the palm bank application is in a login state, scan the authorization two-dimensional code displayed on the client terminal through the palm bank application, and send a palm bank session identifier and an identifier of the authorization two-dimensional code to the server, the palm bank session identifier being used to identify a session between the palm bank application and the server. The server is further configured to receive the palm bank session identifier and the identifier of the authorization two-dimensional code sent by the mobile terminal, query a second user identifier based on the palm bank session identifier, and use the second user identifier to identify a user who logs in the palm bank application. The server is further configured to check whether the second user identifier is consistent with the first user identifier, and notify the mobile terminal of the authentication result if the second user identifier is consistent with the first user identifier. The mobile terminal is further configured to receive the authentication result sent by the server and send a confirmation operation command to the server. The server is further configured to receive the confirmation operation command sent by the mobile terminal, and perform legality verification on the confirmation operation command, and perform a non-tax fund clearing operation after the confirmation operation command passes the legality verification.
8. The system of claim 7, wherein, The client terminal is configured to concatenate a random string with a fixed length and no repetition after the random token, and encrypt the random token after concatenation of the random string. The server is configured to decrypt the encrypted token. If the decryption fails or the decrypted random string already exists in a request record, it is determined that the authentication result is authentication failure, and the request record includes a random string obtained by decrypting an encrypted token from the client terminal in a historical code scanning authentication process.
9. The system of claim 8, wherein, The client terminal is configured to use an asymmetric SM2 encryption algorithm to encrypt the random token after concatenation of the random string using a public key, and the server is configured to use an asymmetric SM2 encryption algorithm to decrypt the encrypted token using a private key.
10. The system of claim 7, wherein, The client terminal is configured to receive a non-tax payment book input by a user and send the non-tax payment book to the server. The server is configured to query a payment amount corresponding to the non-tax payment book. The server is configured to compare the payment amount corresponding to the non-tax payment book with a balance of the special account, and provide a two-dimensional code to the client terminal if the balance of the special account is greater than or equal to the payment amount corresponding to the non-tax payment book. The mobile terminal is configured to scan the two-dimensional code provided by the client terminal and perform a confirmation clearing operation. The server is further configured to send an error prompt to the client terminal if the balance of the special account is less than the payment amount corresponding to the non-tax payment book.
Citation Information
Patent Citations
Mobile payment method, device and system
CN108830605A
Digital payment processing method and apparatus, and device, system and medium
WO2024109551A1