1). Field of the Invention
This invention relates generally to a transactions network and to a method and system for managing electronic transactions.
2). Discussion of Related Art
A customer who visits a store often uses a point-of-sale instrument such as a bank card or a credit card to pay for an item or items that are being purchased. The point-of-sale instrument communicates with a point-of-sale device such as a credit card reader. The point-of-sale device forms part of a point-of-sale network that communicates a charge request to a merchant acquirer computer system and the merchant acquirer computer system routes the charge to credit card and issuer computer systems forming part of the point-of-sale network. The credit card and issuer computer systems may for example include a credit card account to which an amount recorded on the point-of-sale device can be charged if sufficient funds or credit are available. The credit card and issuer computer systems then return a confirmation through the merchant acquirer computer system to the point-of-sale device that the transaction is good, whereafter an operator of the point-of-sale device will allow the customer to leave the store with the item or items that are being purchased.
Electronic transactions can be conducted in a similar manner. In the case of electronic transactions, a user can enter details of a point-of-sale instrument into an interface. Once the details are received, a charge request can be transmitted to a merchant acquirer computer system, and then be processed in a similar manner.
The invention provides a server computer system for managing electronic transactions, including a processor, a computer-readable medium connected to the processor, a network interface device connected to the processor and a set of instructions on the computer-readable medium, the set of instructions being executable by the processor. The set of instructions includes a data store, transaction data of consumers stored in the data store, a plurality of merchant accounts stored in the data store, each merchant account having a merchant account identifier, a merchant account management system receiving an offer entry over the network interface device from each of a plurality of merchant computer systems, the merchant offer being stored in the data store in association with the merchant account having the respective merchant account identifier, a campaign management system transmitting at least a representation of the transaction data over the network interface device to each of a plurality of the merchant computer system, receiving a bid from each of a plurality of the merchant computer system for the transaction data, comparing the bids, and associating an activation level of at least one of the offer entries based on the comparison of the bids and an offer push module transmitting the offer entry over the network interface device to at least one consumer device based, the transmission of the offer entry being dependent on the activation level of the offer entry.
The invention also provides a computer-based method of managing electronic transactions including storing, with the processor, transaction data of consumers in a data store, storing, with a processor, a plurality of merchant accounts in the data store, each merchant account having a respective merchant account identifier, receiving, with the processor, an offer entry over the network interface device from each of a plurality of merchant computer systems, storing, with the processor, the offer entry in the data store in association with the merchant account having the respective merchant account identifier, transmitting, with the processor, at least a representation of the transaction data over the network interface device to each of a plurality of the merchant computer system, receiving, with the processor, a bid from each of a plurality of the merchant computer system for the transaction data, comparing, with the processor, the bids, associating, with the processor, an activation level of at least one of the offer entries based on the comparison of the bids and transmitting, with the processor, the offer entry over the network interface device to at least one consumer device based, the transmission of the offer entry being dependent on the activation level of the offer entry.
The invention is further described by way of example with reference to the accompanying drawings, wherein:
The server computer system 12 includes a plurality of consumer accounts (only one consumer account 28 shown), a consumer account setup module 32, a plurality of merchant accounts (only one merchant account 36 shown), a merchant account management system 38, a transaction clearing system 40 and a voucher management system 42.
As shown in
When the mobile application 208 is initially downloaded onto the mobile device 24, a consumer is provided access to the consumer account setup module 212. The consumer can enter a Mobile Subscriber Integrated Services Digital Network Number (MSISDN) 222, a password 224 and a 16 digit primary account number (PAN) 300 into the interface 210. The MSISDN 222, the password 224 and PAN 300 are received as a MSISDN 226, a password 228 and a PAN 301 within the consumer account setup module 212 and are transmitted by the consumer account setup module 212 to the consumer account setup module 32.
The consumer account setup module 32 then establishes one consumer account 28 with a password 64 corresponding to the password 228, a MSISDN 66 corresponding to the MSISDN 226 and a PAN 303 corresponding to the PAN 301. The MSISDN 66 and the PAN 303 can either serve as consumer account identifier for the respective consumer account 28. Each consumer account 28 will therefore have a different MSISDN 66 and PAN 303. The consumer can also enter preferences and details 594 into the interface 210, which is received by the consumer account setup module 212 as preferences and details 596. The preferences and details 596 are transmitted to the consumer account setup module 32.
The system further includes a login module 70. A consumer at the mobile device 24 in
The PAN list update system 400 includes a registration detection module 408, a deregistration detection module 410, a PAN update log generation module 412, and a PAN update log push module 414.
Both the registration detection module 408 and deregistration detection module 410 are connected to the consumer account 28 and all other consumer accounts to detect when a PAN such as the PAN 303 is added to a consumer account, a second PAN is added to a consumer account, or when a new consumer account is registered with a respective PAN. The PAN update log generation module 412 is connected to the registration detection module 408 and the deregistration detection module 410. Immediately upon detection of a registration or deregistration of a PAN, the PAN update log generation module 412 records both the PAN and a flag to indicate that the PAN is registered or deregistered. Over a period of time, e.g. 60 seconds, a log is generated with a plurality of PANs, wherein each PAN is flagged with a registration or deregistration field.
The PAN update log push module 414 is connected to the PAN update log generation module 412 and the clock 402. The PAN update log push module 414 periodically, e.g. every 60 seconds, retrieves the log generated by the PAN update log generation module 412 and transmits the log over a network interface device of the server computer system 12 to the merchant acquirer computer system 280. The PAN update log push module 414 then clears the log within the PAN list update system 400.
The PAN list maintenance system 404 includes a PAN list 416, a PAN update log receiving module 418, and a PAN list update module 420. The PAN list 416 includes a list of PANs that are known to be registered within the consumer account 28 and other consumer accounts of the server computer system 12. In an alternative embodiment, the PAN list 416 may include all PANs that have in the past been registered with the server computer system 12, wherein each one of the PANs within the PAN list 416 is flagged as being active or not active. For purposes of further discussion, a PAN is considered to be active if it appears within the PAN list 416 and is considered to be not active if it does not appear within the PAN list 416.
The PAN update log receiving module 418 receives the log from the PAN update log push module 414 of the server computer system 12 via a network interface device of the merchant acquirer computer system 280. The PAN list update module 420 then uses the log received with the PAN update log receiving module 418 to update the PAN list 416. PANs that have been flagged as registered within the log are added to the PAN list 416. PANs that have been flagged as deregistered are removed from the PAN list 416.
It can thus be seen that the PAN list 416 includes all PANs that have been registered within the server computer system 12 and no other PANs. In another embodiment, the merchant acquirer computer system 280 may receive a list of PANs from another source such as a credit card or issuer computer system.
In the example illustrated in
Furthermore, the transaction processing system 406 will use PANs in the transaction flow to identify consumer accounts. In an alternative embodiment, the transaction processing system 406 may use another consumer account identifier such as a MSISDN, email, social security number, etc. in the transaction flow, in which case the PAN list 416 will be replaced by a list of consumer account identifiers of the type used by the transaction processing system 406.
The offer network integration unit 502 includes a transaction details data store 504, a bulk transaction data push module 506, a transaction identifier module 508, and a consumer transaction data push module 510. All transactions that are received by the merchant acquirer computer system 280 are stored within the transaction details data store 504. The details of a particular transaction can include the PAN, time, amount, the merchant account ID and location.
The bulk transaction data push module 506 initially transmits details of all the transactions in the transaction details data store 504 to the server computer system 12. The only data that is removed are the PANs that are used for the respective transactions. As such, at 512, the bulk transaction data push module 506 transmits bulk data including the time, amount, merchant account ID and location of each transaction to the server computer system 12.
The server computer system 12 includes a bulk transaction data retrieval module 514, a bulk profile building module 516, and a bulk profile 518. The bulk transaction data retrieval module 514 receives the bulk data 512 from the bulk transaction data push module 506. The bulk profile building module 516 then utilizes the bulk data 512 received by the bulk transaction data retrieval module 514 to build the bulk profile 518. Because the bulk data 512 does not include any PANs, the identities of particular consumers cannot be identified by the server computer system 12 and within the bulk profile 518.
The transaction identifier module 508 is connected to the PAN list 416 and can select particular transactions within the transaction details data store 504 based on the PANs in the PAN list 416. Because the PAN list 416 includes only the PAN 303 in the consumer account 28 and other consumer accounts registered within the server computer system 12, the transaction identifier module 508 only identifies transactions within the transaction details data store 504 for PANs within the server computer system 12. The consumer transaction data push module 510 then transmits only the transactions for the PANs identified by the transaction identifier module 508 to be within the PAN list 416 to the server computer system 12. At 520, the consumer transaction data push module 510 thus transmits consumer transaction data including the PAN, time, amount, merchant account ID and location of all transactions within the transaction details data store 504 identified by the transaction identifier module 508 from the PAN list 416.
The server computer system 12 includes an account-specific transaction data retrieval module 522, a PAN mapping module 524, transaction details 526 within the consumer account 28, a consumer profile building module 528, and a consumer profile 530 within the consumer account 28.
The account-specific transaction data retrieval module 522 receives the consumer transaction data 520 from the consumer transaction data push module 510. The PAN mapping module 524 then utilizes the PANs within the consumer transaction data 520 to identify consumer accounts 28 having one or more PANs 303 corresponding to the PANs in the consumer transaction data 520. The PAN mapping module 524 then stores all and only the transactions for matching PANs within the transaction details 526. All transactions by a particular consumer are thus stored within the consumer account 28 of the particular consumer.
The consumer can also access the consumer account setup module 32 to enter preferences and details 532 within the particular consumer account 28. Preferences may include particular foods, bars, restaurants, apparel etc. Details may include gender, date of birth, home address, business address etc. The consumer profile building module 528 utilizes all the transaction details 526 and all the preferences and details 532 within the consumer account 28 to build the consumer profile 530 for the particular consumer account 28. The consumer profile 530 thus includes details of time, amount, merchant account ID and location of all transactions corresponding to the PAN 303 and any other PANs registered within the consumer account 28 and includes the preferences and details 532 of the particular consumer account 28.
The server computer system 12 further includes a target profile attribute system 531. The target profile attribute system 531 retrieves the bulk profile 518 and the consumer profile 530 of the consumer account 28 and all other consumer profiles of all other consumer accounts 28 registered within the server computer system 12. The target profile attribute system 531 thus includes a corpus of data of all the consumer accounts 28 in the server computer system 12, including all the preferences and details 532, plus all other transactions that went through the merchant acquirer computer system 280 in
As shown in
The merchant account management system 38 includes an interface 134, a login module 136, a voucher and advertisement upload module 154, and a campaign management system 540.
A merchant at the merchant computer system 20 can log into the merchant account 36 by downloading the interface 134 and entering a merchant account ID 142 and a password 144 via the interface 134 into the merchant account management system 38. The login module 136 then compares the merchant account ID 142 and the password 144 with the merchant account ID 130 and password 132 to identify and provide access to the respective merchant account 36. The login module 136 then at 146 authorizes access to the voucher and advertisement upload module 154 by the merchant computer system 20 only for purposes of the respective merchant account 36 having the merchant account ID 130 matching the merchant account ID 142. At 148, the login module 136 similarly authorizes access to the campaign management system 540 by the merchant computer system 20.
A merchant at the merchant computer system 20 uses the interface 134 to enter voucher information, including terminal numbers 160, items 162, discounts 164, the total number available 166 and a message 542. The voucher and advertisement upload module 154 then stores a respective voucher entry 168 or advertisement entry 544 in or associated with the merchant account 36 having the merchant account ID 130.
The voucher entry 168 includes terminal numbers 170 corresponding to the terminal numbers 160, a discount 174 corresponding to one of the discounts 164, and a total number available 176 corresponding to the total number available 166. By way of example, the terminal numbers 170 may be terminals 2 and 5, the discount 174 may be 50 cents and the total number available 176 may be 60. Similarly, additional voucher entries can be entered from the merchant computer system 20 through the interface 134 and the voucher and advertisement upload module 154. Each voucher entry has a respective data set for terminal numbers 170, a discount 174 and the total number available 176. Each voucher entry also has a respective voucher ID 184.
The advertisement entry 544 includes a message 546 that is the same as the message 542 entered into the interface 134. Similarly, additional advertisement entries can be entered from the merchant computer system 20 through the interface 134 and the voucher and advertisement upload module 154. Each advertisement entry has a respective message similar to the message 546, but the messages are all different. Each advertisement entry also has a respective advertisement ID 548.
The campaign management system 540 includes a bidding engine 550 with a filter and a dynamic pricing capabilities and a payment module 552. The bidding engine 550 receives the data from the target profile attribute system 531 and is accessible from the merchant computer system 20 through the interface 134. A merchant at the merchant computer system 20 enters filter attributes 554 through the interface 134 into the bidding engine 550. One filter attribute may for example be spend amount. In such an example, the merchant may select spend amount's of between $10 and $15. The filter of the bidding engine 550 then identifies which transactions within the target profile attribute system 531 will fall within the range of $10 to $15. If a transaction is for example $12, then the transaction would be identified as being potentially relevant for the particular merchant. As previously mentioned, the time of each transaction is also recorded within the target profile attribute system 531. The merchant can select a time range e.g. from 11 am until 1 pm and/or select frequency e.g. at least every day or at least once a week, whereafter the filter of the bidding engine 550 identifies particular consumers that have spending habits within the time-specific filter attribute specified by the merchant. The merchant can also select a filter attribute that corresponds to location. For example, the merchant can specify a particular address, namely street and number and specify a radius around the particular address. Alternatively, the merchant can specify a particular neighborhood. The filter of the bidding engine 550 then identifies transactions that occur at locations within the radius or neighborhood specified by the merchant. Other filter attributes that can be specified by the merchant include for example gender (e.g. male) or age (e.g. between 24 and 36 years old).
The pricing capabilities of the bidding engine 550 then calculates a price based on the filter attributes 554. The price is determined by comparing bids from other merchant computer systems for the same filter attributes 554 or overlapping filter attributes. An overlap may for example exist if one merchant bids for a price range of $7 to $12 and another merchant bids for a price range of $10 to $15. The bidding engine 550 then transmits a number of individuals 556 and a price 558 to the merchant computer system 20 for display within the interface 134 at the merchant computer system 20. Alternatively, the bidding engine 550 can calculate and transmit a number of different prices, wherein a high price will receive a more favorable placement or preferential transmission by a decision engine. Alternatively, the bidding engine 550 does not calculate a price but the price is instead entered by the merchant computer system 20 as part of a bid.
The merchant at the merchant computer system 20 transmits a payment instruction with a payment 560 through the interface 134 to the payment module 552. In the present example, the payment module 552 enters a price 562 as an activation level 564 within the advertisement entry 544. The price 562 may be either a price calculated by the pricing capabilities of the bidding engine 550 or may be the bidding price as entered by the merchant at the merchant computer system 20.
The server computer system also includes a filter attribute storing module 568 that is connected to the bidding engine 550 and the payment module 552. The filter attribute storing module 568 has functionality that is activated by the payment module 552 when the payment 560 is received by the payment module 552. The filter attribute storing module 568 responds to the payment module 552 by extracting the filter attributes 554 from the bidding engine 550 and storing the filter attributes 554 as filter attributes 570 within the advertisement entry 544. A separate module also receives the total number available from the bidding engine 550 based on the filter attributes 554 and the payment 560 and stores the total number available as the total number available 598 within the advertisement entry 544.
In
In
In
In
In
The second targeting selection that can be made by the merchant is to target new customers. The server computer system 12 then only extracts consumers that have been registered with the server computer system 12 within the last week, two weeks or the like.
The third targeting selection that can be made by the merchant is to increase “footfall” for purposes of increasing traffic during slow hours. In such a scenario, the merchant may for example indicate that the merchant wishes to increase “footfall” between 1 pm and 3 pm. The server computer system 12 has a module that looks for consumers that routinely spend for similar items at the same or other stores outside of the time window specified by the merchant, for example at 10 am.
The fourth targeting option that is selectable by the merchant is to target loyalty. In such a scenario, the server computer system will look for consumers who have in the past made purchases at the particular merchant, but have not made any purchases for more than a predetermined amount of time such as two weeks. The server computer system will then automatically increase the number of push notifications to such consumers as opposed to other consumers.
In
As shown in
The voucher push module 196 at 200 receives all the voucher ID's 184 of the voucher entries. Referring again to
The merchant offers in the form of the voucher ID's 204 can then be further processed based on the association of the voucher ID's 204 with the MSISDN 66 of the respective consumer account 28. In particular, the voucher ID's 204 can be transmitted to the mobile device 24 and be received by a mobile application that has been logged into the respective consumer account 28 by way of an identifier of the consumer account 28 having the MSISDN 66 as a consumer account identifier. Following login of the mobile application 208 into the consumer account 28, the vouchers viewing module 216 is accessible by a consumer operating the mobile device 24. The consumer then directs the vouchers viewing module 216 to download the voucher ID's 204 from the consumer account 28 as voucher ID's 260 received by the vouchers viewing module 216. Each voucher ID 260 has an associated image and the images are collectively displayed as voucher images 262 within the interface 210. Each voucher entry 168 within the merchant account 36 of
As shown in
The consumer uses a single point-of-sale instrument to pay for an item that the consumer wishes to purchase. The point-of-sale instrument may for example be a credit card, a bank card or a Near Field Communication (NFC) device. The point-of-sale instrument includes a single 16 digit PAN. The first six digits of the PAN are an issuer identification number (IIN). The first digit of the IIN is a major industry identifier (MII). The last ten digits of the PAN comprise an individual account identifier (IAI).
The consumer uses the point-of-sale instrument to communicate with the point-of-sale device 278. The point-of-sale device 278 receives the PAN from the point-of-sale instrument. In the case where the point-of-sale instrument is a credit card or a bank card, the PAN is located on a magnetic strip and the point-of-sale device is a device that has a magnetic strip reader. In the example where the point-of-sale instrument is an NFC device, the point-of-sale device 278 communicates with the point-of-sale instrument through electromagnetic waves to receive the PAN.
The point-of-sale device 278 transmits a charge request 284 to the merchant acquirer computer system 280. The charge request 284 includes the PAN, the terminal number of the point-of-sale device 278 and the total price of all the items.
The charge request 284 is received from the point-of-sale device 278 by the transaction receiving and confirmation module 430. The charge request 284 is typically an International Standards Organization (ISO) 8583 message type indicator 200. For purposes of discussion, the charge request 284 includes the PAN serving as a consumer account identifier, the terminal number of the point-of-sale device 278, and a charge amount of $10.
The decision module 432 then decides whether the transaction processing system 406 should operate in a standard mode or in a discount checking mode. The decision module 432 utilizes the PAN received in the charge request 284 through the transaction receiving and confirmation module 430 and provides the PAN to the PAN list checking module 434. The PAN list checking module 434 then compares the PAN received from the decision module 432 with all PANs within the PAN list 416. The PAN list checking module 434 thus checks whether the PAN received from the decision module 432 exists within the PANs in the PAN list 416. If the PAN received from the decision module 432 exists within the PANs of the PAN list 416, the PAN is considered to be active within the PAN list 416. If the PAN does not exist within the PAN list 416, the PAN is considered to be not active in the PAN list 416. The PAN list checking module 434 then reports back to the decision module 432 with an indication whether the PAN is active or not active within the PAN list 416. If the PAN is not active within the PAN list 416, the decision module 432 operates the transaction processing system 406 in standard mode as illustrated in
Referring specifically to
The credit card and issuer computer systems 282 then return a charge confirmation 364, which is received over the network and via the network interface device of the transaction processing system 406 by the charge confirmation receiving module 440. The credit card and issuer computer systems 282 only transmit the charge confirmation 364 if sufficient funds are shown to be available within the credit card and issuer computer systems 282. If insufficient funds are available, then the charge confirmation 364 is replaced by a charge rejection (not shown). Because the charge request 286 includes a charge amount of $10, a minimum amount of funds that should be available within the credit card and issuer computer systems 282 should be at least $10 in order to receive the charge confirmation 364 when operating in standard mode. When operating in standard mode the charge confirmation 364 is an ISO 8583 message type indicator 210.
The charge confirmation receiving module 440 passes the charge confirmation 364 on to the transaction receiving and confirmation module 430. The transaction receiving and confirmation module 430 then transmits a confirmation 366 via the network interface device of the merchant acquirer computer system 280 and over the network to the point-of-sale device 278. The charge confirmation 366 is also an ISO 8583 message type indicator 210. The charge confirmation 366 includes a confirmation that sufficient funds are available for the charge amount of $10. The confirmation 366 will however be replaced by a charge rejection if insufficient funds are available.
The transaction receiving and confirmation module 430 is also connected to the transaction details data store 504 in
Reference is now made to
The discount processing module 442 first invokes the operation of the reserve checking module 444. The reserve checking module 444 provides both the PAN and the charge amount, in the present example $10, to the reserve forwarding module 446. The reserve forwarding module 446 then transmits a reserve request 460 over the network interface device and the network to the credit card and issuer computer systems 282. In discount checking mode, the reserve request 460 is typically an ISO 8583 message type indicator 100. The reserve request 460 includes the PAN received in the charge request 284 and the charge amount of $10 which has not been reduced by any discount.
The credit card and issuer computer systems 282 then return a reserve confirmation 462 over the network and is received via the network interface device of the merchant acquirer computer system 280 by the reserve confirmation receiving module 448. The credit card and issuer computer systems 282 only transmit the reserve confirmation 462 if sufficient funds are shown to be available within the credit card and issuer computer systems 282. If insufficient funds are available within the credit card and issuer computer systems 282, the reserve confirmation 462 is replaced by a reserve rejection (not shown). In the present example, funds equal or more than the charge amount of $10 should be available within the credit card and issuer computer systems 282 in order to receive the reserve confirmation 462. In discount checking mode, the reserve confirmation 462 is typically an ISO 8583 message type indicator 110.
The reserve confirmation receiving module 448 then passes the reserve confirmation 462 on to the reserve checking module 444. The reserve checking module 444 then provides the reserve confirmation 462 on to the transaction receiving and confirmation module 430. The transaction receiving and confirmation module 430 then transmits a confirmation 466 over the network interface device of the merchant acquirer computer system 280 and the network to the point-of-sale device 278. The confirmation 466 is the same as the reserve confirmation 462 and is therefore also an ISO 8583 message type indicator 110. The confirmation 466 includes a confirmation that sufficient funds of at least $10 are available. The confirmation 466 will however be replaced by a reserve rejection if insufficient funds are available.
The reserve checking module 444 also reports back to the discount processing module 442. If the reserve confirmation 462 has been received, the discount processing module 442 invokes operation of the discount checking module 450. The discount processing module 442 however does not invoke the operation of the discount checking module 450 if a reserve rejection is received instead of a reserve confirmation 462.
The discount checking module 450 then transmits a discount checking call 468 over the network interface device of the merchant acquirer computer system 280 to a point-of-sale gateway 294 forming part of the transaction clearing system 40 shown in
As shown in
At 308, the point-of-sale gateway 294 provides a data set to an account lookup and debit module 310 forming part of the transaction clearing system 40, including the PAN, the terminal number, the amount, and the respective merchant account ID received in the discount checking call 468 of
The account lookup and debit module 310 receives the data set provided at 308 from the point-of-sale gateway 294. At 316, the account lookup and debit module 310 provides a data set to the voucher application module 312, including the PAN, terminal number, amount and merchant account ID. Referring again to
The voucher lookup module 320 receives the data transmitted at 318 from the voucher application module 312. The voucher lookup module 320 then uses the data received at 318 to determine whether the data matches the data in the voucher entries 168. In each case, both the merchant account ID and the terminal number received in the data 318 are used to determine which ones of the voucher entries 168 have merchant account ID's 130 and matching terminal numbers 170.
The voucher lookup module 320 subsequently retrieves a set of data from an identified voucher entry 168, including the discount 174, in the present example $2, the voucher ID 184 and the total number available 176. The voucher lookup module 320 then makes a determination whether the total number available 176 of the respective voucher entry 168 is more than zero, in which case and only in that case, is the voucher entry 168 still valid. The voucher lookup module 320 also retrieves the merchant account ID 130. For purposes of further discussion, the voucher ID 184 of the identified voucher entry 168 is still valid and referred to herein as “voucher ID B.”
The voucher lookup module 320 at 326 submits the voucher ID of the identified voucher entry 168, now referred to as “voucher ID B” to the voucher availability module 322. Referring now to
Referring again to
Referring again to
The discount receiving module 452 provides a discount, in the present example $2, to the charge calculation module 454. The charge calculation module 454 receives the charge amount of $10 from the transaction receiving and confirmation module 430. The charge calculation module 454 then calculates a discounted amount of $8 by subtracting the discount amount of $2 from the charge amount of $10. The charge calculation module 454 then reports the discounted amount of $8 to the charge processing module 436.
The charge processing module 436 provides the discounted amount $8 to the charge forwarding module 438. The charge forwarding module 438 then submits a charge request 474 via the network interface device of the merchant acquirer computer system 280 and the network to the credit card and issuer computer systems 282. The charge request 474 is typically and ISO 8583 message type indicator 220. The charge request 474 includes the PAN of the charge request 284 and the discount amount of $8.
The credit card and issuer computer systems 282 subsequently return a charge confirmation 476 over the network and is received over network interface device of the merchant acquirer computer system 280 by the charge confirmation receiving module 440. Because the charge request has a charge amount of $8, which is less than the $10 of the reserve confirmation 462, the charge confirmation 476 is typically never replaced by a charge rejection. A charge rejection will only be received if a long period of time has passed since receiving the reserve confirmation 462, which will typically not happen within the time frames required for communicating with the point-of-sale gateway 294 and retrieving the discount amount. Once the charge confirmation receiving module 440 has received the charge confirmation 476, it is recorded for later settlement between the merchant acquirer computer system 280 and the credit card and issuer computer systems 282. The charge confirmation 476 is typically and ISO 8583 message type indicator 230.
An example is provided where an interception point is created within the merchant acquirer computer system 280 and the merchant acquirer computer system 280 then communicates with the credit card and issuer computer systems 282. The interception point may alternatively be created within a credit card or an issuer computer system. In the present example, the merchant acquirer computer system 280 is a first network computer system and the credit card and issuer computer systems 282 serve as a second network computer system. In an alternate embodiment, the credit card computer system may be the first network computer system, in which case the issuer computer system will be a second network computer system such that the interception point is created at the credit card computer system and charge and reserve requests and confirmations are communicated between the credit card and issuer computer systems. In a further embodiment, the network computer system may be an issuer computer system and the interception point is created within the issuer computer system for checking a list of consumer account identifier's in the form of PANs, MSISDN's, email addresses, social security numbers and the like.
Referring again to
The voucher cancel module 324 proceeds at 376 to cancel the respective voucher ID's from the voucher ID's 204 in the consumer account 28. In one example, there may be only one voucher ID B among the voucher ID's 204 and only the single voucher ID B is cancelled. In another example, the voucher ID may have two or more numbers associated therewith, and only a single number is deducted from the numbers for voucher ID B, such that further numbers of the voucher ID are available until the number reaches zero. As further illustrated in
As mentioned, the transaction is recorded within the transactions 346. Referring again to
Voucher entries have been used by way of example to illustrate offers and the way that they are redeemed. The voucher entries may for example correspond to item level discounts. Alternatively, basket level discounts may be provided wherein a discount is given based on an entire purchase of a plurality of items as opposed to individual items of the purchase. It may also be possible that offers may be extended that are not redeemable at server level for any discounts, such as coupons that can be redeemed at a point of sale or advertisements.
As further illustrated in
Should the consumer then open the mobile application 208 in
As shown in
The decision module 582 also determines whether a voucher entry 168 should be transmitted to the mobile device 24 instead of an advertisement entry. Should no advertisement entries be identified having desired filter attributes, then the decision module 582 may decide to instead transmit a voucher entry 168 to the mobile device 24. The voucher entry 168 is transmitted to the mobile device 24 using the voucher push module 196 as hereinbefore described.
If the decision module 582 has identified an advertisement entry 544 for transmission to the mobile device 24, then the decision module 582 initiates functionality of the advertisement push module 584. The advertisement push module 584 then transmits the message 546 to the notification module 317 while bypassing all consumer accounts. The notification module 317 then transmits the message 546 to the mobile device 24.
The server computer system 12 also includes an impression tracking module 600. The present example is an example of a “Cost Per Impression,” also referred to as “Cost Per Mille” or “CPM”. The impression tracking module 600 responds to the advertisement push module 584 to immediately reduce the total number of available 598 by 1. Before the decision module 582 initiates action by the advertisement push module 584, the decision module 582 determines whether the total number available 598 equals 1 or more. If the total number available 598 has been reduced to zero, the decision module 582 does not initiate action by the advertisement push module 584.
In a further alternative, a “Cost Per Click” or “CPC” system can be used. In a CPC system, the mobile application 208 in
The server computer system 12 can make provision for both a CPM and a CPC model at the same time. A view similar to
The exemplary computer system 900 includes a processor 930 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 932 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), and a static memory 934 (e.g., flash memory, static random access memory (SRAM, etc.), which communicate with each other via a bus 936.
The computer system 900 may further include a video display 938 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alpha-numeric input device 940 (e.g., a keyboard), a cursor control device 942 (e.g., a mouse), a disk drive unit 944, a signal generation device 946 (e.g., a speaker), and a network interface device 948.
The disk drive unit 944 includes a machine-readable medium 950 on which is stored one or more sets of instructions 952 (e.g., software) embodying any one or more of the methodologies or functions described herein. The software may also reside, completely or at least partially, within the main memory 932 and/or within the processor 930 during execution thereof by the computer system 900, the memory 932 and the processor 930 also constituting machine readable media. The software may further be transmitted or received over a network 954 via the network interface device 948.
While the instructions 952 are shown in an exemplary embodiment to be on a single medium, the term “machine-readable medium” should be taken to understand a single medium or multiple media (e.g., a centralized or distributed database or data source and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories and optical and magnetic media.
The various components shown in
The memory 1020 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to the memory 1020 by other components of the mobile device 24, such as the CPU 1200 and the peripherals interface 1180, is controlled by the memory controller 1220.
The peripherals interface 1180 connects the input and output peripherals of the device to the CPU 1200 and memory 1020. The one or more processors 1200 run or execute various software programs and/or sets of instructions stored in the memory 1020 to perform various functions for the mobile device 24 and to process data.
The RF (radio frequency) circuitry 1080 receives and sends RF signals, also called electromagnetic signals. The RF circuitry 1080 converts electrical signals to/from electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. The RF circuitry 1080 includes well-known circuitry for performing these functions, including an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. The RF circuitry 1080 may communicate with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication. The wireless communication may use any of a plurality of communications standards, protocols and technologies that are known in the art.
The audio circuitry 1100, the speaker 1110, and the microphone 1130 provide an audio interface between a user and the mobile device 24. The audio circuitry 1100 receives audio data from the peripherals interface 1180, converts the audio data to an electrical signal, and transmits the electrical signal to the speaker 1110. The speaker 1110 converts the electrical signal to human-audible sound waves. The audio circuitry 1100 also receives electrical signals converted by the microphone 1130 from sound waves. The audio circuitry 1100 converts the electrical signal to audio data and transmits the audio data to the peripherals interface 1180 for processing. The audio circuitry 1100 also includes a headset jack serving as an interface between the audio circuitry 1100 and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone).
The I/O subsystem 1060 connects input/output peripherals on the mobile device 24, such as the touch screen 1120 and other input/control devices 1160, to the peripherals interface 1180. The I/O subsystem 1060 includes a display controller 1560 and one or more input controllers 1600 for other input or control devices. The one or more input controllers 1600 receive/send electrical signals from/to other input or control devices 1160. The other input/control devices 1160 may include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth all serving as forming part of an interface. The input controllers 1600 may be connected to any of the following: a keyboard, infrared port, USB port, and a pointer device such as a mouse. The one or more buttons may include an up/down button for volume control of the speaker 1110 and/or the microphone 1130. The one or more buttons may include a push button. A quick press of the push button may disengage a lock of the touch screen 1120 or begin a process that uses gestures on the touch screen to unlock the device. A longer press of the push button may turn power to the mobile device 24 on or off. The touch screen 1120 is used to implement virtual or soft buttons and one or more soft keyboards.
The touch-sensitive touch screen 1120 provides an input interface and an output interface between the device and a user. The display controller 1560 receives and/or sends electrical signals from/to the touch screen 1120. The touch screen 1120 displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some embodiments, some or all of the visual output may correspond to user-interface objects, further details of which are described below.
A touch screen 1120 has a touch-sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact. The touch screen 1120 and the display controller 1560 (along with any associated modules and/or sets of instructions in memory 1020) detect contact (and any movement or breaking of the contact) on the touch screen 1120 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the touch screen. In an exemplary embodiment, a point of contact between a touch screen 1120 and the user corresponds to a finger of the user.
The touch screen 1120 may use LCD (liquid crystal display) technology, or LPD (light emitting polymer display) technology, although other display technologies may be used in other embodiments. The touch screen 1120 and the display controller 1560 may detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with a touch screen 1120.
The user may make contact with the touch screen 1120 using any suitable object or appendage, such as a stylus, a finger, and so forth. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which are much less precise than stylus-based input due to the larger area of contact of a finger on the touch screen. In some embodiments, the device translates the rough finger-based input into a precise pointer/cursor position or command for performing the actions desired by the user.
The mobile device 24 also includes a power system 1620 for powering the various components. The power system 1620 may include a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power in portable devices.
The software components stored in memory 1020 include an operating system 1260, a communication module (or set of instructions) 1280, a contact/motion module (or set of instructions) 1300, a graphics module (or set of instructions) 1320, a text input module (or set of instructions) 1340, and applications (or set of instructions) 1360.
The operating system 1260 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
The communication module 1280 facilitates communication with other devices over one or more external ports 1240 and also includes various software components for handling data received by the RF circuitry 1080 and/or the external port 1240. The external port 1240 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.).
The contact/motion module 1300 may detect contact with the touch screen 1120 (in conjunction with the display controller 1560) and other touch sensitive devices (e.g., a touchpad or physical click wheel). The contact/motion module 1300 includes various software components for performing various operations related to detection of contact, such as determining if contact has occurred, determining if there is movement of the contact and tracking the movement across the touch screen 1120, and determining if the contact has been broken (i.e., if the contact has ceased). Determining movement of the point of contact may include determining speed (magnitude), velocity (magnitude and direction), and/or an acceleration (a change in magnitude and/or direction) of the point of contact. These operations may be applied to single contacts (e.g., one finger contacts) or to multiple simultaneous contacts (e.g., “multitouch”/multiple finger contacts). The contact/motion module 1300 and the display controller 1560 also detects contact on a touchpad.
The graphics module 1320 includes various known software components for rendering and displaying graphics on the touch screen 1120, including components for changing the intensity of graphics that are displayed. As used herein, the term “graphics” includes any object that can be displayed to a user, including text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like.
The text input module 1340, which may be a component of graphics module 1320, provides soft keyboards for entering text in various applications (e.g., contacts, e-mail, IM, blogging, browser, and any other application that needs text input). The applications 1360 may include the mobile application 208.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative and not restrictive of the current invention, and that this invention is not restricted to the specific constructions and arrangements shown and described since modifications may occur to those ordinarily skilled in the art.