A payment processing system for implementing a product purchase reward payment, the system comprising:
- an EFTPOS terminal;
- an optical scanner in operable communication with the EFTPOS terminal using a scanning controller, wherein the EFTPOS terminal comprises:
- a firewall configured to implement data protection;
- an encryption module configured to encrypt cardholder data and encrypt transmission of cardholder data to a reward scheme server;
- a memory device preprogrammed with product data comprising product IDs stored in relation to respective product prices, wherein the EFTPOS terminal is configured to store the product data locally in the memory device and use the scanning controller to ascertain the product price from a product ID scanned by the optical scanner using the locally stored product data, and wherein the firewall and encryption module are integrated within the EFTPOS terminal to secure both the locally stored product data and the transmission of transaction data to the reward scheme server;
- a digital display and a user interface controller configured to display a plurality of scanned products on the digital display and wherein the EFTPOS terminal is configured to calculate a total amount of the plurality of scanned products;
- a card reader and payment controller configured to read a PAN from a card for initiating a financial transaction for the total amount, wherein the payment controller is configured to generate and store a hash of the PAN using a one-way hashing algorithm, wherein the EFTPOS terminal is a PCI compliant standalone device, and wherein the one-way hashing algorithm avoids storage of the PAN by the reward scheme server, thereby maintaining PCI compliance of the EFTPOS terminal;
- and
- a server interface controller configured to transmit transaction data to a reward scheme server, the transaction data comprising product IDs of the scanned products;
- and
- a reward scheme server in operable communication with the EFTPOS terminal across a wide area network, wherein the reward scheme server comprises:
- a database comprising a plurality of reward rules, each associated with an associated product ID;
- a rule controller configured to:
- retrieve at least one rule matching a product ID;
- determine a reward amount associated with the rule;
- determine a provider ID associated with the rule;
- cause a payment controller to initiate at least one financial transaction according to the provider ID and the reward amount;
- and
- store a transaction log comprising a transaction ID of the financial transaction and a hash of the PAN generated using the one-way hashing algorithm;
- and
- a refund controller configured to:
- receive the transaction ID from the EFTPOS terminal;
- select the transaction from the transaction log using the transaction ID;
- receive a further PAN obtained by the EFTPOS terminal from a payment card;
- generate a further hash of the further PAN using the one-way hashing algorithm;
- compare the hash stored in the transaction log and the further hash;
- and
- upon the hash and the further hash matching, cause the payment controller to initiate at least one reversal financial transaction according to the reward amount using the further PAN.