CPC G06Q 20/342 (2013.01) [G06Q 20/3267 (2020.05); G06Q 20/36 (2013.01); G06Q 20/4014 (2013.01); G06Q 30/0226 (2013.01)] | 13 Claims |
1. A method, comprising:
initiating, by a computer based system, a payment at a merchant;
receiving, by the computer based system, an authorization message based on the payment,
wherein the authorization message comprises a currency type and at least four of a transaction number, a timestamp, a Pseudo-Primary Account Number (PPAN), an amount, a transaction code, a transaction type, a description, an acquirer ID, a merchant ID, a merchant name, a terminal ID, and a reference number;
logging, by the computer based system, the authorization message into a database along with a plurality of authorization messages;
tuning, by the computer based system, the database to optimize performance of the database,
wherein the tuning includes placing frequently used files on separate file systems to reduce in and out bottlenecks;
designating, by the computer based system, the authorization message as a key field in a plurality of related data tables in the database, to speed searching for the authorization message among the plurality of authorization messages,
wherein the key field partitions the database according to the high-level class of objects defined by the key field of a plurality of key fields;
merging, by the computer based system, the plurality of related data tables based on the types of the plurality of authorization messages in the plurality of key fields;
sorting, by the computer based system and in the merged plurality of related data tables, the plurality of authorization messages, according to a known order to simplify a lookup process;
obtaining, by the computer based system, the plurality of authorization messages from the merged plurality of related data tables in the database;
checking, by the computer based system, whether the currency type is an approved currency type;
rejecting, by the computer based system, a transaction in response to determining the currency type is not the approved currency type;
executing, by the computer based system, an authorization process to determine an authorized transaction, in response to receiving the authorization message from the plurality of authorization messages;
validating, by the computer based system, the authorized transaction to determine whether the authorized transaction is associated with a customer;
executing, by the computer based system, a merchant validation process to determine if the authorized transaction is associated with the merchant;
determining, by the computer based system, an available gift card account balance of the customer associated with the merchant in response to determining the authorized transaction is associated with both the customer and the merchant;
executing, by the computer based system, a gift card redemption process to redeem the available gift card account balance of the customer associated with the merchant,
wherein the executing the gift card redemption process comprises:
recalling, by the computer based system, based on at least one of the merchant ID or the merchant name a plurality of gift cards associated with a customer record from a database of gift cards;
ordering, by the computer based system, the plurality of gift cards associated with the customer record in reverse chronological order; and
redeeming, by the computer based system, the plurality of gift cards in the reverse chronological order for at least a portion of the amount of the authorization message;
paying, by the computer based system using a digital wallet payment process, any remaining balance of a transaction amount unable to be paid from the redeeming the plurality of gift cards; and
applying, by the computer based system using a loyalty cashback process, a credit, based on the transaction amount, to a digital wallet balance associated with the customer.
|