Patent Description:
Traditionally, the customization of POS terminals (e.g., computing devices configured to interface with payment devices to complete transactions between users and merchants) is an inefficient and laborious task. For example, POS terminals may allow for customization of displayed text in a language of a card user's preference. However, to add support for the display of text in a new language, all POS terminals in a region must have their software updated, since a user may visit any one of the POS terminals in the region to complete a transaction. Similarly, if a banking institution wants to integrate a rewards program for users when they are checking out, then the programmed functionality must be pre-established for all POS terminals in the region for the program to be fully operable. As such, there are massive inefficiencies involved with changing or customizing POS terminal functionality (e.g., payment processes, rewards processes, text size and style, sound settings, types of personal information collection, custom advertisements, security settings, and/or the like).

Moreover, there may be many different varieties of POS terminals deployed in a region, where different POS terminal suppliers are in control of their own POS terminal interfaces and processes that users encounter. A user is unlikely to encounter the same customized functionality for each POS terminal unless each and every POS terminal supplier updates their POS terminals accordingly. In this manner, there are massive technical obstacles to full user customization of POS terminal functionality.

Therefore, there is a need in the art for a technical solution to provide for customizing functions of POS terminals without the requirement of POS terminals being updated or pre-programmed altogether.

<CIT> describes dynamic payment optimization apparatuses, methods and systems. <CIT> describes processing a transaction using multiple application identifiers. <CIT> describes point of sale apparatuses, methods and systems.

Aspects of the invention are described in the independent claims and optional features are described in the dependent claims.

These and other features and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structures and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the present disclosure. As used in the specification and the claims, the singular form of "a," "an," and "the" include plural referents unless the context clearly dictates otherwise.

Additional advantages and details of the disclosure are explained in greater detail below with reference to the exemplary embodiments that are illustrated in the accompanying schematic figures, in which:.

For purposes of the description hereinafter, the terms "end," "upper," "lower," "right," "left," "vertical," "horizontal," "top," "bottom," "lateral," "longitudinal," and derivatives thereof shall relate to the embodiments as they are oriented in the drawing figures. However, it is to be understood that the illustrated embodiments are not to be interpreted as limiting and may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification, are simply exemplary embodiments or aspects of the present disclosure. Hence, specific dimensions and other physical characteristics related to the embodiments or aspects of the embodiments disclosed herein are not to be considered as limiting unless otherwise indicated.

No aspect, component, element, structure, act, step, function, instruction, and/or the like used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more" and "at least one. " Furthermore, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.) and may be used interchangeably with "one or more" or "at least one. " Where only one item is intended, the term "one" or similar language is used. Also, as used herein, the terms "has," "have," "having," or the like are intended to be open-ended terms. Further, the phrase "based on" is intended to mean "based at least partially on" unless explicitly stated otherwise.

Some non-limiting embodiments are described herein in connection with thresholds. As used herein, satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, and/or the like.

As used herein, the term "communicate" may refer to the reception, receipt, transmission, transfer, provision, and/or the like of information (e.g., data, signals, messages, instructions, commands, and/or the like). As an example, for one unit (e.g., a device, a system, a component of a device or system, combinations thereof, and/or the like) to communicate with another unit means that the one unit is able to directly or indirectly receive information from and/or transmit information to the other unit. The one unit may communicate with the other unit even though the information may be modified, processed, relayed, and/or routed between the one unit and the other unit. In one example, a first unit may communicate with a second unit even though the first unit receives information and does not communicate information to the second unit. As another example, a first unit may communicate with a second unit if an intermediary unit (e.g., a third unit located between the first unit and the second unit) receives information from the first unit, processes the information received from the first unit to produce processed information, and communicates the processed information to the second unit. In some non-limiting embodiments, a message may refer to a packet (e.g., a data packet, a network packet, and/or the like) that includes data.

As used herein, the term "transaction service provider" may refer to an entity that receives transaction authorization requests from merchants or other entities and provides guarantees of payment, in some cases through an agreement between the transaction service provider and an issuer. For example, a transaction service provider may include a payment network, such as Visa®, MasterCard® American Express®, or any other entity that processes transactions. As used herein "transaction service provider system" may refer to one or more systems operated by or operated on behalf of a transaction service provider, such as a transaction service provider system executing one or more software applications associated with the transaction service provider. In some non-limiting embodiments, a transaction service provider system may include one or more servers operated by or operated on behalf of a transaction service provider.

As used herein, the term "issuer" may refer to one or more entities that provide one or more accounts (e.g., a credit account, a debit account, a credit card account, a debit card account, and/or the like) to a user (e.g., customer, consumer, and/or the like) for conducting transactions (e.g., payment transactions). For example, an issuer may provide an account identifier, such as a primary account number (PAN), to a user that uniquely identifies one or more accounts associated with the user. The account identifier may be used by the user to conduct a payment transaction. In some non-limiting embodiments, an issuer may be associated with a bank identification number (BIN) that uniquely identifies the issuer. As used herein "issuer system" may refer to one or more systems operated by or operated on behalf of an issuer. For example, an issuer system may refer to a server executing one or more software applications associated with the issuer. In some non-limiting embodiments, an issuer system may include one or more servers (e.g., one or more authorization servers) for authorizing a payment transaction.

As used herein, the term "merchant" may refer to an individual or entity that provides goods and/or services, or access to goods and/or services, to customers based on a transaction, such as a payment transaction. The term "merchant" or "merchant system" may also refer to one or more computer systems operated by or on behalf of a merchant, such as a server computer executing one or more software applications. The terms "point-of-sale system," "POS system," or "POS terminal," as used herein, may refer to one or more computers and/or peripheral devices used by a merchant to engage in payment transactions with customers, including one or more card readers, near-field communication (NFC) receivers, radio-frequency identification (RFID) receivers, and/or other contactless transceivers or receivers, contact-based receivers, payment terminals, computers, servers, input devices, and/or other like devices that can be used to initiate a payment transaction. A POS terminal may be located proximal to a user, such as at a physical store location, or a POS terminal may be remote from the user, such as a server interacting with a user browsing on their personal computer. POS terminals may include mobile devices.

As used herein, the term "account identifier" may refer to one or more types of identifiers associated with an account (e.g., a unique identifier of an account, an account number, a PAN, a card number, a payment card number, a token, and/or the like) of a user. In some non-limiting embodiments, an issuer may provide an account identifier to a user that uniquely identifies one or more accounts associated with that user. In some non-limiting embodiments, an account identifier may be embodied on a payment device (e.g., a payment card, a credit card, a debit card, and/or the like) and/or may be electronic information communicated to the user that the user may use for electronic payment transactions. In some non-limiting embodiments, an account identifier may be an original account identifier, where the original account identifier was provided to a user at the creation of the account associated with the account identifier. In some non-limiting embodiments, the account identifier may be an account identifier (e.g., a supplemental account identifier) that is provided to a user after the original account identifier was provided to the user. For example, if the original account identifier is forgotten by the user, stolen from the user, and/or the like, a supplemental account identifier may be provided to the user. In some non-limiting embodiments, an account identifier may be directly or indirectly associated with an issuer such that an account identifier may be a token that maps to a PAN or other type of identifier. Account identifiers may be alphanumeric, any combination of characters and/or symbols, and/or the like.

As used herein, the term "account token" may refer to an identifier that is used as a substitute or replacement identifier for an account identifier, such as a PAN. An account token may be used as a substitute or replacement identifier for an original account identifier, such as a PAN. Account tokens may be associated with a PAN or other original account identifier in one or more data structures (e.g., one or more databases and/or the like) such that they may be used to conduct a transaction without directly using the original account identifier. In some non-limiting embodiments, an original account identifier, such as a PAN, may be associated with a plurality of account tokens for different individuals or purposes. In some non-limiting embodiments, account tokens may be associated with a PAN or other account identifiers in one or more data structures such that they can be used to conduct a transaction without directly using the account identifier, such as a PAN. In some examples, an account identifier, such as a PAN, may be associated with a plurality of account tokens for different uses or different purposes.

As used herein, the term "computing device" may refer to one or more electronic devices that include one or more processors. A computing device may be a stationary computer or a mobile device. As an example, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer, a wearable device (e.g., watches, glasses, lenses, clothing, and/or the like), a personal digital assistant (PDA), and/or other like devices. A computing device may also include components to send, receive, and/or process data, such as but not limited to memory, a display device, an input device, a network interface, and/or the like.

As used herein, the term "payment device" may refer to a payment device, an electronic payment device, a portable financial device, a payment card, such as a credit card, a debit card, a charge card, a gift card, a payroll card, and/or the like, associated with an account identifier of a payment account. In some non-limiting embodiments or aspects, a payment device may include an electronic payment device, such as a smartcard, a chip card, integrated circuit card, and/or the like. An electronic payment device may include an embedded integrated circuit and the embedded integrated circuit may include a data storage medium (e.g., volatile and/or non-volatile memory) to store information associated with the payment device, such as an account identifier, a name of the account holder, and/or the like.

As used herein, the term "server" may refer to or include one or more processors or computers, storage devices, or similar computer arrangements that are operated by or facilitate communication and processing for multiple parties in a network environment, such as the Internet, although it will be appreciated that communication may be facilitated over one or more public or private network environments and that various other arrangements are possible. Reference to "a server" or "a processor," as used herein, may refer to a previously-recited server and/or processor that is recited as performing a previous step or function, a different server and/or processor, and/or a combination of servers and/or processors. For example, as used in the specification and the claims, a first server and/or a first processor that is recited as performing a first step or function may refer to the same or different server and/or a processor recited as performing a second step or function.

As used herein, the term "system" may refer to one or more devices, such as one or more processors, servers, and computing devices that include software applications, and/or the like.

As used herein, the term "mobile device" may refer to one or more portable electronic devices configured to communicate with one or more networks. As an example, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer (e.g., a tablet computer, a laptop computer, etc.), a wearable device (e.g., a watch, pair of glasses, lens, clothing, and/or the like), a PDA, and/or other like devices. The term "client device," as used herein, refers to any electronic device that is configured to communicate with one or more servers or remote devices and/or systems. A client device may include a mobile device, a network-enabled appliance (e.g., a network-enabled television, refrigerator, thermostat, and/or the like), a computer, a POS system, and/or any other device or system capable of communicating with a network. A client device may further include a desktop computer, laptop computer, mobile computer (e.g., smartphone), a wearable computer (e.g., a watch, pair of glasses, lens, clothing, and/or the like), a cellular phone, a network-enabled appliance (e.g., a network-enabled television, refrigerator, thermostat, and/or the like), a point of sale (POS) system, and/or any other device, system, and/or software application configured to communicate with a remote device or system.

Non-limiting embodiments or aspects of the present disclosure are directed to a system, method, and computer program product for customizing functions of a point-of-sale (POS) terminal. Described embodiments and aspects improve upon existing technical solutions by removing the need for pre-programmed software updates to be pushed to all POS terminals in a given region of operation. By the embodiments and aspects of the technical solutions described herein, the functionality of POS terminals can be customized (e.g., visually, aurally, procedurally, etc.) at the time of user interaction (e.g., pressing a button, touching a screen, viewing an image, reading a message, hearing a sound, and/or the like) via scripts stored on and communicated from payment device of a user. Moreover, existing payment device authentication and transaction processes can be augmented by script validation and execution processes, whereby POS terminals can verify the authenticity and/or the security of scripts, determine whether scripts are executable on the current POS terminal, and execute the custom POS terminal functions at run-time. Accordingly, the variety and range of customized functionality and user interfaces is greatly improved, the software upkeep for POS terminals is reduced, and the speed in which custom functions are loaded/executed may be increased by initiating the customization during the initial data exchange between a payment device and the POS terminal. These improvements, among others, are detailed by the further disclosure below.

With specific reference to <FIG>, and in some non-limiting embodiments or aspects, provided is a system <NUM> for customizing functions of a point-of-sale (POS) terminal. The system <NUM> includes a POS terminal <NUM> that may include a display <NUM> (e.g., a screen), a speaker <NUM>, and at least one processor <NUM>. The POS terminal <NUM> may be associated with a merchant and communicate with a payment device <NUM> (e.g., an electronic payment device) of a user <NUM> to complete a transaction between the user <NUM> and the merchant. The payment device <NUM> may store payment device data <NUM>, including, but not limited to, an account identifier, an account token, an account holder name, a payment device type, and/or the like. The payment device <NUM> also stores at least one script <NUM> (e.g., a set of computer-readable instructions for execution by one or more processors) that is configured to customize an existing function of the POS terminal <NUM> or cause the execution of a custom POS terminal <NUM> function. For example, existing POS terminal functions that may be customized may include, but are not limited to, the display of a total price, the playing of sound to represent transaction status, the form of acceptable functional input, the display of a cashback interface, the display of transaction processing status, etc. For the example of the display of a total price, the existing function may be customized by changing the size/style of the font text, by sounding the price aloud via a speaker <NUM>, by displaying the text in a different language, by displaying the price in a different currency, by displaying the amount of tax separately, and/or the like.

Custom POS terminal functions may include, but are not limited to, the display of a payment-device related rewards interface (e.g., to show points earned, to allow for point redemption, etc.), the playing of an audio sequence such as a tune to signify transaction completion, the display of an interface to allow a user to select how payments will be made (e.g., single payment, multiple payments, etc.), and/or the like. In view of these non-limiting examples, it will be appreciated that scripts <NUM> may provide for customized POS terminal functions through any combination of displaying at least one message, displaying at least one image, displaying at least one animation or at least one video, playing at least one audio sequence, displaying a user interface comprising at least one user option for selection, displaying at least one user data input field, communicating data to a third party server, receiving data from a third party server, and/or the like.

With further reference to <FIG>, and in some non-limiting embodiments or aspects, the payment device <NUM> stores one or more digital signatures <NUM> corresponding to the one or more scripts <NUM>. A digital signature <NUM> (e.g., a one-way hash encryption of a script <NUM>, passcodes, asymmetric cryptographic keys, and/or the like) may serve to authenticate the user <NUM>, a script <NUM>, and/or the like. The payment device <NUM> further stores a set of stored script identifiers <NUM>, which identify one or more types of scripts <NUM> that the payment device <NUM> is storing/capable of transmitting. A script <NUM> type may be with regard to type of display/audio settings, third party communications, programming language, issuer institution program, script size, and/or the like. The POS terminal <NUM> is likewise programmed and/or configured to store a set of executable script identifiers <NUM>, which identify one or more types of scripts <NUM> that the POS terminal <NUM> is capable of executing. A "set," as used herein, may contain zero or more elements (so as to include a null or empty set).

The POS terminal <NUM> receives from the payment device <NUM> a set of stored script identifiers <NUM> and compares the set of stored script identifiers <NUM> to the set of executable script identifiers <NUM> to determine a set of script identifiers that are common to both sets. The POS terminal <NUM> communicates the common script identifiers, if any, to the payment device <NUM>, in response to which the payment device <NUM> communicates to the POS terminal <NUM> the scripts <NUM> corresponding to the common script identifiers. Alternatively, the POS terminal <NUM> may receive all of the scripts <NUM> from the payment device <NUM> but use the comparison of the set of stored script identifiers <NUM> and the executable script identifiers <NUM> to determine which scripts <NUM> to run.

With further reference to <FIG>, and in some non-limiting embodiments or aspects, the system <NUM> may include a transaction service provider system <NUM> communicatively connected to the POS terminal <NUM>. The POS terminal <NUM> may communicate transaction authorization requests to the transaction service provider system <NUM> to complete a transaction between the payment device <NUM> and the POS terminal <NUM>. If an executed script <NUM> received from the payment device <NUM> includes instructions related to the completion of a transaction, script-related payment data may be embedded in the transaction authorization request. For example, if the script <NUM> causes the display of a payment method option screen for selection by the user (e.g., single payment, multiple payments, multiple accounts, etc.), data of the user's selection may be embedded in the transaction authorization request and acted on by the transaction service provider system <NUM>, an issuer institution server, and/or the like.

The system <NUM> may further include a third party server <NUM> communicatively connected to the POS terminal <NUM>, such as by a distributed data network connection (e.g., an internet connection). An executed script <NUM> received from the payment device <NUM> that includes instructions related to sending and/or receiving data from the third party server <NUM> may cause the POS terminal <NUM> to communicate with the third party server <NUM> accordingly. For example, the script <NUM> may include instructions to communicate an identifier of the user <NUM> to the third party server <NUM> and to receive back data related to a rewards or incentive program associated with the payment device <NUM>, further causing the POS terminal <NUM> to display a rewards redemption/status interface to the user <NUM>. The user's <NUM> selection may then be communicated back to the third party server <NUM>. Third party data may also include the promotion of products or services from merchants or issuers (e.g., an advertisement to make a purchase), notifications of credit limit use (e.g., "You have used <NUM>% of your credit limit"), and/or other like communications.

With further reference to <FIG>, and in some non-limiting embodiments or aspects, the script <NUM> may be configured to cause a message to be displayed on a display <NUM> of the POS terminal <NUM>. For example, the script <NUM> may include: "<script> <display> veuillez retirer la carte </display> <signature> 0EF5DA34 </signature> </script>. " Such a script <NUM> may be communicated to the POS terminal <NUM> after all the payment device data <NUM> is communicated from the payment device <NUM>. This example script <NUM> includes an embedded digital signature <NUM> and is in markup language, but it will be appreciated that many arrangements, combinations, and types of computer instruction languages may be used, including, but not limited to, compiled languages (e.g., C, C++, C#, Python, Haskell, etc.), concurrent languages (e.g., Java, Ada, E, etc.), declarative languages (e.g., SQL, Mercury, etc.), embeddable languages (e.g., PHP, JavaScript, etc.), and/or the like. After verifying the "<signature>" element of the script, the POS terminal <NUM> displays "veuillez retirer la carte" on the screen, which is a French translation of "please remove card. " In this manner, one or more functions of the POS terminal <NUM> are customized, without the POS terminal <NUM> being programmed to communicate in French or to pre-determine what kind of text is to be displayed in French for a given user interaction.

With further reference to <FIG>, and in some non-limiting embodiments or aspects, the script <NUM> may be configured to trigger a cashback feature associated with the issuer institution of the payment device <NUM>. For example, the script <NUM> may include a call to a third party server <NUM> within a message: "<script> <display> You get <get> https://bank. com/cardscriptservice/cashbackamount/DA287712 </get> cashback in this transaction! </display> <signature> 0EF5DA34 </signature> </script>". After verifying the digital signature <NUM> of the script <NUM> (in the "<signature>" tag), which is embedded in the URL of the script <NUM>, the POS terminal <NUM> may communicate with a third party server <NUM> (e.g., a remote endpoint) to transmit an identifier of the user <NUM> (e.g., "DA287712," embedded in the URL"). The third party server <NUM> may then communicate back a response based on the user <NUM> identifier, e.g., a cashback reward corresponding to the transaction, such as $<NUM>. Therefore, the POS terminal <NUM> would display a message of "You get $<NUM> cashback in this transaction!" on the display <NUM>.

With further reference to <FIG>, and in some non-limiting embodiments or aspects, the script <NUM> may be configured to trigger a custom POS terminal function to allow a user to select a payment method, such as by installment payments via the issuer institution of the payment device <NUM>. For example, the script <NUM> may include: "<script> <menu> <target> card </target> <menu_header> How do you want to pay? </menu_header> <menu_item> <id> <NUM> </id> <menu_text> Full amount </menu_text> <menu_item> <id> <NUM> </id> <menu_text> <NUM> months installments </menu_text> </menu_item > </menu> <signature> 0EF5DA34 </signature> </script>". After verifying the digital signature <NUM> of script <NUM> (e.g., embedded in the "<signature>" tag of the script <NUM>), the POS terminal <NUM> may display a menu on the screen:.

After the user <NUM> selects an option, e.g., option (<NUM>), using an input of the POS terminal <NUM> (e.g., a keypad, a touch screen, etc.), the POS terminal <NUM> may embed the selection in a transaction authorization request, or it may communicate the selection to the payment device <NUM> for the payment device <NUM> to embed the payment type into the payment data to be communicated to the POS terminal <NUM>. After completing the foregoing script <NUM>, the transaction would be completed according to the user's <NUM> selection.

With specific reference to <FIG>, and in some non-limiting embodiments or aspects, provided is a method <NUM> for customizing functions of a POS terminal. The method <NUM> is performed by one or more processors of the POS terminal, and one or more of the steps therein is performed by processors communicatively connected to the POS terminal, such as a checkout computer terminal, a vendor server, a network modem, and/or the like. In step <NUM>, payment device data is received based on the POS terminal from a payment device of a user during a transaction, such as a payment transaction, between the user and a merchant. The payment transaction may include any and all steps from when a user decides to engage in an exchange with a merchant until the exchange is completed. The payment device data may include a payment device identifier, such as a credit card number, which may be encrypted.

The method <NUM> further includes a script check process <NUM>, as further shown in <FIG>. In step <NUM>, one or more scripts are received from the payment device for execution on the POS terminal. The scripts are associated with digital signatures to authenticate/verify one or more of the following parameters of the script: the contents of the script, the script type, the payment device, the user, or any combination thereof.

In step <NUM>, the script is verified by the POS terminal at least partially based on the digital signature associated with the script. For example, the POS terminal may use a public key of a cryptographic digital signature to verify the script. In step <NUM>, the script may be executed on the POS terminal to cause one or more actions associated with a user interaction with the POS terminal. User interactions for which POS terminal functions may be customized include, but are not limited to, inputting personal user data, inputting information for a payment process, viewing status of payment, viewing and interacting with advertisements, viewing and interacting with offers/rewards, selecting payment options, selecting receipt options, reading messages, observing visual/audio feedback from the POS terminal, and/or the like.

Non-limiting embodiments or aspects of such actions are further described in connection with <FIG> via an illustrative script execution process <NUM>. Ultimately, the POS terminal may perform a transaction authorization process, in step <NUM>, to complete the transaction between the user and the merchant. Step <NUM> may include generating and communicating, by the POS terminal, a transaction authorization request to a transaction service provider system, which may include payment device data (e.g., a payment device identifier), and which may include additional data derived from the script-initiated actions (e.g., user input).

With specific reference to <FIG>, and in some non-limiting embodiments or aspects, the method of customizing functions of a POS terminal includes a script check process <NUM>. The script check process <NUM> is performed by one or more processors of the POS terminal, and one or more of the steps therein may be performed by processors communicatively connected to the POS terminal, such as a checkout computer terminal, a vendor server, a network modem, and/or the like. The script check process <NUM> includes, at step <NUM>, receiving, with the POS terminal, a first set of identifiers of scripts associated with one or more types of scripts that a payment device (e.g., an electronic payment device) is configured to transmit. For example, the payment device may have three scripts stored thereon, related to a type of audio sequence action (e.g., playing a foreign language audio message), a type of third party-data action (e.g., initiating a cashback process interface), and a type of display action (e.g., displaying an advertisement). The payment device may communicate three identifiers to the POS terminal corresponding to the three types of scripts it is configured to transmit.

In step <NUM>, the first set of identifiers is compared by the POS terminal to a second set of identifiers of scripts associated with one or more types of scripts that the POS terminal is configured to execute. For example, the POS terminal may be equipped with a screen and a data connection to a third party server, and therefore it may have a set of script identifiers associated with display actions, third-party data actions, and/or the like. However, if the POS terminal does not have a speaker, it may not be able to play audio sequences, and therefore the second set of script identifiers would not include such an audio-related script identifier. In step <NUM>, a set of common script identifiers, corresponding to script identifiers common to both the first set and second set, is determined and communicated to the payment device, so that scripts relating to the common script identifiers are communicated to the POS terminal for execution. It will be appreciated that script identifiers may also relate to other parameters besides general categories of script types including, but not limited to, script languages, script authors, script size, unique script ID, and/or the like.

With specific reference to <FIG>, and in some non-limiting embodiments or aspects, the method of customizing functions of a POS terminal includes a script execution process <NUM>. The script execution process <NUM> is performed by one or more processors of the POS terminal, and one or more of the steps therein may be performed by processors communicatively connected to the POS terminal, such as a checkout computer terminal, a vendor server, a network modem, and/or the like. In step <NUM>, the POS terminal causes, in response to executing one or more scripts, an action associated with a user interaction with the POS terminal to be performed. In some non-limiting embodiments or aspects, the action may include one or more customized functions (e.g., POS terminal actions) to be carried out. Script-initiated functionality may include, but is not limited to, displaying a message (step <NUM>), displaying an image (step <NUM>), displaying an animation or video (step <NUM>), playing an audio sequence (step <NUM>), displaying a user interface with options for user selection (step <NUM>), displaying a data input field for user input (step <NUM>), communicating data to/from a third party server (step <NUM>), or any combination thereof. Any given script-initiated functionality may include one or more of the foregoing steps.

Step <NUM> may include, for example, displaying at least one message on the POS terminal including an instruction for completing the payment transaction, such as "Press 'OK' to confirm amount," "Enter PIN," "Submit payment," and/or the like. The message of step <NUM> may be in a language specified by a script that is the same or different from the default language of the POS terminal. For example, the POS terminal may be programmed and/or configured to display messages in English, but the script, when executed, may display messages in another language, e.g., French. Because the system does not require the POS terminal to be pre-programmed with script operations, the script can customize messages to be displayed in any necessary format, style, size, or language.

Step <NUM> may include, for example, displaying a user interface on the POS terminal including at least two options for selection (e.g., control buttons, touchscreen icons, etc.) including a first user option to complete the payment transaction in a single payment and a second user option to complete the payment transaction in multiple payments. Additional options or messages may be provided to specify the type of multiple payments (e.g., two payments over two months, four payments every quarter year with interest, etc.). The POS terminal may then modify a transaction authorization process, as in step <NUM> of <FIG>, particularly as initiated by the script, to communicate a transaction authorization request having data associated with the user selection of the first user option or the second user option. For example, if the user selects a multiple payments option, such as two payments over two months, data regarding that selection may be embedded in the transaction authorization request, which may be used by an issuer institution to control the use of funds of the user's account.

Claim 1:
A computer-implemented method for customizing functions of a point-of-sale, POS, terminal (<NUM>), the method, performed by a POS terminal comprising one or more processors (<NUM>) for executing program instructions, comprising:
receiving payment device data from a payment card (<NUM>) of a user during a payment transaction between the user and a merchant;
receiving, from the payment card (<NUM>), a first set (<NUM>) of identifiers of scripts associated with one or more types of scripts that the payment card is configured to transmit;
comparing the first set (<NUM>) of identifiers of scripts with a second set (<NUM>) of identifiers of scripts associated with one or more types of scripts that the POS terminal is configured to execute;
communicating, to the payment card (<NUM>), at least one identifier of scripts common to both the first set and the second set;
receiving at least one script (<NUM>), corresponding to the at least one identifier of scripts common to both the first set and the second set, for execution on the POS terminal (<NUM>) from the payment card (<NUM>), wherein the at least one script is configured to customize an existing function of the POS terminal (<NUM>) or cause the execution of a custom POS terminal function, corresponds to at least one payment device identifier of the payment card included in the payment device data, and is associated with a digital signature (<NUM>);
verifying the at least one script (<NUM>) based on the digital signature (<NUM>) of the at least one script; and
executing the at least one script (<NUM>) on the POS terminal (<NUM>) to cause an action associated with a user interaction with the POS terminal to be performed.