Transaction processing

Abstract: A transaction processing system has a number of point-of-sale apparatus (1) and a central host (10). Each apparatus (1) and a central host (10). Each apparatus (1) stores an external file (B) for transmission to external systems, an a separate host file with appended data for transmission to the central host. A conversion table (46) is accessed during a transaction to convert the merchant's local currency values to transaction currency values. Each apparatus (1) transmits host records to the host (10), which in the same communications session transmits an updated conversion table. A transmission flag permitting external communication and printing is set only after the full session is completed, the complete session being atomic.

Description: The invention relates to transaction processing, and more particularly card transaction processing at points-of-sale. WP-A-91/07725 discloses a transaction processing system comprising a plurality of point-of-sale apparatuses and a central host. Each point-of-sale apparatus comprises a processor, a storage device, a dedicated keyboard with specific point-of-sale function keys, a card reader, a display screen, a receipt printer, and a modem; each point-of- sale apparatus being arranged for capturing data from a card presented for a transaction, determining if it is authorised, and writing transaction data to an host record in the storage device, generating a dataset comprising the host records, writing the dataset to the storage device, automatically transmitting the dataset to the host; and receiving updated data from the host and writing it over existing data on the storage device. The central host comprises means for receiving a host record dataset from each point-of-sale apparatus and automatically transmitting updated data to the apparatus in the same communications session. GB-A-2054928 also discloses a transaction processing system comprising a plurality of point-of-sale apparatuses and a central host, wherein each point-of-sale apparatus comprises a processor, a storage device, a dedicated keyboard with specific point-of-sale function keys, a card reader, a display screen, a receipt printer, and a modem, each point-of-sale apparatus being arranged for capturing data from a card presented for a transaction, determining if it is authorised, and writing transaction data to an host record in the storage device, and the central host comprises means for receiving a host record dataset from each point-of-sale apparatus. An object of the invention is to provide more comprehensive card transaction processing at a number of geographically remote locations in a controlled manner. This control is essential for correct and consistent processing at the points-of-sale and communication with external systems to ensure transaction data integrity. In particular the invention ensures integrity of the transmitted transaction data, permits use of different currencies and ensures that a currency conversion table stored in each point-of-sale apparatus is regularly and easily updated. According to the invention, there is provided a transaction processing system comprising a plurality of point-of-sale apparatuses and a central host, wherein:- each point-of-sale apparatus comprises a processor, a storage device, a dedicated keyboard with specific point-of-sale function keys, a card reader, a display screen, a receipt printer, and a modem; the central host comprises a batch processor connected in a network comprising workstations and a modem pool having a plurality of serial ports, the batch processor being programmed for automatic dialling by the point-of-sale apparatuses ; each point-of-sale apparatus comprises a stored conversion table and comprises means for:- capturing data from a card presented for a transaction, determining if it is authorised, and setting an authorisation flag in the storage device according to the authorisation result; receiving an input including a transaction value in a local currency and a desired transaction currency; automatically determining an equivalent transaction value in the transaction currency by reference to the conversion table; writing transaction data with the transaction value in the transaction currency only to an external record in the storage device; appending local currency transaction value data to said transaction data and writing all of said data to a host record in the storage device; printing a transaction receipt if the authorisation flag is positive, otherwise aborting the transaction; generating a dataset comprising the host records, writing the dataset to the storage device, automatically transmitting the dataset to the host, and setting a host transmission flag according to integrity of the transmission; printing the dataset locally if the host transmission flag is positive; generating a dataset comprising the external records, writing the dataset to the storage device, and automatically transmitting the dataset to an external data processing system if the host transmission flag is positive; and receiving an updated conversion table from the host and writing it over the existing conversion table on the storage device; the central host comprises means for:- receiving a host record dataset from each point-of-sale apparatus; automatically validating each apparatus by reference to received identification signals; checking integrity of a received host record dataset; and automatically transmitting an updated conversion table to the apparatus in the same communications session if the integrity check is positive; and each point-of-sale apparatus comprises means for setting the transmission flag to indicate integrity of the host record dataset transmission only after receipt of the updated conversion table, whereby the steps of transmitting the dataset, checking integrity at the host, and receiving the updated conversion table are together an atomic operation. The features of disabling printing of a receipt according to the authorisation flag and disabling external communication according to the transmission flag help to ensure data integrity in a simple manner. By simply appending data to create the host record a fast response time is achieved during a transaction, and again data integrity is ensured. Further the atomic communications session is another simple way of ensuring data and table integrity across all of the point-of-sale apparatuses and the host of the system. In one embodiment, each point-of-sale apparatus comprises means for automatically performing card authorisation locally if a transaction amount is below a threshold level and on-line in communication with a remote authorisation processor if the transaction amount is above the threshold level, and further comprises means for allowing a user override the automatic choice to force either local or remote authorisation. Preferably, the modem pool of the host is programmed to communicate with the point-of-sale apparatus using a serial line hunting group. In another embodiment, the point-of-sale apparatus comprises means for recording host transmission attempts in a log file. In one embodiment, the processor of each point-of-sale apparatus comprises means for recognising depression of a function key on the keyboard as a remote maintenance instruction and for automatically establishing connection with a remote maintenance system and allowing it direct operation of the apparatus. The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only, with reference to the accompanying drawings, in which :- Fig. 1 is a schematic representation of a transaction processing system of the invention; Figs. 2(a) and 2(b) are together a flow chart illustrating in overview the manner in which a transaction is executed at a point-of-sale apparatus; Fig. 3 is a flow chart illustrating uploading operations performed by the apparatus; Fig. 4 is a flow chart illustrating operations which are carried out in conjunction with the currency conversion table which is stored; and Fig. 5 is a flow chart illustrating the manner in which local verification data is received. Referring to the drawings, and initially to Fig. 1, there is shown a transaction processing system of the invention. The system comprises a point-of-sale apparatus 1 which is located at a merchant's premises and a remote, off-site host 10. The apparatus 1 may for example, be installed in a car hire company's premises, a retail outlet or any other location where a merchant needs to execute transactions with financial card subscribers. The apparatus 1 comprises a processor 2 and disk drives in which files 3 are stored. The files 3 include a file H which is a processing or host file and a file B which is a bank (financial institution) file. The apparatus 1 also comprises a terminal screen 4, and a keyboard, not shown. The keyboard has a set of specific retailing function keys and does not include general data processing keys. Accordingly, the apparatus 1 is a dedicated point-of-sale machine for simple and fast operation. The card reader is incorporated in the keyboard. The apparatus 1 also comprises a receipt printer 5 and a modem pool 6. As stated above, the transaction processing system also comprises an off-site host 10 which has a network 11 with workstations 12 and a host processor 13. The off-site host 10 is programmed to communicate with a large number of point-of-sale apparatuses 1 to perform batch processing for them and to provide central control generally. The transaction processing system of the invention comprises a number of point-of-sale apparatuses 1 (only one being shown) and the off-site host 10. The system communicates with a bank transaction processor 20 and a bank authorisation processor 25. The host 10 is configured to ensure effective communication with a large number of point-of-sale apparatuses 10. In particular, the host 10 is a multi-tasking system and includes a multi-serial port device. Modems which support the connection to this device are in turn connected to the modems of the apparatuses 1 via a telephone hunting group. This allows up to eight simultaneous connections to the host. In brief overview, each point-of-sale apparatus 1 executes a card transaction at a merchant's premises in a transaction currency selected by the customer. The off-site host 10 performs off-line processing and central control operations to assist in this. The bank systems which communicate with the system process the transaction data using only the transaction currency data. Data relating to the local currency of the merchant (if different from the transaction currency) is processed only within the system of the invention, namely the apparatus 1 and the host 10. Referring now to Figs. 2(a) and 2(b), a method 40 in which an individual transaction is executed is now described. The merchant operator selects a transaction option in step 41 and in step 42 chooses a card transaction type. These inputs are very easily made because of the small number of keys on the keyboard and the fact that the inputting is totally menu-driven with a simple main menu. This allows for easy merchant operator training and helps to minimise the chances of erroneous inputs. In step 43, transaction data is inputted including the amount in the local currency of the service or product being purchased. The card is automatically read to capture its number. In this embodiment, the reader is a magnetic card reader. In step 44, the merchant operator selects the appropriate currency in which the transaction is to be executed. For example, an American tourist visiting Ireland may purchase a car hire service quoted in Irish Pounds. The merchant operator may then select USS as being the transaction currency to be used for execution of the transaction. The transaction amount is inputted in step 45 in the local currency and the processor 2 then looks up the currency conversion table 46 to convert to the transaction currency. The manner in which the conversion table 46 is received is described below. The processor ensures that only the current table is accessed by automatically overwriting a previous table immediately when a new table is received. In step 47, the processor 2 processes the card data which has been captured by the card reader. The card reader is an integral part of the keyboard and this provides for compactness at the merchant's premises. This validation operation involves ensuring that the card number is valid and the card has not expired. In more detail, the card reader reads all relevant data from track 2 of the magnetised part of the card. Subsequently the processor carries out validation checks on the card number and expiry date. If either validation check fails, the transaction is aborted. In step 48, the processor 2 authorises the transaction. Authorisation may be either local by reference to a stored "hot card" list, or on-line in communication with the bank authorisation processor 25. The processor 2 automatically performs on-line authorisation if the transaction amount exceeds a pre-set threshold level. However, the merchant operator has the option of over-riding the automatic mechanism and forcing either local or on-line authorisation, depending on the particular circumstances. For example, if it is not possible to establish a communications session with the bank authorisation processor 25, then there may be forced local authorisation. Alternatively, if the merchant operator is suspicious for any particular reason, he/she may cause forced on-line authorisation to take place. If authorisation is negative, an error message is displayed as indicated by the step 49 and the transaction is aborted. The processor 2 ensures that the authorisation procedure is not circumvented by preventing printing of a receipt if authorisation has not taken place. This is achieved by setting an authorisation flag to a positive value if authorisation is positive. The flag remains at a default negative value if authorisation does not take place or it is negative. If authorisation is positive, the processor in step 50 writes the transaction data to files in the apparatus 1. To do this, it generates a data record which includes transaction data, excluding data expressed in the local currency. This data record is written as an external record to the file B. After doing this, the processor 2 appends data relating to the local currency to create a host record and this is written to the file H. This is a fast and effective mechanism which prevents delays in apparatus response time. In addition, the processor 2 directs printing of a customer receipt only if the authorisation flag is positive. An important aspect of the customer receipt is that the amount of the transaction is expressed in the (usually foreign) transaction currency so that the customer can see exactly how much is being paid in the currency he or she is familiar with. All of the above operations have been performed locally at the merchant's premises using the point-of-sale apparatus 1. During a transaction period records are appended in real time to the files H and B and at the end of the period such as the end of the day, various uploads and downloads take place in conjunction with both the off-site host 10 and the bank transaction processor 20. The processor 2 communicates the host records and external records retrieved from their respective files in communication datasets. As indicated by the method 60 in Fig. 3, the merchant operator may select a batch operation in step 61 and in step 62 may choose to perform a batch upload or print a report. Further steps require input of a supervisor password in step 63. Where a report is required, the date is retrieved in step 64 from a real-time clock and the report is printed in step 65. However, the report instruction is disabled according to a transmission flag until an upload to the off-site host 10 has taken place for the particular transaction period. To process the data for the report and ensure there is no data corruption, the processor 2 backs up the report data onto the fixed disk. The number of backup files is parameter-driven. In step 66, the processor 2 retrieves the files B and H, generates the host and external datasets, and establishes a communication session with the host 10. It then transmits the host dataset directly to the host 10 without performing any further processing operations on this data. If there are any communication problems, a display failure message is displayed in step 67 and the transmission is re-tried. The processor 2 will not proceed to upload the external dataset to the bank transaction processor 20 until after a successful upload to the host 10 has taken place (transmission flag positive). This is because the off-site host 10 is part of the same transaction processing system as the apparatus 1 and it is essential that the system be updated internally before there is communication with an external system such as the bank transaction processor 20. An important aspect of the upload to the host 10 is that the host 10 automatically validates the merchant address and automatically chooses a relevant currency table which applies to that merchant when the communications session is established. Thus, immediately after valid upload of the host dataset to the host 10, the host 10 automatically downloads the current currency conversion table. In this way, the apparatus 1 always stores a current currency conversion table and this data does not become out-of-date. The current currency conversion table is written over the previous table. If any of the batch communications - data upload, merchant validation at the host, table download, table over-writing - fails, the entire communication fails and must be repeated. The transmission flag remains negative until this, atomic, operation is successful. Once upload of the host dataset has been performed successfully, the apparatus 1 may print a summary report using this data as indicated by the steps 64 and 65. The processor 2 then attempts upload of the external dataset to the bank transaction processor 20. Again, the data transfer is the direct contents of the external records, without additional processing being performed. Three attempts are made to successfully upload the external dataset and if all three are unsuccessful in the next transaction period the processor 2 simply appends records to the file B. Each unsuccessful attempt is indicated in a failure message in step 68. Every transmission attempt either to the off-site host 10 or to the bank transaction processor 20 is recorded in a separately stored log file. Subsequent to upload of the datasets, the apparatus 1 and the host 10 independently perform validation operations to generate various reports. These are subsequently cross-referenced to check accuracy. Another important aspect of the invention is the fact that personnel at the off-site host 10 may perform remote maintenance operations on each apparatus 1 by establishing on-line contact and activating a remote execution program. In more detail, two keys on a host workstation are used to initiate remote maintenance, one key for each of two types of maintenance. Depression of one of these keys causes the processor 2 to establish communication with the remote maintenance processor on the host network, which, in turn takes over control of the apparatus 1 for fault diagnosis and debugging. Referring now to Fig. 4, a method 80 is illustrated in which in step 81 the merchant operator may select a "currencies" option which allows choice in step 82 of viewing or amending a currency conversion table 46. In step 84, the processor 2 may amend the table provided a supervisor password had previously been inputted. In step 83, it may simply direct displaying of the table. This is useful as it provides a simple output for reference by customers and the merchant operators. Referring now to Fig. 5, a method 100 is illustrated in which in step 101 the merchant operator may select a "hot card" option which causes the processor 2 to in step 102 contact the bank authorisation processor 25 to request download of a hot card file 103. This is subsequently used for local card authorisation. It will be appreciated that the invention provides for execution of transactions in a customer's desired currency so that he/she can immediately see how much money is being spent. This "user-friendliness" is achieved in a simple manner by communication with the off-site host 10 which acts in conjunction with a number of apparatuses 1. The invention is not limited to the embodiments described, but may be varied within the scope of the claims in construction and detail.

Claims: A transaction processing system comprising a plurality of point-of-sale apparatuses (1) and a central host (10), wherein:- each point-of-sale apparatus (1) comprises a processor (2), a storage device (3), a dedicated keyboard with specific point-of-sale function keys, a card reader, a display screen (4), a receipt printer (5), and a modem (6); the central host (10) comprises a batch processor connected in a network comprising work stations (12) and a modem pool having a plurality of serial ports, the batch processor being programmed for automatic dialling by the point-of-sale apparatuses (1); each point-of-sale apparatus (1) comprise a stored conversion table (46) and comprises means for:- capturing data from a card presented for a transaction, determining if it is authorised, and setting an authorisation flag in the storage device according to the authorisation result; receiving an input including a transaction value in a local currency, and an indication of a desired transaction currency; automatically determining an equivalent transaction value in the transaction currency by reference to the conversion table (46); writing transaction data with the transaction value in the transaction currency only to an external record (B) in the storage device (3); appending local currency transaction value data to said transaction data and writing all of said data to a host record (H) in the storage device (3); printing a transaction receipt if the authorisation flag is positive, otherwise aborting the transaction; generating a dataset comprising the host records, writing the dataset to the storage device, automatically transmitting the dataset to the host (10), and setting a host transmission flag according to integrity of the transmission; printing the dataset locally if the host transmission flag is positive; generating a dataset comprising the external records, writing the dataset to the storage device, and automatically transmitting the dataset to an external data processing system (20) if the host transmission flag is positive; and receiving an updated conversion table from the host (10) and writing it over the existing conversion table (46) on the storage device (3); the central host (10) comprises means for:- receiving a host record dataset from each point-of-sale apparatus (1); automatically validating each apparatus (1) by reference to received identification signals; checking integrity of a received host record dataset; and automatically transmitting an updated conversion table (46) to the apparatus (1) in the same communications session if the integrity check is positive; and each point-of-sale apparatus (1) comprises means for setting the transmission flag to indicate integrity of the host record dataset transmission only after receipt of the updated conversion table (46), whereby the steps of transmitting the dataset, checking integrity at the host, and receiving the updated conversion table are together an atomic operation. A system as claimed in claim 1, wherein each point-of-sale apparatus (1) comprises means for automatically performing card authorisation locally if a transaction amount is below a threshold level and on-line in communication with a remote authorisation processor (25) if the transaction amount is above the threshold level, and further comprises means for allowing a user override the automatic choice to force either local or remote authorisation. A system as claimed in claims 1 or 2, wherein the modem pool of the host (10) is programmed to communicate with the point-of-sale apparatus (1) using a serial line hunting group. A system as claimed in any preceding claim, wherein the point-of-sale apparatus (1) comprises means for recording host transmission attempts in a log file. A system as claimed in any preceding claim, wherein the processor (2) of each point-of-sale apparatus (1) comprises means for recognising depression of a function key on the keyboard as a remote maintenance instruction and for automatically establishing connection with a remote maintenance system and allowing it direct operation of the apparatus.

Inventors: MURPHY FRANK, MURPHY, FRANK
Applicants: FEXCO
Application year: 1997
Main classification: G07F19
IPC codes: G07F7, G07G1, G07G3, G06Q20