Systems and methods for validating an instrument
Disclosed are methods and systems for validating instruments. For instance, a request to generate a cashier's check may be received from an application executing on a drawer's computing device. Request information may be stored within a data storage entry for the check, and a code to be printed on the check may be generated to include at least a portion of the request information. Instructions may be provided to a printing system to cause the check to be printed with the code, where the printed check is invalid. Instructions may be provided to the application and/or printing system to cause display of a prompt to facilitate a reading of the code to validate the check. When information within the code is read by and received from the printing system, the check may be validated, which triggers a transfer of funds from the drawer's account. Otherwise, the check may remain invalid.
1. A computer-implemented method comprising:
receiving, from an application executing on a computing device, a request to generate an instrument, wherein the instrument includes one of a cashier's check, a personal check, a traveler's check, or a money order;
storing information associated with the request within an entry generated for the instrument in a data storage system;
generating a code to be printed on the instrument, wherein information within the code includes at least a portion of the information associated with the request;
providing instructions to a printing system to cause the instrument to be printed with the code, wherein the instrument with the code printed by the printing system is invalid and a status of the instrument as invalid is stored within the entry;
providing instructions to one or more of the application or the printing system to cause display of a prompt to facilitate a reading of the code by at least one of the application or the printing system to validate the instrument;
receiving the information within the code read by the at least one of the application or the printing system; and
in response to the receiving of the information within the code, changing the status of the instrument from invalid to valid by identifying the entry for the instrument using the information within the code and updating the entry to indicate the instrument is valid.
2. The computer-implemented method of claim 1 , wherein when the code is read by the printing system, the method further comprises:
subsequent to receiving the information within the code, authenticating a user facilitating the reading of the code by the printing system.
3. The computer-implemented method of claim 2 , wherein the authenticating comprises authenticating the user via the application, including:
providing a first authenticating identifier for display on the printing system;
providing instructions to one or more of the application or the printing system to cause display of a prompt for the user to input the first authenticating identifier displayed on the printing system into the application;
receiving, from the application, a second authenticating identifier input by the user; and
comparing the first authenticating identifier and the second authenticating identifier to determine a match.
4. The computer-implemented method of claim 1 , wherein the information associated with the request includes temporal information associated with the request, and the method further comprising:
receiving temporal information associated with the reading of the code;
determining a time period between the request and the reading of the code based on the temporal information associated with the request and the temporal information associated with the reading of the code; and
validating the instrument based on the determined time period being below or equal to a pre-defined threshold time period prior to changing the status of the instrument from invalid to valid.
5. The computer-implemented method of claim 1 , wherein the information associated with the request includes geolocation information associated with the request, and the method further comprising:
receiving geolocation information associated with the reading of the code;
determining a distance between a location of the request and a location of the reading of the code based on the geolocation information associated with the request and the geolocation information associated with the reading of the code; and
validating the instrument based on the determined distance being below or equal to a pre-defined threshold distance prior to changing the status of the instrument from invalid to valid.
6. The computer-implemented method of claim 1 , further comprising:
subsequent to changing the status of the instrument from invalid to valid, receiving an invalidation request from the application to invalidate the instrument; and
responsive to the invalidation request, changing the status of the instrument from valid to invalid by updating the entry for the instrument to indicate that the instrument is no longer valid.
7. The computer-implemented method of claim 1 , wherein generating the code comprises encrypting the portion of the information associated with the request included within the code.
8. The computer-implemented method of claim 7 , wherein the received information within the code includes the encrypted portion of the information associated with the request, and the method further comprises decrypting the encrypted portion of the information associated with the request for use in identifying the entry for the instrument.
9. The computer-implemented method of claim 1 , wherein the prompt to facilitate the reading of the code comprises one or more of:
a request to confirm correct information is included on the instrument printed by the printing system prior to the reading of the code; or
instructions to position the instrument relative to the at least one of the application or the printing system to enable the at least one of the application or the printing system to read the code on the instrument.
10. The computer-implemented method of claim 1 , wherein the data storage system has a data storage scheme and storing the information associated with the request within the entry generated for the instrument comprises storing the information according to the data storage scheme.
11. A system, comprising:
at least one memory storing instructions; and
at least one processor operatively connected to the at least one memory and configured to execute the instructions to perform operations, comprising:
receiving, from an application executing on a computing device, a request to generate an instrument, wherein the instrument includes one of a cashier's check, a personal check, a traveler's check, or a money order;
storing information associated with the request within an entry generated for the instrument in a data storage system;
generating a code to be printed on the instrument, wherein information within the code includes at least a portion of the information associated with the request;
providing instructions to a printing system to cause the instrument to be printed with the code, wherein the instrument with the code printed by the printing system is invalid and a status of the instrument as invalid is stored within the entry;
providing instructions to one or more of the application or the printing system to cause display of a prompt to facilitate a reading of the code by at least one of the application or the printing system to validate the instrument;
receiving the information within the code read by the at least one of the application or the printing system; and
in response to the receiving of the information within the code, changing the status of the instrument from invalid to valid by identifying the entry for the instrument using the information within the code and updating the entry to indicate the instrument is valid.
12. The system of claim 11 , wherein when the code is read by the printing system, the operations further comprising:
subsequent to receiving the information within the code read by the printing system, authenticating a user facilitating the reading of the code via the application, the authentication including:
providing a first authenticating identifier for display on the printing system;
providing instructions to one or more of the application or the printing system to cause display of a prompt for the user to input the first authenticating identifier displayed on the printing system into the application;
receiving, from the application, a second authenticating identifier input by the user; and
comparing the first authenticating identifier and the second authenticating identifier to determine a match.
13. The system of claim 11 , wherein the request and the information associated with the request stored within the entry includes temporal information associated with the request, and the operations further comprise:
receiving temporal information associated with the reading of the code;
determining a time period between the request and the reading of the code based on the temporal information associated with the request and the temporal information associated with the reading of the code; and
validating the instrument based on the determined time period being below or equal to a pre-defined threshold time period prior to changing the status of the instrument from invalid to valid.
14. The system of claim 11 , wherein the request and the information associated with the request stored within the entry includes geolocation information associated with the request, and the operations further comprise:
receiving geolocation information associated with the reading of the code;
determining a distance between a location of the request and a location of the reading of the code based on the geolocation information associated with the request and the geolocation information associated with the reading of the code; and
validating the instrument based on the determined distance being below or equal to a pre-defined threshold distance prior to changing the status of the instrument from invalid to valid.
15. The system of claim 11 , the operations further comprising:
subsequent to changing the status of the instrument from invalid to valid, receiving an invalidation request from the application to invalidate the instrument; and
responsive to the invalidation request, changing the status of the instrument from valid to invalid by updating the entry for the instrument to indicate that the instrument is no longer valid.
16. The system of claim 11 , wherein the prompt to facilitate the reading of the code comprises one or more of:
a request to confirm correct information is included on the instrument printed by the printing system prior to the reading of the code; or
instructions to position the instrument relative to the at least one of the application or the printing system to enable the at least one of the application or the printing system to read the code on the instrument.
17. The system of claim 11 , wherein generating the code comprises encrypting the portion of the information associated with the request included within the code such that the received information within the code includes the encrypted portion of the information associated with the request, and the operations further comprise decrypting the encrypted portion of the information associated with the request for use in identifying the entry for the instrument.
18. The system of claim 11 , wherein the data storage system has a data storage scheme and storing the information associated with the request within the entry generated for the instrument comprises storing the information according to the data storage scheme.
19. A computer-implemented method, comprising:
receiving, from an application executing on a computing device, a request to generate an instrument, wherein the instrument includes one of a cashier's check, a personal check, a traveler's check, or a money order;
storing information associated with the request within an entry generated for the instrument in a data storage system;
generating a code to be printed on the instrument, wherein information within the code includes at least a portion of the information associated with the request;
providing instructions to a printing system to cause the instrument to be printed with the code, wherein the instrument with the code printed by the printing system is invalid and a status of the instrument as invalid is stored within the entry;
providing instructions to one or more of the application or the printing system to cause display of a prompt to facilitate a reading of the code by at least one of the application or the printing system to validate the instrument;
when information within the code is read by and received from the at least one of the application or the printing system, changing a status of the instrument from invalid to valid by identifying the entry for the instrument using the information within the code and updating the entry to indicate the instrument is valid; and
when information within the code is not read by and received from the at least one of the application or the printing system, causing the status of the instrument to remain invalid.
20. The computer-implemented method of claim 19 , wherein the computing device is a first computing device, and when the status of the instrument is valid and the code printed on the instrument further includes a uniform resource locator (URL) to a web application, the method further comprises:
detecting an access to the web application by a second computing device of one of a recipient or an entity associated with the recipient of the instrument in response to the second computing device reading the code;
determining a legitimacy of an interaction associated with the instrument by evaluating a plurality of interaction legitimacy factors based, at least in part, on the entry for the instrument, wherein at least a first subset of the plurality of interaction legitimacy factors is associated with an identity authenticity of an individual presenting the instrument to the one of the recipient or the entity associated with the recipient, and at least a second subset of the plurality of interaction legitimacy factors is associated with a validity of the instrument; and
providing an indication of the determined legitimacy of the interaction for display on a user interface of the web application.