A system for authenticating financial payment screenshots

CN115221384BActive Publication Date: 2026-02-17王庆昌
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210833258.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-14
Publication Date
2026-02-17
Estimated Expiration
2042-07-14

AI Technical Summary

Technical Problem

[0006](3)人工查看对方手机微信,每次报销时,财务人员要求对方打开微信,现场验证微信付款截图的真伪,这种方法是为原始的,也是相对准确的,但是太费时费力,而且还会涉及到个人隐私,造成双方都会尴尬的不便局面甚至冲突

Benefits of technology

[0027]本发明可以快速、准确地检验付款截图的真假,增加财务付款截图的真实性、可靠性,从而规范财务报销工作。手机端APP截图模块我们运用大量自动化程序,特别是一经截图就自己自动发送功能,不仅简化操作流程,使得APP操作容易上手,还极大程度上减少了付款截图造假空间,保证了付款截图的真实性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115221384B_ABST
    Figure CN115221384B_ABST
Patent Text Reader

Abstract

The application provides a system for identifying the authenticity of financial payment screenshots, comprising a mobile phone APP screenshot module and a computer verification module; the mobile phone further comprises an original electronic payment screenshot capture module and a remote automatic transmission module; the computer verification module further comprises an original database construction module, a to-be-verified paper payment screenshot data extraction module and a payment screenshot authenticity verification module; first, the original electronic payment screenshot capture module is used to obtain a screenshot, then the screenshot is automatically sent to the mailbox of the user, and finally the screenshot is remotely stored; the application can quickly and accurately verify the authenticity of the payment screenshot, increase the authenticity and reliability of the financial payment screenshot, and standardize the financial reimbursement work; the mobile phone APP screenshot module of the application uses a large number of automatic programs, especially the automatic screenshot sending function, which not only simplifies the operation process, but also reduces the space for payment screenshot fraud, and ensures the authenticity of the payment screenshot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of finance and accounting, and more particularly to a system for verifying the authenticity of screenshots of financial payments. Background Technology

[0002] Currently, the main technologies for verifying the authenticity of payment screenshots include Exif viewers, Notepad queries, and manual examination of the recipient's mobile phone.

[0003] (1) An Exif viewer is a tool that can view the information behind a photo. Generally speaking, images are generated with Exif information, so this tool can record and read the historical information of an image to a certain extent.

[0004] (2) Notepad can be used to check if an image (such as a screenshot of a WeChat payment) has been used in common photo editing software such as Photoshop and Meitu Xiu Xiu. When you open the photo in Notepad, you'll see some incomprehensible code. However, don't worry, you only need to find this line: "Adobe Photoshop CS5".

[0005] If the image says "Windows", then it means that the image has been edited with Photoshop.

[0006] (3) Manually check the other party's WeChat on their mobile phone. Every time an expense is claimed, the finance staff asks the other party to open WeChat and verify the authenticity of the WeChat payment screenshot on the spot. This method is the most primitive and relatively accurate, but it is too time-consuming and laborious, and it also involves personal privacy, causing an embarrassing and inconvenient situation or even conflict for both parties. Summary of the Invention

[0007] In view of the technical problems mentioned in the background section above, a system for identifying the authenticity of financial payment screenshots is provided.

[0008] The technical means employed in this invention are as follows:

[0009] A system for verifying the authenticity of financial payment screenshots includes: a mobile app screenshot module and a computer verification module; the mobile app screenshot module further includes: an original electronic payment screenshot capture module and a remote automatic transmission module; the computer verification module further includes: an original database construction module, a paper payment screenshot data extraction module, and a payment screenshot authenticity verification module; after the original electronic payment screenshot capture module acquires the screenshot, it is automatically sent remotely to the user's email address and then stored; the original database construction module uses Python programming to standardize the information of the original payment screenshots automatically sent from the mobile app screenshot module to establish a database that can be used to determine the authenticity of payment information; the paper payment screenshot data extraction module allows financial personnel to photograph the paper payment screenshots submitted by the reimbursement applicants to build the database to be verified; the payment screenshot authenticity verification module compares the information in the original payment screenshot information database and the payment screenshot information database to determine authenticity.

[0010] Furthermore, the specific implementation process of the original electronic payment screenshot capture module includes the following steps:

[0011] Step AS1: Initialize settings; enable accessibility and screenshot permissions, utilize floating window permission, apply external floating button, use accessibility to obtain WeChat information and store the WeChat ID in the SharedPreferences class;

[0012] Step AS2: Returning to WeChat, use the emulator tool to obtain the view container's viewid for the corresponding component in the current WeChat version. Next, based on the view container's viewid, obtain the main interface's chat history view (listview). Find the view container's viewid within the listview that displays the text view to obtain the control displaying the text view and retrieve its value. Finally, check if the text view control has "Service Notifications." If it does, trigger the performAction to click and enter the service notification window; if it doesn't exist, scroll down to guide the user to find the service notification on the WeChat homepage.

[0013] Step AS3: Capture a screenshot of the payment voucher and add the WeChat ID;

[0014] Step AS4: Once the original payment screenshot with the WeChat ID printed on it has been captured, it will automatically enter the remote automatic transmission module: automatically send the screenshot to the designated financial email address.

[0015] Furthermore, the automatic email sending functionality of the remote automatic transmission module is implemented using the JAVA programming language within the app. The specific process is as follows:

[0016] Step BS1: Import the JAR files mail.jar and activation.jar;

[0017] Step BS2: Perform login verification; construct a concrete class that inherits from javax.mail.Authenticator and override the getPasswordAuthentication() method;

[0018] Step BS3: Create a properties file containing the SMTP server address parameters;

[0019] Step BS4: Create a javax.mail.Session using the constructed properties file and the javax.mail.Authenticator concrete class;

[0020] Step BS5: Screenshot of the payment receipt from the applicant's WeChat account; Construct the email content, typically a javax.mail.internet.MimeMessage object, specifying the sender, recipient, subject, and content;

[0021] Step BS6: Send emails using the javax.mail.Transport utility class.

[0022] Furthermore, the raw database construction module uses Python programming to standardize the information in the raw payment screenshots automatically sent via email by the mobile app, including the following steps:

[0023] Step CS1: Use a Python web crawler to download the original payment screenshot received in the email;

[0024] Step CS2: Analyze the payment screenshots in the "email screenshots folder" using the Baidu OCR API; and use Python programming to upload the payment screenshots from the email screenshots folder to the Baidu OCR API screenshots to extract the text from the screenshots; the key text extracted from the screenshots includes: payee, amount, transfer account number, time, and WeChat ID;

[0025] Step CS3: Import the openpyxl library, categorize and write the pre-built information database data into storage units, create database tables, and name them.

[0026] Compared with the prior art, the present invention has the following advantages:

[0027] This invention can quickly and accurately verify the authenticity of payment screenshots, increasing the authenticity and reliability of financial payment screenshots, thereby standardizing financial reimbursement work. Our mobile app screenshot module utilizes numerous automated programs, especially the function that automatically sends screenshots upon capture. This not only simplifies the operation process and makes the app easy to use, but also greatly reduces the opportunity for payment screenshot forgery, ensuring the authenticity of payment screenshots.

[0028] The computer-based verification module significantly reduces the workload of finance personnel. They no longer need to manually verify payment screenshots; instead, they can quickly and accurately verify the authenticity of payments through a batch photo-taking program. Furthermore, it allows for convenient and quick data maintenance and updates based on Excel spreadsheets, effectively addressing the issue of identifying and combating duplicate reimbursement of payment vouchers while verifying data authenticity. Attached Figure Description

[0029] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0030] Figure 1 This is a schematic diagram of the overall system of the present invention.

[0031] Figure 2 This is a schematic diagram of the overall process of the present invention.

[0032] Figure 3 This is a schematic diagram illustrating the specific implementation process of the original electronic payment screenshot capture module of the present invention.

[0033] Figure 4 The flowchart illustrates how the remote automatic transmission module of this invention automatically sends emails, implemented using the JAVA programming language in an app.

[0034] Figure 5 This is a flowchart illustrating the process by which the original payment screenshots automatically sent via email by the mobile app are processed using Python programming in the original database construction module of this invention. Detailed Implementation

[0035] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0036] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0037] like Figure 1-5 As shown, this invention provides a system for verifying the authenticity of financial payment screenshots, such as... Figure 1 It includes a mobile app screenshot module and a computer-based verification module. As a preferred embodiment, in this application, the mobile app screenshot module further includes an original electronic payment screenshot capture module and a remote automatic transmission module. The computer-based verification module further includes an original database construction module, a paper payment screenshot data extraction module, and a payment screenshot authenticity verification module.

[0038] In this application, the original database construction module is a module that performs text analysis on the payment screenshot received by the computer-based financial email to extract key information and build a database; similarly, the paper payment screenshot captured by the camera is used to extract key information and build a paper payment screenshot data extraction module to be verified; based on these two modules, the payment screenshot authenticity verification module compares the two to determine the authenticity of the paper payment screenshot.

[0039] After capturing screenshots via the original electronic payment screenshot capture module, the screenshots are automatically sent remotely to the user's email address and then stored. The original database construction module uses Python programming to standardize the information from the original payment screenshots automatically sent by the mobile app screenshot module in the email address, thereby establishing a database that can be used to distinguish genuine and fake payment information. The paper payment screenshot data extraction module allows finance personnel to photograph the paper payment screenshots submitted by reimbursement applicants and build a database to be verified. The payment screenshot authenticity verification module compares the information in the original payment screenshot information database and the payment screenshot information database to determine authenticity.

[0040] In this application, the specific implementation process of the original electronic payment screenshot capture module includes the following steps:

[0041] Step AS1: Initialize settings; enable accessibility and screenshot permissions, utilize the floating window permission, and then apply the external floating button. Use accessibility permissions to obtain WeChat information and store the WeChat ID using the SharedPreferences class. SharedPreferences is a lightweight storage class on the Android platform. When a program needs to persistently store a small amount of data, it can use the SharedPreferences class.

[0042] Step AS2: Return to WeChat. Using the emulator tool, obtain the view container's viewid for the corresponding component in the current WeChat version. Next, based on the view container's viewid, obtain the main interface's chat history view listview. Locate the view container's viewid within the listview that displays the textview to obtain the control displaying the textview and retrieve its value. Finally, determine if the textview control contains "Service Notifications." If it does, trigger a performAction to click and enter the service notification window; if it doesn't, scroll down to guide the user to find the service notification on the WeChat homepage.

[0043] Further explaining the tools mentioned in step AS2, in this application, "emulator" refers to a simulator. The purpose of the simulator is to act as a replacement for the target system, completely replacing it and fulfilling its external functions. That is, the simulator system only needs to ensure that its external behavior is consistent with the target system (it does not need to ensure that its internal operating principles are the same). The view component is the simplest view container. The ListView control can display items using four different views. This control allows items to be grouped into columns with or without column headers, and displays accompanying icons and text. The textView component is used to display strings; on a mobile phone, it's an area displaying text. `performAction` is a method in accessibility services that can trigger actions.

[0044] Step AS3: Capture a screenshot of the payment voucher and add the WeChat ID;

[0045] Step AS4: Once the original payment screenshot with the WeChat ID printed on it has been captured, it will automatically enter the remote automatic transmission module: automatically send the screenshot to the designated financial email address.

[0046] As a preferred implementation, in this application, the automatic email sending function of the remote automatic transmission module is implemented using the JAVA programming language in the APP. The specific process is as follows:

[0047] Step BS1: Import the JAR files mail.jar and activation.jar;

[0048] Step BS2: Perform login verification; construct a concrete class that inherits from javax.mail.Authenticator and override the getPasswordAuthentication() method; in JavaMail, you can use the Authenticator abstract class to override the getPasswordAuthentication() method in the parent class in the subclass, which allows you to perform user authentication when logging into your email account in different ways.

[0049] Step BS3: Create a properties file to store the SMTP server address parameters. Often, there is a lot of information in the program that we don't want to put in the program, but we still need to use this information when running. We give it a separate name and then load the information into the program when needed. However, we know that the information we load is all referenced. If we want to change one of the parameters in the future, we can simply modify it in the file.

[0050] Step BS4: Create a javax.mail.Session using the constructed properties file and the javax.mail.Authenticator concrete class;

[0051] Step BS5: Screenshot of the payment receipt from the applicant's WeChat account; Construct the email content, typically a javax.mail.internet.MimeMessage object, specifying the sender, recipient, subject, and content;

[0052] Step BS6: Send emails using the javax.mail.Transport utility class.

[0053] The entire process described above, from selecting the target payment voucher to automatically sending the screenshot to the target email address, ensures that the payment screenshot received on the computer is genuine, as the screenshot is sent immediately upon generation. No sender email address needs to be entered; it's programmed into the system, specifying a particular email address (A123456789 as an example). The recipient email address can also be specified, for example, B123456789. Thus, all payment screenshots automatically sent by the software originate from this specific email address A12345679 and are sent to the finance email address B123456789. The only difference lies in the content of the payment screenshot. A123456789 and B123456789 are sample examples; they can be modified for different companies and organizations. This lays the foundation for accurately analyzing and judging the original payment screenshots sent by numerous reimbursement applicants on the computer. Any screenshots manually sent to the computer's financial email address are considered unreliable and potentially fraudulent because the sender cannot obtain the password for the email account A123456789. Therefore, manually sent payment screenshots are not from A123456789 and are not included in the database.

[0054] The original database construction module uses Python programming to standardize the original payment screenshots automatically sent from the email address via a mobile app, thereby establishing a database that can be used to distinguish genuine from fake payment information. Specifically, it includes the following steps:

[0055] Step CS1: Use a Python web crawler to download the original payment screenshots received in the email. Since the target email accounts for downloading payment screenshots are clearly defined for the same company / organization (sender account A123456789, recipient account B123456789), we can import the requests library to crawl payment screenshots from A123456789 in the finance email B123456789. Payment screenshots from email accounts that do not match these two accounts will not be crawled. Then, save the crawled payment screenshots to a specified local folder (assuming it's on the C drive named "Email Screenshots Storage Folder").

[0056] Step CS2: Analyze the payment screenshots in the "email screenshot storage folder" using the Baidu OCR API; and upload the payment screenshots from the email screenshot storage folder to the Baidu OCR API screenshot file using Python programming to extract the text from the screenshots; the key text extracted from the screenshots includes: payee, amount, transfer account number, time, and WeChat ID; in this way, the text in the payment screenshots is recognized and extracted as pre-built information database data.

[0057] Step CS3: Import the openpyxl library, categorize and write the pre-built information database data into storage units, create database tables, and name them. Writing to an Excel spreadsheet is chosen because finance personnel are more familiar with Excel, facilitating later information maintenance.

[0058] Example 1:

[0059] The module for extracting screenshots of unverified paper payments is used by finance personnel to photograph screenshots of paper payments submitted by reimbursement applicants and build an unverified database. It is very similar to the original database construction module. Specifically, it consists of the following three steps:

[0060] (1) The finance staff takes a picture of the paper payment screenshot on a high-definition camera. The computer takes a picture through the camera and converts the paper payment voucher into an electronic photo (similar to the electronic payment screenshot in the original database construction module), and saves it to the specified local folder (assuming it is named "Paper Voucher Storage Folder" on the C drive).

[0061] (2) Analysis of payment screenshots in the "Paper Voucher Storage Folder" using Baidu OCR API. Using Python programming, payment screenshots from the "Paper Voucher Storage Folder" were uploaded to the Baidu OCR API screenshot tool for text extraction. Key text included: payee, amount, transfer account number, time, and WeChat ID. This ensured that all text in the payment screenshots was recognized and extracted, which was then used to build the information database.

[0062] (3) Import the openpyxl library, write a program to extract the text from the paper payment screenshot photos and write it into an Excel spreadsheet. Refer to the original payment screenshot information database to create a database table, and assume it is named "Payment Screenshot Information Database to be Verified".

[0063] The payment screenshot authenticity verification module compares the information in the original payment screenshot information database with the payment screenshot information database to determine its authenticity. It mainly involves the following two steps:

[0064] Import the xlrd and tkinter libraries from Python, along with the previously saved Excel spreadsheets—the original payment screenshot information database and the pending payment screenshot information database. Verify that the information in the pending payment screenshot information database matches the data in the original payment screenshot information database. If a match is found, a pop-up message will appear: "Verification successful, this voucher is genuine, WeChat ID: xxxxxx, payment date: May 14, 2022, 20:48:42". Otherwise, a message will appear: "Warning! Verification failed, this voucher may be fake!".

[0065] After verification, the program is closed, and it automatically transfers the verified data from the pending payment screenshot information database to a pre-created "Verified Database" Excel spreadsheet. This allows finance personnel to periodically check the verified database monthly for duplicate data. If duplicates are found, it indicates a duplicate reimbursement issue with the corresponding payment screenshot, and the person making the claim can be contacted via the recorded WeChat account to recover the duplicated amount.

[0066] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0067] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0068] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The described device embodiments are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between units or modules may be electrical or other forms.

[0069] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0070] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0071] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0072] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A system for authenticating a financial payment screenshot, the system comprising: It comprises: a mobile phone APP screenshot module and a computer verification module; the mobile phone APP screenshot module further comprises an original electronic payment screenshot capture module and a remote automatic transmission module; the computer verification module further comprises an original database construction module, a to-be-verified paper payment screenshot data extraction module, and a payment screenshot authenticity verification module; after the original electronic payment screenshot capture module acquires the screenshot, the remote automatic transmission module automatically sends the screenshot to the user's mailbox, and finally stores the screenshot; the original database construction module processes the original payment screenshot automatically sent by the mobile phone APP screenshot module in the mailbox through python programming to standardize the information, thereby establishing a database that can be used to distinguish true and false payment information; the to-be-verified paper payment screenshot data extraction module is used by the financial personnel to take a photo of the paper payment screenshot submitted by the applicant for reimbursement and construct a to-be-verified payment screenshot information database; the payment screenshot authenticity verification module is used to compare the information in the original payment screenshot information database and the to-be-verified payment screenshot information database, thereby judging the authenticity; the specific implementation process of the original electronic payment screenshot capture module comprises the following steps: AS1: initialization setting; open auxiliary permission and screenshot permission, use the floating window permission, then apply the external floating button, use the auxiliary permission to obtain the WeChat information and store the WeChat number in the SharedPreferences class; AS2: return to WeChat, obtain the view container viewid of the corresponding component of the current WeChat version through the emulator tool, then obtain the view display listview of the main interface chat record view according to the view container viewid, find the view container viewid of the display string textview in the view display listview to obtain the display string textview control, obtain its value, finally, judge whether the textview control exists "service notification", if it exists, trigger performAction click to enter the service notification window, if it does not exist, slide down until the service notification is found on the WeChat home page; AS3: capture the payment voucher screenshot and add the WeChat number; AS4: after the original payment screenshot capture with the WeChat number is completed, automatically enter the remote automatic transmission module: automatically send the screenshot to the designated financial mailbox.

2. The system for identifying the authenticity of financial payment screenshots according to claim 1, wherein the implementation of the remote automatic transmission module to automatically send emails is realized through JAVA programming language in the APP, and the specific process is as follows: BS1: import jar packages mail.jar and activation.jar; BS2: perform login verification; construct a specific class inherited from javax.mail.Authenticator and override the getPasswordAuthentication() method inside it; BS3: build a properties file, which stores the SMTP server address parameter; BS4: create a javax.mail.Session through the built properties file and javax.mail.Authenticator specific class; BS5: the payment voucher screenshot of the applicant's WeChat; build the email content, which is a javax.mail.internet.MimeMessage object, and specify the sender, recipient, subject and content; BS6: send the email through the javax.mail.Transport utility class.

3. The system for authenticating a financial payment screenshot according to claim 1, wherein, The original database construction module processes the original payment screenshot automatically sent by the mobile app through the mailbox through python programming for information standardization, including the following steps: CS1: python crawler downloads the original payment screenshot received by the mailbox and saves it to the mailbox screenshot storage folder; CS2: upload the payment screenshot in the mailbox screenshot storage folder to the Baidu OCR API through python programming to extract the text in the screenshot; the key text in the extracted text includes the payee, amount, transfer account number, time and WeChat number, which are used as pre-built information library data; CS3: import the openpyxl library, classify the pre-built information library data and write it into the storage unit, establish a database table and name it.

Citation Information

Patent Citations

  • Medical invoice recognition method, user equipment, storage medium and device

    CN109800747A