Language selection

Search

Patent 3055500 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 3055500
(54) English Title: POINT-OF-SALE DEVICE AND METHOD FOR GENERATING A DISCOUNTED AUTHORIZATION REQUEST
(54) French Title: DISPOSITIF DE POINT DE VENTE ET METHODE DE PRODUCTION D`UNE DEMANDE D`AUTORISATION ACTUALISEE
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06Q 20/40 (2012.01)
  • H04W 92/02 (2009.01)
  • G06Q 20/06 (2012.01)
  • G06Q 20/32 (2012.01)
  • H04W 12/06 (2009.01)
(72) Inventors :
  • RIZVI, BUTURAB (Canada)
  • TSOURKIS, ALEXANDRA (Canada)
  • CHOI, KI NAM (Canada)
(73) Owners :
  • THE TORONTO-DOMINION BANK (Canada)
(71) Applicants :
  • THE TORONTO-DOMINION BANK (Canada)
(74) Agent: GRAHAM, ROBERT JOHN
(74) Associate agent:
(45) Issued: 2023-10-17
(22) Filed Date: 2019-09-16
(41) Open to Public Inspection: 2021-03-16
Examination requested: 2022-09-13
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English Abstract

A POS device receives a first authorization value from an input device, and receives from a mobile device, via a LAN interface, a user identifier and a data structure that includes an adjustment value and a structure identifier. The POS device transmits the data structure and the user identifier to a validation server, via a WAN interface. The POS device receives from the validation server, via the WAN interface, confirmation that the validation server had previously saved the structure identifier of the data structure in a database in association with the user identifier. The POS device recovers the adjustment value from the data structure, generates a second authorization value from a difference between the first authorization value and the adjustment value, and transmits an authorization request message over a payment network via the WAN interface. The authorization request message includes the second authorization value.


French Abstract

Un dispositif de point de vente (PDV) reçoit, à partir dun dispositif dintroduction, une première valeur dautorisation, et il reçoit, à partir dun dispositif mobile et à laide dune interface en réseau local, un identificateur dutilisateur, ainsi quune structure de données qui comprend une valeur dajustement et un identificateur de structure. Le dispositif de PDV transmet la structure de données et lidentificateur dutilisateur, au moyen dune interface de réseau longue distance (RLD), à un serveur de validation. Le dispositif de PDV reçoit, du serveur de validation et au moyen dune interface de RLD, une confirmation que le serveur de validation a sauvegardé antérieurement lidentificateur de structure de la structure de données dans une base de données en association avec lidentificateur dutilisateur. Le dispositif de PDV récupère la valeur dajustement de la structure de données, génère une deuxième valeur dautorisation à partir dune différence entre la première valeur dautorisation et la valeur dajustement, et transmet un message de demande dautorisation sur un réseau de paiement au moyen de linterface de RLD. Le message de demande dautorisation comprend la deuxième valeur dautorisation.

Claims

Note: Claims are shown in the official language in which they were submitted.


CLAIMS:
1. A point-of-sale device comprising:
a computer-readable memory;
an input device;
a local area network interface configured for communication with a local area
network;
a wide area network interface configured for communication with a wide area
network,
wherein the wide area network and the local area network each include a
respective physical
data transmission layer, and network requirements of the physical data
transmission layer of the
wide area network are incompatible with network requirements of the physical
data transmission
layer of the local area network; and
a processing unit coupled to the computer-readable memory, the input device
and the
network interfaces and configured to:
receive a first authorization value from the input device of the point-of-sale
device;
receive from a mobile device, via the local area network interface, an
adjustment
request comprising a data structure and a user identifier, the data structure
including
an adjustment value and a data structure identifier, wherein the processing
unit is further
configured to receive the adjustment request by:
generating a token,
saving the token in the computer-readable memory,
transmitting the token to the mobile device via the local area network
interface, and
receiving the token from the mobile device, together with the data
structure and the user identifier, via the local area network interface;
respond to the adjustment request by (i) saving the data structure in the
computer-readable memory, and (ii) transmitting a validation request to a
validation server via the wide area network interface, the validation request
including the
data structure and the user identifier, wherein the processing unit is further
configured to
respond to the adjustment request by:
validating the token by confirming that the processing unit saved the
token in the computer-readable memory, and
removing the token from the computer-readable memory;
receive from the validation server, via the wide area network interface, a
validation response in response to the validation request, the validation
- 33 -
Date Recite/Date Received 2023-03-20

response providing a confirmation that, prior to receiving the validation
request, the
validation server had saved the data structure identifier of the data
structure in a user
profile database in association with the user identifier; and
respond to the validation response by (i) recovering the adjustment value from

the data structure saved in the computer-readable memory, (ii) generating a
second authorization value from a difference between the first authorization
value and
the adjustment value, and (iii) transmitting an authorization request message
to
an authorization server over a payment network via the wide area network
interface,
the authorization request message including the second authorization value.
2. The point-of-sale device according to claim 1, wherein the validation
server is configured to
maintain a user profile in association with the user identifier, the user
profile includes a current
balance value, the validation response includes the current balance value, and
the processing
unit is configured to respond to the validation response by:
(i) generating an updated balance value from the second authorization value
and the
current balance value,
(ii) transmitting a balance update request to the validation server via the
wide area
network interface, the balance update request including the updated balance
value, and
(iii) receiving a balance update confirmation from the validation server via
the wide
area network interface, the balance update confirmation confirming that the
validation
server replaced the current balance value in the user profile with the updated
balance value.
3. The point-of-sale device according to claim 2, wherein the processing unit
is further
configured to respond to the validation response by transmitting the updated
balance value to
the mobile device via the local area network interface.
4. The point-of-sale device according to claim 1, wherein the validation
request further includes
a merchant identifier, and the validation response provides confirmation that,
prior to receiving
the validation request, the validation server had saved the data structure
identifier in the user
profile database in association with the user identifier and the merchant
identifier.
5. The point-of-sale device according to claim 1, wherein the processing unit
is configured to
save the token by storing the token in the computer-readable memory in
association with a time-
stamp of a current time, and the processing unit is configured to validate the
token by locating
the time-stamp associated with the token in the computer-readable memory, and
confirming
from the located time-stamp that the token has not expired.
- 34 -
Date Recite/Date Received 2023-03-20

6. The point-of-sale device according to claim 1, wherein the processing unit
is configured to:
receive an account identifier from the input device of the point-of-sale
device, and
receive an authorization response from the authorization server via the wide
area
network interface, wherein the authorization request message includes the
account identifier,
the authorization server maintains a ledger, and the authorization response
confirms that an
available credit value associated with the account identifier in the ledger is
at least equal to the
second authorization value.
7. The point-of-sale device according to claim 1, wherein the local area
network interface
is configured for communication over the local area network via a data-over-
audio
physical communications layer.
8. A method of generating a discounted authorization request, the method
comprising:
a point-of-sale device receiving a first authorization value from an input
device of the
point-of-sale device, and receiving from a mobile device, via a local area
network,
an adjustment request comprising a data structure and a user identifier, the
data
structure including an adjustment value and a data structure identifier,
wherein receiving the
adjustment request further comprises the point-of-sale device:
generating a token,
saving the token in a computer-readable memory of the point-of-sale device,
transmitting the token to the mobile device via the local area network, and
receiving the token from the mobile device, together with the data structure
and
the user identifier, via the local area network;
the point-of-sale device responding to the adjustment request by (i) saving
the data
structure in the memory of the point-of-sale device, and (ii) transmitting a
validation request to a
validation server via a wide area network distinct from the local area
network, the validation
request including the data structure and the user identifier, wherein the wide
area network and
the local area network each include a respective physical data transmission
layer, and network
requirements of the physical data transmission layer of the wide area network
are
incompatible with network requirements of the physical data transmission layer
of the local area
network, wherein responding to the adjustment request further comprises the
point-of-sale
device:
validating the token by confirming that the point-of-sale device saved the
token in
the computer-readable memory, and
removing the token from the computer-readable memory;
- 35 -
Date Recue/Date Received 2023-03-20

the point-of-sale device receiving from the validation server, via the wide
area network, a
validation response in response to the validation request, the validation
response providing a
confirmation that, prior to receiving the validation request, the validation
server had saved the
data structure identifier of the data structure in a user profile database in
association with the
user identifier; and
the point-of-sale device responding to the validation response by (i)
recovering the
adjustment value from the data structure saved in the memory, (ii) generating
a second
authorization value from a difference between the first authorization value
and the adjustment
value, and (iii) transmitting an authorization request message to an
authorization server over a
payment network, the authorization request message including the second
authorization value.
9. The method according to claim 8, wherein the validation server is
configured to maintain a
user profile in association with the user identifier, the user profile
includes a current balance
value, the validation response includes the current balance value, and the
responding to the
validation response further comprises the point-of-sale device:
(i) generating an updated balance value from the second authorization value
and the
current balance value,
(ii) transmitting a balance update request to the validation server via the
wide
area network, the balance update request including the updated balance value,
and
(iii) receiving a balance update confirmation from the validation server via
the wide area
network, the balance update confirmation confirming that the validation server
replaced the
current balance value in the user profile with the updated balance value.
10. The method according to claim 9, wherein the responding to the validation
response further
comprises the point-of-sale device transmitting the updated balance value to
the mobile device
via the local area network.
11. The method according to claim 8, wherein the validation request further
includes
a merchant identifier, and the validation response provides confirmation that,
prior to
receiving the validation request, the validation server had saved the data
structure identifier in
the user profile database in association with the user identifier and the
merchant identifier.
12. The method according to claim 8, wherein the saving the token in the
memory
comprises the point-of-sale device storing the token in the memory in
association with a time-
stamp of a current time, and the validating the token further comprises the
locating the time-
stamp associated with the token in the memory, and confirming from the located
time-stamp
that the token has not expired.
- 36 -
Date Recue/Date Received 2023-03-20

13. The method according to claim 8, further comprising:
the point-of-sale device receiving an account identifier from the input device
of the point-
of-sale device, and
the point-of-sale device receiving an authorization response from the
authorization
server over the wide area network, wherein the authorization request message
includes
the account identifier, the authorization server maintains a ledger, and the
authorization
response confirms that an available credit value associated with the account
identifier in the
ledger is at least equal to the second authorization value.
14. The method according to claim 8, wherein the physical layer of the local
area network is a
data-over-audio communications layer.
15. A non-transitory computer-readable medium including computer processing
instructions stored thereon which, when executed by a processor of a point-of-
sale device,
cause the point-of-sale device to:
receive a first authorization value from an input device of the point-of-sale
device;
receive from a mobile device, over a local area network, an adjustment request

comprising a data structure and a user identifier, the data structure
including an
adjustment value and a data structure identifier, wherein the point-of-sale
device is further
configured to receive the adjustment request by:
generating a token,
saving the token in a computer-readable memory of the point-of-sale device,
transmitting the token to the mobile device via the local area network, and
receiving the token from the mobile device, together with the data structure
and
the user identifier, via the local area network;
respond to the adjustment request by (i) saving the data structure in the
memory of the
point-of-sale device, and (ii) transmitting a validation request to a
validation server over a
wide area network, the validation request including the data structure and the
user identifier,
wherein the wide area network and the local area network each include a
respective physical
data transmission layer, and network requirements of the physical data
transmission layer of
the wide area network are incompatible with network requirements of the
physical
data transmission layer of the local area network, wherein the point-of-sale
device is further
configured to respond to the adjustment request by:
validating the token by confirming that the point-of-sale device saved the
token in
the computer-readable memory, and
- 37 -
Date Recue/Date Received 2023-03-20

removing the token from the computer-readable memory;
receive from the validation server, via the wide area network, a validation
response in
response to the validation request, the validation response providing a
confirmation that, prior to
receiving the validation request, the validation server had saved the data
structure identifier of
the data structure in a user profile database in association with the user
identifier; and
respond to the validation response by (i) recovering the adjustment value from
the data
structure saved in the memory, (ii) generating a second authorization value
from a difference
between the first authorization value and the adjustment value, and (iii)
transmitting
an authorization request message to an authorization server over a payment
network,
the authorization request message including the second authorization value.
16. The computer-readable medium according to claim 15, wherein the validation
server is
configured to maintain a user profile in association with the user identifier,
the user profile
includes a current balance value, the validation response includes the current
balance value,
and the computer processing instructions cause the point-of-sale device to
respond to the
validation response by:
(i) generating an updated balance value from the second authorization value
and
the current balance value,
(ii) transmitting a balance update request to the validation server via the
wide
area network, the balance update request including the updated balance value,
and
(iii) receiving a balance update confirmation from the validation server via
the wide
area network, the balance update confirmation confirming that the validation
server replaced the
current balance value in the user profile with the updated balance value.
17. The computer-readable medium according to claim 16, wherein the computer
processing
instructions further cause the point-of-sale device to respond to the
validation response by
transmitting the updated balance value to the mobile device via the local area
network.
18. The computer-readable medium according to claim 15, wherein the validation
request further includes a merchant identifier, and the validation response
provides confirmation
that, prior to receiving the validation request, the validation server had
saved the data
structure identifier in the user profile database in association with the user
identifier and the
merchant identifier.
19. A validation server comprising:
a memory storing computer processing instructions; and
- 38 -
Date Recue/Date Received 2023-03-20

a processing unit coupled to the memory, wherein the processing instructions,
when
executed by the processing unit, cause the processing unit to:
receive a data structure request from a mobile communications device via a
first
communications network, the data structure request including a user
identifier;
associate a data structure with a user profile, and transmit the data
structure to
the mobile communications device, the user profile being stored in a user
profile
database and including the user identifier and a current balance value;
receive a validation request from a point-of-sale device via a second
communications network distinct from the first communications network, the
validation
request including the user identifier and the data structure, wherein the
validation
request is received via the point-of-sale device:
saving a token in a computer-readable memory of the point-of-sale
device, and transmitting the token to the mobile communications device;
receiving an adjustment request from the mobile communications device
via the second communications network, the adjustment request including the
data structure and the token;
confirming that, prior to receiving the adjustment request, the point-of-sale
device had saved the token in the computer-readable memory of the point-of-
sale device; and
transmitting the validation request to the validation server;
validate the validation request by determining that, prior to receiving the
validation request, the validation server had associated the data structure
with the user
profile;
receive a balance update request from the point-of-sale device via the second
communications network, the balance update request including an updated
balance
value;
update the user profile by replacing the current balance value in the user
profile
with the updated balance value; and
transmit a balance update confirmation to the mobile communications device via

the first communications network, the balance update confirmation confirming
that the
validation server had updated the user profile with the updated balance value.
20. The validation server according to claim 19, wherein the data structure
request includes a
merchant identifier, and the processing instructions cause the processing unit
to associate the
data structure with the user profile by:
- 39 -
Date Recue/Date Received 2023-03-20

generating a unique data structure identifier;
locating an e-coupon by querying an e-coupon database with the merchant
identifier, the
e-coupon storing the merchant identifier and an adjustment value;
determining the adjustment value from the located e-coupon;
incorporating the data structure identifier and the adjustment value into the
data
structure; and
saving the data structure identifier in the user profile database in
association with the
user identifier.
21. The validation server according to claim 20, wherein the processing
instructions cause the
processing unit to:
associate the data structure with the user profile by saving the merchant
identifier in the
user profile database in association with the data structure identifier and
the user identifier; and
validate the validation request by determining that, prior to receiving the
validation
request, the validation server had saved the merchant identifier and the data
structure identifier
in the user profile.
22. The validation server according to claim 19, wherein the processing
instructions cause the
processing unit to respond to the validation request by reading the current
balance value from
the user profile, and transmitting a validation response to the point-of-sale
device, the validation
response including the current balance value and confirming that the
validation server had
validated the validation request.
23. The validation server according to claim 19, wherein the second
communications network
includes the point-of-sale device and the mobile communications device, and a
network
requirement of a physical data transmission layer of the first communications
network is
incompatible with a network requirement of a physical data transmission layer
of the second
communications network.
24. The validation server according to claim 23, wherein the data structure
includes an
adjustment value, and the server receives the balance update request via the
point-of-sale
device:
recovering the adjustment value from the data structure;
generating the updated balance value from the current balance value and the
adjustment value; and
incorporating the updated balance value into the balance update request.
- 40 -
Date Recite/Date Received 2023-03-20

25. The validation server according to claim 24, wherein the point-of-sale
device includes an
input device, and the generating the updated balance value comprises the point-
of-sale device:
receiving a first authorization value from the input device;
generating a second authorization value from a difference between the first
authorization
value and the adjustment value;
generating the updated balance value from the second authorization value and
the
current balance value; and
transmitting an authorization request message to an authorization server over
a payment
network, the authorization request message including the second authorization
value.
26. A method of updating a user profile, comprising:
a computer server receiving a data structure request from a mobile
communications
device via a first communications network, the data structure request
including a user identifier;
the computer server associating a data structure with the user profile, and
transmitting
the data structure to the mobile communications device, the user profile being
stored in a user
profile database and including the user identifier and a current balance
value;
the computer server receiving a validation request from a point-of-sale device
via a
second communications network distinct from the first communications network,
the validation
request including the user identifier and the data structure, wherein the
receiving a validation
request comprises the point-of-sale device:
saving a token in a computer-readable memory of the point-of-sale device, and
transmitting the token to the mobile communications device;
receiving an adjustment request from the mobile communications device via the
second communications network, the adjustment request including the data
structure
and the token;
confirming that, prior to receiving the adjustment request, the point-of-sale
device
had saved the token in the computer-readable memory of the point-of-sale
device; and
transmitting the validation request to the computer server;
the computer server validating the validation request by determining that,
prior to
receiving the validation request, the computer server had associated the data
structure with the
user profile;
the computer server receiving a balance update request from the point-of-sale
device via
the second communications network, the balance update request including an
updated balance
value;
- 41 -
Date Recue/Date Received 2023-03-20

the computer server updating the user profile by replacing the current balance
value in
the user profile with the updated balance value; and
the computer server transmitting a balance update confirmation to the mobile
communications device via the first communications network, the balance update
confirmation
confirming that the computer server had updated the user profile with the
updated balance
value.
27. The method according to claim 26, wherein the data structure request
includes a merchant
identifier, and the associating a data structure with the user profile
comprises:
the computer server generating a unique data structure identifier;
the computer server locating an e-coupon by querying an e-coupon database with
the
merchant identifier, the e-coupon storing the merchant identifier and an
adjustment value;
the computer server determining the adjustment value from the located e-
coupon;
the computer server incorporating the data structure identifier and the
adjustment value
into the data structure; and
the computer server saving the data structure identifier in the user profile
database in
association with the user identifier.
28. The method according to claim 27, wherein:
the associating a data structure with the user profile further comprises the
computer
server saving the merchant identifier in the user profile database in
association with the data
structure identifier and the user identifier; and
the validating the validation request comprises determining that, prior to
receiving the
validation request, the computer server had saved the merchant identifier and
the data structure
identifier in the user profile.
29. The method according to claim 26, further comprising the computer server
responding to
the validation request by reading the current balance value from the user
profile, and
transmitting a validation response to the point-of-sale device, the validation
response including
the current balance value and confirming that the computer server had
validated the validation
request.
30. The method according to claim 26, wherein the second communications
network includes
the point-of-sale device and the mobile communications device, and a network
requirement of a
physical data transmission layer of the first communications network is
incompatible with a
network requirement of a physical data transmission layer of the second
communications
network.
- 42 -
Date Recue/Date Received 2023-03-20

31. The method according to claim 30, wherein the data structure includes an
adjustment
value, and the receiving a balance update request comprises the point-of-sale
device:
recovering the adjustment value from the data structure;
generating the updated balance value from the current balance value and the
adjustment value; and
incorporating the updated balance value into the balance update request.
32. The method according to claim 31, wherein the point-of-sale device
includes an input
device, and the generating the updated balance value comprises the point-of-
sale device:
receiving a first authorization value from the input device;
generating a second authorization value from a difference between the first
authorization
value and the adjustment value;
generating the updated balance value from the second authorization value and
the
current balance value; and
transmitting an authorization request message to an authorization server over
a payment
network, the authorization request message including the second authorization
value.
33. A non-transitory computer-readable medium including computer processing
instructions
stored thereon which, when executed by a processor of a computer server, cause
the computer
server to:
receive a data structure request from a mobile communications device via a
first
communications network, the data structure request including a user
identifier;
associate a data structure with a user profile, and transmit the data
structure to the
mobile communications device, the user profile being stored in a user profile
database and
including the user identifier and a current balance value;
receive a validation request from a point-of-sale device via a second
communications
network distinct from the first communications network, the validation request
including the user
identifier and the data structure, wherein the validation request is received
via the point-of-sale
device:
saving a token in a computer-readable memory of the point-of-sale device, and
transmitting the token to the mobile communications device;
receiving an adjustment request from the mobile communications device via the
second communications network, the adjustment request including the data
structure
and the token;
- 43 -
Date Recue/Date Received 2023-03-20

confirming that, prior to receiving the adjustment request, the point-of-sale
device
had saved the token in the computer-readable memory of the point-of-sale
device; and
transmitting the validation request to the computer server;
validate the validation request by determining that, prior to receiving the
validation
request, the computer server had associated the data structure with the user
profile;
receive a balance update request from the point-of-sale device via the second
communications network, the balance update request including an updated
balance value;
update the user profile by replacing the current balance value in the user
profile with the
updated balance value; and
transmit a balance update confirmation to the mobile communications device via
the first
communications network, the balance update confirmation confirming that the
computer server
had updated the user profile with the updated balance value.
34. The computer-readable medium according to claim 33, wherein the data
structure request
includes a merchant identifier, and the processing instructions cause the
computer server to
associate the data structure with the user profile by:
generating a unique data structure identifier;
locating an e-coupon by querying an e-coupon database with the merchant
identifier, the
e-coupon storing the merchant identifier and an adjustment value;
determining the adjustment value from the located e-coupon;
incorporating the data structure identifier and the adjustment value into the
data
structure; and
saving the data structure identifier in the user profile database in
association with the
user identifier.
35. The computer-readable medium according to claim 34, wherein the processing
instructions
cause the computer server to:
associate the data structure with the user profile by saving the merchant
identifier in the
user profile database in association with the data structure identifier and
the user identifier; and
validate the validation request by determining that, prior to receiving the
validation
request, the computer server had saved the merchant identifier and the data
structure identifier
in the user profile.
36. The computer-readable medium according to claim 33, wherein the processing
instructions
cause the computer server to respond to the validation request by reading the
current balance
value from the user profile, and transmitting a validation response to the
point-of-sale device,
- 44 -
Date Recue/Date Received 2023-03-20

the validation response including the current balance value and confirming
that the computer
server had validated the validation request.
37. The computer-readable medium according to claim 33, wherein the second
communications network includes the point-of-sale device and the mobile
communications
device, and a network requirement of a physical data transmission layer of the
first
communications network is incompatible with a network requirement of a
physical
data transmission layer of the second communications network.
38. The computer-readable medium according to claim 37, wherein the data
structure includes
an adjustment value, and the server receives the balance update request via
the point-of-sale
device:
recovering the adjustment value from the data structure;
generating the updated balance value from the current balance value and the
adjustment value; and
incorporating the updated balance value into the balance update request.
- 45 -
Date Recite/Date Received 2023-03-20

Description

Note: Descriptions are shown in the official language in which they were submitted.


POINT-OF-SALE DEVICE AND METHOD FOR GENERATING A DISCOUNTED
AUTHORIZATION REQUEST
FIELD
[0001] This patent application relates to a point-of-sale device and method
for
generating an authorization request.
BACKGROUND
[0002] A customer may attempt to redeem an e-coupon by transmitting
the e-coupon
from the customer's mobile device to the merchant's point-of-sale (POS)
device.
Transmission of the e-coupon between the mobile device and the POS device may
be
frustrated by the lack of a cellular network connection to the mobile device
at the
merchant's premises.
[0003] A Bluetooth connection between the mobile device and the POS
device may
be time-consuming to establish. A merchant might make an open (i.e. not
password
protected) WiFi service available to its customers. However, such a service
could
expose, to rogue devices, sensitive customer data (e.g. e-mail passwords) that
might be
sent from other apps installed on the mobile device.
SUMMARY
[0004] This patent application describes a point-of-sale device, non-
transitory
computer-readable medium and associated method in which the point-of-sale
device
communicates authorization requests to the payment network of a wide area
network,
and the mobile device communicates with the point-of-sale device via a local
area
network that has a physical data transmission layer that is incompatible with
the physical
data transmission layer of the wide area network.
[0005] In accordance with a first aspect of this disclosure, there is
provided a point-
of-sale device that includes a computer-readable memory, an input device, a
local area
network interface, a wide area network interface, and a processing unit.
[0006] The local area network interface is configured for
communication with a local
area network. The wide area network interface is configured for communication
with a
wide area network. The wide area network and the local area network each
include a
respective physical data transmission layer, and network requirements of the
physical
- 1 -
CA 3055500 2019-09-16

data transmission layer of the wide area network are incompatible with network
requirements of the physical data transmission layer of the local area
network.
[0007] The processing unit is coupled to the computer-readable memory,
the input
device and the network interfaces, and is configured to receive a first
authorization value
from an input device of the point-of-sale device, and to receive from a mobile
device, via
the local area network interface, an adjustment request that includes a data
structure and
a user identifier. The data structure includes an adjustment value and a data
structure
identifier.
[0008] The processing unit is configured to respond to the adjustment
request by (i)
saving the data structure and the user identifier in the computer-readable
memory, and
(ii) transmitting a validation request to a validation server via the wide
area network
interface. The validation request includes the data structure and the user
identifier.
[0009] The processing unit is configured to receive from the
validation server, via the
wide area network interface, a validation response in response to the
validation request.
The validation response provides a confirmation that, prior to receiving the
validation
request, the validation server had saved the data structure identifier of the
data structure
in a user profile database in association with the user identifier.
[0010] The processing unit is configured to respond to the validation
response by (i)
recovering the adjustment value from the data structure saved in the computer-
readable
memory, (ii) generating a second authorization value from a difference between
the first
authorization value and the adjustment value, and (iii) transmitting an
authorization
request message to an authorization server over a payment network via the wide
area
network interface. The authorization request message includes the second
authorization
value.
[0011] In accordance with a second aspect of this disclosure, there is
provided a
method of discounting an authorization value. The method, in accordance with
this
second aspect of this disclosure, involves a point-of-sale device receiving a
first
authorization value from an input device of the point-of-sale device, and
receiving from a
mobile device, via a local area network, an adjustment request that includes a
data
structure and a user identifier. The data structure includes an adjustment
value and a
data structure identifier.
- 2 -
CA 3055500 2019-09-16

[0012] The point-of-sale device responds to the adjustment request by
(i) saving the
data structure in a memory of the point-of-sale device, and (ii) transmitting
a validation
request to a validation server via a wide area network distinct from the local
area network.
The validation request includes the data structure and the user identifier.
The wide area
network and the local area network each include a respective physical data
transmission
layer, and network requirements of the physical data transmission layer of the
wide area
network are incompatible with network requirements of the physical data
transmission
layer of the local area network.
[0013] The point-of-sale device receives from the validation server,
via the wide area
network, a validation response in response to the validation request. The
validation
response provides a confirmation that, prior to receiving the validation
request, the
validation server had saved the data structure identifier of the data
structure in a user
profile database in association with the user identifier.
[0014] The point-of-sale device responds to the validation response by
(i) recovering
the adjustment value from the data structure saved in the memory, (ii)
generating a
second authorization value from a difference between the first authorization
value and
the adjustment value, and (iii) transmitting an authorization request message
to an
authorization server over a payment network. The authorization request message

includes the second authorization value.
[0015] In accordance with a third aspect of this disclosure, there is
provided a non-
transitory computer-readable medium that includes computer processing
instructions
which, when executed by a processor of a point-of-sale device, cause the point-
of-sale
device to receive a first authorization value from an input device of the
point-of-sale
device, and to receive from a mobile device, via a local area network, an
adjustment
request that includes a data structure and a user identifier. The data
structure includes
an adjustment value and a data structure identifier.
[0016] The computer processing instructions cause the point-of-sale
device to
respond to the adjustment request by (i) saving the data structure and the
user identifier
in a memory of the point-of-sale device, and (ii) transmitting a validation
request to a
validation server over a wide area network. The validation request includes
the data
structure and the user identifier. The wide area network and the local area
network each
include a respective physical data transmission layer, and network
requirements of the
- 3
CA 3055500 2019-09-16

physical data transmission layer of the wide area network are incompatible
with network
requirements of the physical data transmission layer of the local area
network.
[0017] The computer processing instructions cause the point-of-sale
device to
receive from the validation server, via the wide area network, a validation
response in
response to the validation request. The validation response provides a
confirmation that,
prior to receiving the validation request, the validation server had saved the
data structure
identifier of the data structure in a user profile database in association
with the user
identifier.
[0018] The computer processing instructions cause the point-of-sale
device to
respond to the validation response by (i) recovering the adjustment value from
the data
structure saved in the memory, (ii) generating a second authorization value
from a
difference between the first authorization value and the adjustment value, and
(iii)
transmitting an authorization request message to an authorization server over
a payment
network. The authorization request message includes the second authorization
value.
[0019] In one implementation, the validation server is configured to
maintain a user
profile in association with the user identifier, the user profile includes a
current balance
value, the validation response includes the current balance value, and the
processing unit
of the point-of-sale device is configured to respond to the validation
response by:
(i) generating an updated balance value from the second authorization value
and
the current balance value,
(ii) transmitting a balance update request to the validation server via the
wide
area network interface, the balance update request including the updated
balance
value, and
(iii) receiving a balance update confirmation from the validation server via
the
wide area network interface, the balance update confirmation confirming that
the
validation server replaced the current balance value in the user profile with
the updated
balance value.
[0020] The processing unit of the point-of-sale device may be further
configured to
respond to the validation response by transmitting the updated balance value
to the
mobile device via the local area network interface. The validation request may
include a
merchant identifier, and the validation response may provide a confirmation
that, prior
- 4 -
CA 3055500 2019-09-16

to receiving the validation request, the validation server had saved the data
structure
identifier in the user profile database in association with the user
identifier and the
merchant identifier.
[0021] In one implementation, the processing unit of the point-of-sale
device is
configured to receive an adjustment request by:
generating a token,
saving the token in the computer-readable memory,
transmitting the token to the mobile device via the local area network
interface,
and
receiving the token from the mobile device, together with the data structure
and
the user identifier, via the local area network interface.
[0022] The processing unit of the point-of-sale device may be
configured to
respond to the adjustment request by:
validating the token by confirming that the processing unit saved the token in
the memory, and
removing the token from the memory.
[0023] In one implementation, the processing unit of the point-of-sale
device is
configured to:
receive an account identifier from the input device of the point-of-sale
device,
and
receive an authorization response from the authorization server via the wide
area
network interface, wherein the authorization request message includes the
account
identifier, the authorization server maintains a ledger, and the authorization
response
confirms that an available credit value associated with the account identifier
in the
ledger is at least equal to the second authorization value.
[0024] In one implementation, the local area network interlace is
configured for
communication over the local area network via a data-over-audio physical
communications layer.
[0025] Since, in accordance with the foregoing aspects of the
disclosure, the point-
of-sale device receives the adjustment request via a (local area)
communications network
that has a physical data transmission layer that is incompatible with the
physical data
- 5 -
CA 3055500 2019-09-16

transmission layer of the (wide area) communications network over which the
point-of-
sale device transmits the validation request to the validation server, the
technical process
of transmitting the data structure to the validation server is not limited by
environmental
conditions that may inhibit communications between the mobile device and the
validation
server.
[0026] Further, since the point-of-sale device generates the
authorization request
message only after receiving confirmation that the validation server had
previously
associated the data structure with the user identifier, the security of the
technical process
of authenticating the data structure and generating a second authorization
value from the
first authorization value (i.e. discounting the first authorization value) is
improved in
comparison to the state of the art.
[0027] Additionally, since (in one implementation) the point-of-sale
device transmits
the validation request to the validation server only after validating the
token, the security
of the technical process of transmitting the data structure from the mobile
device to the
point-of-sale device is improved in comparison to the state of the art.
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] An exemplary point-of-sale device, non-transitory computer-
readable
medium, and method of discounting an authorization value will now be
described, with
reference to the accompanying drawings, in which:
FIG. 1 is a schematic view of an exemplary data processing network, depicting
a
point-of-sale device, a validation computer server, and a mobile
communications device;
FIG. 2 is a schematic view of an exemplary point-of-sale device;
FIG. 3 is a schematic view of an exemplary validation computer server;
FIG. 4 is a schematic view of an exemplary mobile communications device; and
FIG. 5 is a message flow diagram that depicts an exemplary method of
discounting an authorization value.
DETAILED DESCRIPTION
Data Processing Network - Overview
[0029] Fig. 1 is a schematic view of a data processing network, denoted
generally as
100. As shown, the data processing network 100 includes a point-of-sale (POS)
device
- 6 -
CA 3055500 2019-09-16

200, a validation computer server 300, a mobile communications device 400, an
acquirer
computer server 500, and an authorization computer server 600.
[0030] The POS device 200 is configured to communicate with the
validation
computer server 300 and the acquirer computer server 500 via a wide area
network 140.
The POS device 200 is also configured to communicate with the mobile
communications
device 400 via a wireless local area network 150.
[0031] The validation computer server 300 is configured to communicate
with the
POS device 200 and the mobile communications device 400 via the wide area
network
140. As will be discussed in greater detail, the validation computer server
300 maintains
a user profile database that includes a plurality of records each associated
with a
respective user profile. The records of the user profile database may identify
a user
identifier that is uniquely associated with the user profile, a current
balance value
associated with the user profile, and a data structure identifier that is
associated with the
user identifier.
[0032] The mobile communications device 400 is configured to communicate
with
the POS device 200 via the wireless local area network 150. Additionally, the
mobile
communications device 400 is configured to communicate with the validation
computer
server 300 via the wide area network 140.
[0033] The acquirer computer server 500 is configured to communicate
with the POS
device 200 and the authorization computer server 600 via the wide area network
140.
The acquirer computer server 500 is associated with a financial institution
and maintains
an accounts database that includes a plurality of a plurality of ledgers each
associated
with a respective account of a merchant customer ("merchant account") of the
financial
institution. Each ledger identifies at least an account number that is
uniquely associated
with the respective merchant account, and particulars of various payments made
to the
merchant account.
[0034] The authorization computer server 600 is configured to
communicate with the
acquirer computer server 500 via the wide area network 140. The authorization
computer
server 600 is associated with a financial institution and maintains an
accounts database
that includes a plurality of a plurality of ledgers each associated with a
respective account
of an end-user customer ("customer account") of the financial institution.
Each ledger
- 7 -
CA 3055500 2019-09-16

identifies at least a primary account number ("PAN") that is uniquely
associated with the
respective customer account, a set of authentication credentials that are
uniquely
associated with the customer account, an available credit value associated
with the
customer account, and particulars (e.g. merchant, authorization amount) of
various
transactions completed using the customer account. The financial institution
associated
with the authorization computer server 600 may also provide (or may authorize
a third
party to provide) payment cards to its customers. Each payment card is
configured with
at least the PAN of one of the customer's accounts.
[0035] Although the validation computer server 300 and the acquirer
computer server
500 are depicted as distinct servers in Fig. 1, all or part of the
functionality implemented
by the validation computer server 300 may instead be implemented by the
acquirer
computer server 500. Further although the validation computer server 300 and
the
authorization computer server 600 are depicted as distinct servers in Fig. 1,
all or part of
the functionality implemented by the validation computer server 300 may
instead be
implemented by the authorization computer server 600.
[0036] The wide area network 140 includes a wired communications
network and a
mobile communications network. The wired communications network of the wide
area
network 140 is preferably implemented as an OSI-compliant network, and
includes at
least a physical communications layer that is responsible for the transmission
of data
across a physical transmission medium. As an example, the physical
communications
layer of the wired communications network may be IEEE 802.3 (i.e. Ethemet)-
compliant.
[0037] The mobile communications network of the wide area network 140
is also
preferably implemented as an OSI-compliant network, and includes at least a
physical
communications layer that is responsible for the long-range transmission of
data across
a wireless transmission medium. As an example, the physical communications
layer of
the wireless communications network may be LIE, WiMax, UMTS, CDMA and/or GSM-
compliant. The mobile communications network typically includes at least one
wireless
base station subsystem (not shown) that communicates with the mobile
communications
device 400 via a wireless link, and acts as a bridge between the wireless
links and the
wired communications network.
[0038] The wide area network 140 also includes a payment network (e.g.
VisaNet ,
the Mastercard Network, the Interac Network) over which confidential payment
- 8 -
CA 3055500 2019-09-16

information (e.g. payment card account numbers, payment card expiry dates) may
be
securely transmitted between the acquirer computer server 500 and the
authorization
computer server 600.
[0039] The wireless local area network 150 is preferably implemented
as an OS1-
compliant network, and includes at least a physical communications layer that
is
responsible for the short-range transmission of data across a wireless
transmission
medium. Preferably, the physical communications layer of the wireless local
area
network 150 implements a data-over-audio communications protocol that
communicates
data between devices using sonic or ultrasonic audio waves. Therefore, the
physical
network requirements of the physical data transmission layer of the local area
network
150 are incompatible with the physical network requirements of the physical
data
transmission layer of the wide area network 140.
Point-of-Sale (POS) Device
[0040] The POS device 200 is typically associated with a merchant,
and is deployed
at the merchant's business premises. The POS device 200 may be implemented as
an
integrated point-of-sale (POS) terminal or as a semi-integrated point-of-sale
(POS)
terminal.
[0041] As shown in Fig. 2, the POS device 200 includes an input
device 202, a display
device 204, a local area network (LAN) interface 206, a pin-pad terminal 208,
a peripheral
device 210, a wide area network (WAN) interface 212, and a data processing
system 214
that is in communication with the input device 202, the display device 204,
the LAN
interface 206 and the WAN interface 212. Although the pin-pad terminal 208 and
the
peripheral device 210 are depicted as distinct devices in Fig. 2, all or part
of the
functionality implemented by the pin-pad terminal 208 may instead be
implemented by
the peripheral device 210.
[0042] The input device 202 may be implemented as a keyboard,
touchpad,
touchscreen or other input device suitable for allowing the operator to input
data and/or
commands into the POS device 200. The display device 204 may be implemented as
a
liquid crystal display (LCD) panel, plasma display panel, or other display
device suitable
for displaying information to the operator of the POS device 200.
- 9 -
CA 3055500 2019-09-16

[0043] The LAN interface 206 may be configured as a wireless interface
that allows
the data processing system 214 to communicate directly with the pin-pad device
208
and/or the peripheral device 210 via a short-range wireless connection, such
as a
Bluetooth, or a Near Field Communications (NFC) connection, as examples.
Alternately,
or additionally, the LAN interface 206 may be configured as a wired interface
that allows
the data processing system 214 to communicate directly with the pin-pad device
208
and/or the peripheral device 210 via a wired connection, such as a Universal
Serial Bus
(USB) connection, as an example.
[0044] The pin-pad terminal 208 includes an input device (not shown),
a display
device (not shown) and a payment card interface (not shown) that is configured
to
communicate with a payment card (e.g. credit card, debit card). The payment
card may
be implemented as a plastic card that has a contact form factor and/or a
contactless (e.g.
ISO 14443 based) form factor. If the payment card has a contact form factor,
the
payment card interlace may comprise a physical port (e.g. smartcard reader)
that allows
the pin-pad device 208 to communicate directly with the payment card. If the
payment
card has a contactless form factor, the payment card interface may comprise a
wireless
interface that allows the pin-pad terminal 208 to communicate with the payment
card via
a wireless protocol, such as ISO 14443.
[0045] The peripheral device 210 may be implemented as a mobile
telephone or a
wireless-enabled tablet computing device, as examples, and is configured for
communication over the wireless local area network 150. As discussed above,
the
wireless local area network 150 implements a data-over-audio communications
protocol.
Therefore, the peripheral device 210 implements a data-over-audio physical
communications layer that is configured for communication with devices (e.g.
the mobile
communications device 400) on the wireless local area network 150 via the data-
over-
audio communications protocol. The peripheral device 210 is coupled to the
data
processing system 214 via the LAN interface 206 and thereby allows the POS
device 200
to indirectly communicate with the mobile communications device 400 (via the
peripheral
device 210).
[0046] The WAN interlace 212 interfaces the POS device 200 with the wide
area
network 140, and allows the POS device 200 to communicate with the validation
- 10 -
CA 3055500 2019-09-16

computer server 300 and the acquirer computer server 500 via the wide area
network
140.
[0047] The data processing system 214 includes a microprocessor 216
and a non-
transient computer-readable medium 218. The non-transient computer-readable
medium 218 may be implemented as a non-volatile electronic computer memory
(e.g.
FLASH memory), as an example. The financial institution associated with the
acquirer
computer server 500 may assign each merchant a unique merchant identifier, and
the
non-transient computer-readable medium (memory) 218 may store the merchant
identifier that is uniquely associated with the merchant.
[0048] The memory 218 may also store computer processing instructions
which,
when accessed from the memory 218 and executed by the microprocessor 216,
implement at least an operating system 220, an authorization pre-processor
222, and an
authorization message processor 224.
[0049] The operating system 220 allows the POS device 200 to accept
user input
from the input device 202 and to display information on the display device
204. The
operating system 220 also allows the POS device 200 to communicate with the
pin-pad
device 208 and the peripheral device 210 via the LAN interface 206, and to
communicate
with the validation computer server 300 via the wide area network 140. The
operating
system 220 also allows the POS device 200 to securely transmit/receive
confidential
payment information (e.g. authorization requests, authorization responses)
to/from the
acquirer computer server 500 via the WAN interface 212.
[0050] The merchant may use the POS device 200 to initiate a
transaction with a
customer by, for example, inputting a first authorization value into the POS
device 200
via the input device 202. The customer may initiate payment for the
transaction by
providing the POS device 200 (via the peripheral device 210 and the local area
network
150) with an adjustment request message that includes (a) a user identifier
that is uniquely
associated with the customer, and (b) a data structure that includes at least
(i) an
adjustment value and (ii) a data structure identifier that uniquely identifies
the data
structure. The data structure may optionally also include a weight factor
which the
authorization pre-processor 222 may use to generate a second authorization
value.
- 11 -
CA 3055500 2019-09-16

[0051] As discussed, the peripheral device 210 implements a data-over-
audio
physical communications layer. Therefore, the peripheral device 210 receives
the
adjustment request message from the mobile communications device 400 via a
data-
over-audio communications protocol, and provides the POS device 200 with the
adjustment request message via the LAN interface 206.
[0052] The POS device 200 may receive the adjustment request message
from the
mobile communications device 400, and the authorization pre-processor 222 may
be
configured to respond to the adjustment request message by, for example, (i)
saving the
data structure in the memory 218 of the POS device 200, and (ii) transmitting
to the
validation computer server 300 (via the wide area network 140) a validation
request
message that includes the data structure and the user identifier.
[0053] As discussed above, the validation computer server 300
maintains a user
profile database that includes a plurality of records each associated with a
respective
user profile. Each record may identify at least a user identifier that is
uniquely associated
with the user profile, a current balance value associated with the user
profile, and a data
structure identifier that is associated with the user identifier. In response
to the validation
request message, the POS device 200 may receive, from the validation computer
server
300 (via the wide area network 140), a validation response message that
confirms that,
before the validation computer server 300 received the validation request
message from
the POS device 200, the validation computer server 300 had saved the data
structure
identifier of the data structure in the user profile database in association
with the user
identifier. The authorization pre-processor 222 may be configured to respond
to the
validation response message by, for example, (i) recovering the adjustment
value from
the data structure saved in the memory 218 of the POS device 200, (ii)
generating a
second authorization value from the difference between the first authorization
value and
the recovered adjustment value (i.e. subtracting the adjustment value from the
first
authorization value), and (iii) providing the authorization message processor
224 with the
second authorization value.
[0054] In one variation, the adjustment request message includes the
merchant
identifier, and the POS device 200 may receive from the validation computer
server 300
(in response to the validation request message) a validation response message
that
confirms that, before the validation computer server 300 received the
validation request
- 12 -
CA 3055500 2019-09-16

message from the POS device 200, the validation computer server 300 had saved
the
data structure identifier of the data structure in the user profile database
in association
with the user identifier and the merchant identifier.
[0055] The authorization message processor 224 may be configured to
respond to
the second authorization value by prompting the customer to interface a
payment card
with the payment card interface of the pin-pad terminal 208. The customer may
interface
a payment card with the pin-pad terminal 208, and the pin-pad terminal 208 may
use the
payment card interface to read account particulars (e.g. primary account
number ("PAN"),
card expiration date) from the payment card, and may notify the authorization
message
processor 224 of the account particulars.
[0056] The authorization message processor 224 may be configured to
respond to
the account particulars by, for example, (i) generating an authorization
request message
from the second authorization value (i.e. the authorization request message
includes at
least the account particulars and the second authorization value) and (ii)
transmitting the
authorization request message to the authorization computer server 600 (via
the payment
network of the wide area network 140).
[0057] As discussed above, the authorization computer server 600
maintains an
accounts database that includes a plurality of a plurality of ledgers each
associated with
a respective customer account. Each ledger identifies at least the account
number of the
respective customer account, and the credit available in the customer account.
In
response to the authorization request message, the POS device 200 may receive,
from
the authorization computer server 600 (via the wide area network 140), an
authorization
response message that indicates whether the credit available in the customer
account
associated with the PAN is at least equal to the second authorization value
(i.e. indicating
whether the transaction was authorized). The authorization message processor
224 may
be configured to respond to the authorization response message by, for
example,
displaying a message on the display device 204 of the POS device 200
indicating whether
the transaction was authorized.
[0058] In one variation, the validation response message includes the
current balance
value that is associated with the user profile, and the authorization message
processor
224 may provide the authorization pre-processor 222 with the authorization
response
message. Alternately, the validation response message may include the current
balance
- 13 -
CA 3055500 2019-09-16

value (merchant-specific current balance value) that is associated with the
user profile
and the merchant. In these variations, the authorization pre-processor 222 is
configured
to respond to the validation response message (and the authorization response
message)
by, for example, (i) optionally confirming from the authorization response
message that
the transaction was authorized, (ii) generating an updated balance value from
the second
authorization value and the current balance value (merchant-specific current
balance
value), (iii) transmitting to the validation computer server 300, via the WAN
interface 212,
a balance update request that includes the user identifier and the updated
balance value,
and (iv) receiving from the validation computer server 300, via the WAN
interface 212, a
balance update confirmation that confirms that the validation computer server
300
replaced the current balance value (merchant-specific current balance value)
in the user
profile with the updated balance value.
[0059] In these variations, the authorization pre-processor 222 may
be configured to
generate the updated balance value by, for example, multiplying the second
authorization
value by a weight factor (included, for example, in the data structure or
otherwise stored
in the memory 218), and adding the resulting product to the current balance
value
(merchant-specific current balance value). The authorization pre-processor 222
may also
be configured to respond to the validation response message (and the
authorization
response message) by, for example, transmitting the updated balance value to
the mobile
communications device 400 via the LAN interface 206 (and the peripheral device
210).
As discussed, the peripheral device 210 implements a data-over-audio physical
communications layer. Therefore, the peripheral device 210 receives the
updated
balance value from the POS device 200 via the LAN interface 206, and provides
the
mobile communications device 400 with the updated balance value via a data-
over-audio
communications protocol.
[0060] As discussed, the merchant may use the POS device 200 to
initiate a
transaction with a customer by, for example, inputting the first authorization
value into
the POS device 200 via the input device 202. In one variation, before the
mobile
communications device 400 transmits the adjustment request to the POS device
200, the
customer advises the merchant that the customer intends to pay the first
authorization
value (in whole or in part) by providing the merchant with an adjustment
request from the
customer's mobile communications device 400. In response, the merchant may use
the
- 14 -
CA 3055500 2019-09-16

input device 202 to command the POS device 200 to securely receive the
adjustment
request from the mobile communications device 400.
[0061] In this variation, the authorization pre-processor 222 is
configured to securely
receive the adjustment request by, for example, (i) generating a token, (ii)
saving the token
in the memory 218 of the POS device 200, (iii) via the LAN interface 206 (and
the
peripheral device 210), transmitting the token to the mobile communications
device 400,
and (iv) via the LAN interface 206 (and the peripheral device 210), receiving
the token
from the mobile communications device 400, together with the data structure
and the
user identifier. The token may be pseudo-random number, and the authorization
pre-
processor 222 may include a pseudo-random number generator for generating the
token.
[0062] The authorization pre-processor 222 is configured to respond to
the
adjustment request by, for example, (i) validating the token by confirming
that, before the
POS device 200 received the token from the mobile communications device 400,
the
authorization pre-processor 222 had saved the token in the memory 218, and
(ii) erasing
the token from the memory 218.
[0063] As discussed, the peripheral device 210 implements a data-over-
audio
physical communications layer. Therefore, the peripheral device 210 receives
the token
from the POS device 200 via the LAN interface 206, and provides the mobile
communications device 400 with the token via a data-over-audio communications
protocol. The peripheral device 210 also receives the token, data structure
and user
identifier from the mobile communications device 400 via a data-over-audio
communications protocol, and provides the POS device 200 with the token, data
structure and user identifier via the LAN interface 206.
[0064] In this variation, the authorization pre-processor 222 may be
configured to
save the token by storing the token in the memory 218 in association with a
time-stamp
of a current time. The authorization pre-processor 222 may also be configured
to validate
the token by, for example, (i) locating the time-stamp that is associated with
the token in
the memory 218, and (ii) confirming that a difference between the current time
and the
located time-stamp does not exceed a predetermined limit (i.e. confirming from
the
located time-stamp that the token has not expired).
- 15 -
CA 3055500 2019-09-16

Validation Computer Server
[0065] As shown in Fig. 3, the validation computer server 300 includes
a wide area
network (WAN) interface 302, and a data processing system 304 that is in
communication
with the WAN interface 302. The WAN interface 302 interfaces the validation
computer
server 300 with the wide area network 140, and allows the validation computer
server
300 to communicate with the POS device 200 and the mobile communications
device
400 via the wide area network 140.
[0066] The data processing system 304 includes one or more
microprocessors 306,
a volatile computer-readable memory 308 and a non-transient computer-readable
medium 310. The non-transient computer-readable medium 310 may be provided as
one or more of a magnetic storage drive and a solid-state drive.
[0067] The computer-readable medium 310 may store a user profile
database 312,
and an e-coupons database 314. The user profile database 312 includes a
plurality of
records each associated with a respective user profile. Each record of the
user profile
database 312 identifies a user identifier that is uniquely associated with the
user profile,
a current balance value that is associated with the user profile, and a data
structure
identifier (if any) that is associated with the user identifier.
[0068] The e-coupons database 314 may store e-coupons that identify
promotions
(i.e. discounts) available to consumers on various goods and/or services. Each
e-coupon
may include a product code (e.g. UPC) of a good or service, an adjustment
(discount)
amount available on the purchase of the good or service during the promotion,
and
optionally also the merchant identifier of a merchant that is participating in
the promotion.
The business entity associated with the validation computer server 300 may
periodically
receive the e-coupons from various distributors, and the validation computer
server 300
may periodically update the e-coupons database 314 with the received e-
coupons.
[0069] The computer-readable medium 310 may also store computer
processing
instructions which, when copied into the volatile computer-readable memory
308, and
executed by the microprocessor(s) 306 from the volatile computer-readable
memory 308,
implement at least an operating system 316, a user identifier processor 318, a
data
structure request processor 320, a data structure validation processor 322,
and a
rewards points processor 324.
- 16 -
CA 3055500 2019-09-16

[0070] The operating system 316 allows the validation computer server
300 to at least
communicate with the POS device 200 and the mobile communications device 400
(via
the WAN interface 302).
[0071] The user identifier processor 318 provides customers with
unique user
identifiers, to thereby allow customers to request data structures from the
validation
computer server 300. A user of a mobile communications device 400 may use the
mobile
communications device 400 to establish a communication session to with the
validation
computer server 300, and transmit to the validation computer server 300 a user
identifier
request that requests a unique user identifier from the validation computer
server 300.
As discussed above, the authorization computer server 600 maintains an
accounts
database that includes a plurality of a plurality of ledgers each associated
with a
respective customer account. Each ledger identifies at least a set of
authentication
credentials that are uniquely associated with the customer account. Therefore,
the user
identifier processor 318 may be configured to redirect the communication
session to the
authorization computer server 600, in response to the user identifier request.
[0072] In response to the user identifier request, the authorization
computer server
600 may request that the mobile device user authenticate to the authorization
computer
server 600. The mobile device user may authenticate to the authorization
computer
server 600 by, for example, using the mobile communications device 400 to
provide the
authorization computer server 600 with a set of authentication credentials,
and the
authorization computer server 600 may authenticate the mobile device user by
confirming
that the set of authentication credentials received from the mobile
communications
device 400 correspond to a set of authentication credentials stored in the
accounts
database.
[0073] After the mobile device user successfully authenticates to the
authorization
computer server 600, the authorization computer server 600 may redirect the
communications session back to the validation computer server 300, and notify
the
validation computer server 300 that the mobile device user has been
successfully
authenticated. The user identifier processor 318 may be configured to (in
response to
the authentication confirmation message from the authorization computer server
600) (i)
generate a unique user identifier (for example, using a pseudo-random
number/character
generator), (ii) establish in the user profile database 312 a user profile
that includes the
- 17 -
CA 3055500 2019-09-16

unique user identifier and a current balance value (initially set to zero),
and (iii) provide the
mobile communications device 400 with the unique user identifier. The user
identifier
processor 318 may ensure that each user identifier is unique by saving each
new user
identifier in the user profile database 312 only after confirming that the
user identifier
processor 318 had not previously saved the user identifier in the user profile
database
312.
[0074] The data structure request processor 320 provides customers
with data
structures to thereby allow the customers to request adjustments to the first
authorization
value input into the POS device 200. After the mobile communications device
400
receives the unique user identifier from the validation computer server 300,
the user of
the mobile communications device 400 may request a data structure from the
validation
computer server 300 by, for example, using the mobile communications device
400 to
transmit to the validation computer server 300 (via the wide area network 140)
a data
structure request message that includes at least the user identifier. The data
structure
request processor 320 may be configured to (in response to the data structure
request
message) (i) generate one or more data structures, (ii) associate the data
structure(s) with
the mobile device user, and (iii) provide the mobile communications device 400
with the
data structure(s).
[0075] As discussed above, each data structure includes at least (i)
an adjustment
value and (ii) a data structure identifier that uniquely identifies the data
structure. The
data structure request processor 320 may be configured to generate the data
structures
by (i) reading the adjustment value and product code from each e-coupon stored
in the
e-coupons database 314 and, for each e-coupon, (ii) generating a unique data
structure
identifier (for example, using a pseudo-random number/character generator),
and
generating a data structure that includes the unique data structure
identifier, and the
adjustment value and product code read from the e-coupon. The validation
computer
server 300 may also be configured with an asymmetric cryptographic key pair.
In order
to facilitate subsequent validation of the data structure, the data structure
request
processor 320 may optionally be configured to digitally sign each data
structure with the
private cryptographic key of the asymmetric cryptographic key pair.
[0076] The data structure request processor 320 may be configured to
associate
each data structure with the mobile device user by saving the associated data
structure
- 18 -
CA 3055500 2019-09-16

identifier in the user's profile in the user profile database 312, in
association with the user
identifier. The data structure request processor 320 may ensure that each data
structure
identifier is unique by saving each new data structure identifier in the user
profile
database 312 only after confirming that the data structure request processor
320 had not
previously saved the data structure identifier in the user profile database
312.
[0077] In one variation, the data structure request message also
includes a merchant
identifier that is uniquely associated with the merchant, and the merchant may
provide
its customers with the merchant identifier by, for example, displaying the
merchant
identifier at the merchant's business premises. The user of the mobile
communications
device 400 may manually enter the merchant identifier into the mobile
communications
device 400. Alternately, the merchant may display the merchant identifier as a
bar code
(e.g. QR-code), and the user of the mobile communications device 400 may enter
the
merchant identifier into the mobile communications device 400 by scanning the
bar code
with the mobile communications device 400.
[0078] In this variation, the data structure request processor 320 may be
configured
to generate the data structures by (i) locating e-coupons for which the
merchant is
participating in the promotion, by querying the e-coupons database 314 with
the received
merchant identifier, (ii) reading the adjustment value and product code from
each located
e-coupon and, for each located e-coupon, (iii) generating a unique data
structure
identifier (for example, using a pseudo-random number/character generator) and
generating a data structure that includes the unique data structure
identifier, the
merchant identifier, and the adjustment value and product code read from the
located e-
coupon.
[0079] In this variation, the data structure request processor 320 may
be configured
to associate each data structure with the mobile device user and the merchant
by saving
the data structure identifier in the user's profile in the user profile
database 312, in
association with the user identifier and the merchant identifier. The data
structure request
processor 320 may also determine whether the user's profile includes a current
balance
value (merchant-specific current balance value) that is associated with the
merchant. If
the user's profile does not include a merchant-specific current balance value,
the
validation computer server 300 may establish in the user's profile a merchant-
specific
current balance value (initially set to zero).
- 19 -
CA 3055500 2019-09-16

[0080] The data structure validation processor 322 validates data
structures received
from the POS device 200. As discussed above, a customer may initiate payment
for a
transaction by providing the POS device 200 with an adjustment request message
that
includes a user identifier and a data structure. The POS device 200 may
transmit to the
validation computer server 300 (via the wide area network 140) a validation
request
message that includes the data structure and the user identifier. The data
structure
validation processor 322 may be configured to respond to the validation
request
message by, for example, (i) querying the user profile database 312 with the
received
user identifier to locate a database record that includes the user identifier
(i.e. locating
the user profile that includes the user identifier), (ii) reading the data
structure identifier
from the data structure, (iii) determining from the located user profile
whether the data
structure identifier was saved in the user profile database 312 in association
with the user
identifier, and (iv) transmitting to the POS device (via the WAN interface 302
) a validation
response message that indicates whether, before the validation computer server
300
received the validation request message from the POS device 200, the
validation
computer server 300 had saved the data structure identifier in the user
profile database
312 in association with the user identifier.
[0081] As discussed above, in one variation, the validation request
message includes
a merchant identifier. In this variation, the data structure validation
processor 322 may
be configured to respond to the validation request message by, for example,
(i) querying
the user profile database 312 with the received user identifier to locate a
database record
that includes the user identifier (i.e. locating the user profile that
includes the user
identifier), (ii) reading the data structure identifier from the data
structure, (iii) determining
from the located user profile whether the data structure identifier was saved
in the user
profile database 312 in association with the user identifier and the merchant
identifier,
and (iv) transmitting to the POS device (via the WAN interface 302 ) a
validation response
message that indicates whether, before the validation computer server 300
received the
validation request message from the POS device 200, the validation computer
server 300
had saved the data structure identifier in the user profile database 312 in
association with
the user identifier and the merchant identifier.
[0082] In one variation, the validation response message includes the
current balance
value (merchant-specific current balance value) that is saved in the user's
profile in the
- 20 -
CA 3055500 2019-09-16

user profile database 312 in association with the user identifier. In this
variation, the data
structure validation processor 322 is further configured to respond to the
validation
request message by determining the current balance value (merchant-specific
current
balance value) from the located database record, and incorporating the
determined
current balance value (merchant-specific current balance value) into the
validation
response message.
[0083] As discussed above, in response to the validation response
message the POS
device 200 may generate an updated balance value from the second authorization
value
and the current balance value (merchant-specific current balance value), and
transmit to
the validation computer server 300 a balance update request that includes the
user
identifier and the updated balance value. The rewards points processor 324 may
be
configured to respond to the balance update request by, for example, (i)
querying the
user profile database 312 with the received user identifier to locate a
database record
that includes the user identifier (i.e. locating the user profile that
includes the user
identifier), (ii) replacing the current balance value (merchant-specific
current balance
value) in the user's profile with the updated balance value, and (iii)
transmitting to the
POS device (via the WAN interface 302) a balance update confirmation that
confirms that
the validation computer server 300 has replaced the current balance value in
the user
profile with the updated balance value.
Mobile Communications Device
[0084] The mobile communications device 400 is typically implemented
as a wireless
communications device, such as a portable digital assistant (PDA), a tablet
computer or
a smartphone. As shown in Fig. 4, the mobile communications device 400 may
include
an input device 402, a display device 404, a local area network (LAN)
interface 406, a
wide area network (WAN) interface 408, an image capture device (e.g. CCD image
sensor)
409, and a data processing system 410 that is in communication with the input
device
402, the display device 404, the LAN interface 406, the WAN interface 408, and
the image
capture device 409.
[0085] The input device 402 may be implemented as a keyboard,
touchpad,
touchscreen or other input device suitable for allowing the operator to input
data and/or
commands into the mobile communications device 400. The display device 404 may
be
implemented as a liquid crystal display (LCD) panel, plasma display panel, or
other
- 21 -
CA 3055500 2019-09-16

display device suitable for displaying information to the operator of the
mobile
communications device 400.
[0086] The LAN interface 406 interfaces the mobile communications
device 400 with
the wireless local area network 150. As discussed above, the wireless local
area network
150 implements a data-over-audio communications protocol. Therefore, the LAN
interface 406 implements a data-over-audio physical communications layer that
is
configured for communication with devices (e.g. the peripheral device 210) on
the
wireless local area network 150 via the data-over-audio communications
protocol.
[0087] The WAN interface 408 interfaces the mobile communications
device 400 with
the mobile communications network of the wide area network 140, and allows the
mobile
communications device 400 to communicate with the validation computer server
300 via
the wide area network 140.
[0088] The data processing system 410 includes a microprocessor 412
and a non-
transient computer-readable medium 414. The non-transient computer-readable
medium 414 may be provided as non-volatile electronic computer memory (e.g.
FLASH
memory), as an example. The non-transient computer-readable medium (memory)
414
may store computer processing instructions which, when accessed from the
memory
414 and executed by the microprocessor 412, implement at least an operating
system
418, an e-coupon manager 420 and an adjustment processor 422.
[0089] The operating system 418 allows the mobile communications device 400
to
accept user input from the input device 402 and to display information on the
display
device 404. The operating system 418 also allows the mobile communications
device
400 to communicate with the peripheral device 210 via the LAN interface 406,
and to
communicate with the validation computer server 300 via the WAN interface 408.
[0090] The e-coupon manager 420 is configured to (i) transmit a user
identifier
request to the validation computer server 300 via the WAN interface 408, (ii)
receive a
unique user identifier from the validation computer server 300 via the WAN
interface 408,
and (iii) save the received user identifier in the memory 414. The e-coupon
manager 420
is also configured to (iv) transmit to the validation computer server 300, via
the WAN
interface 408, a data structure request that includes the user identifier, (v)
receive one or
- 22 -
CA 3055500 2019-09-16

more data structure(s) from the validation computer server 300 via the WAN
interface
408, and (vi) save the received data structure(s) in the memory 414.
[0091] As discussed above, the data structure(s) each include at
least (i) an
adjustment value and (ii) a data structure identifier that uniquely identifies
the data
structure. The adjustment processor 422 may be configured to (i) display on
the display
device 404 the data structure(s) that are stored in the memory 414, (ii)
receive from the
input device 202 a selection of one of the displayed data structures, (iii)
generate an
adjustment request message that includes the user identifier and the selected
data
structure, and (iv) transmit the adjustment request message to the peripheral
device 210
via the LAN interface 406.
[0092] In one variation, one or more of the data structures stored in
the memory 414
also include the merchant identifier of a participating merchant. In this
variation, the
adjustment processor 422 is configured to (i) read a merchant identifier from
the input
device 402 or the image capture device 409, (ii) locate in the memory 414 the
data
structure(s) (if any) that include the merchant identifier (as read from the
input device 402
or image capture device 409), (iii) display the located data structure(s) on
the display
device 404, (iv) receive from the input device 202 a selection of one of the
displayed data
structures, (v) generate an adjustment request message that includes the user
identifier
and the selected data structure, and (vi) transmit the adjustment request
message to the
peripheral device 210 via the LAN interface 406.
[0093] As discussed above, in one variation the POS device 200
transmits a token to
the mobile communications device 400 via the wide area network 140. In this
variation,
the adjustment processor 422 is configured to incorporate the token into the
adjustment
request message.
Method of Discounting an Authorization Value
[0094] As discussed, the data processing network 100 implements a
method of
discounting an authorization value. A sample embodiment of the discounting
method
will be discussed with reference to Figs. 5a and 5b. As will be explained, in
this
embodiment, the POS device 200 receives a first authorization value from an
input device
of the POS device 200, and receives from a mobile communications device, via a
local
area network 150, an adjustment request that includes a data structure and a
user
identifier. The data structure includes an adjustment value and a data
structure identifier.
- 23 -
CA 3055500 2019-09-16

[0095] The POS device 200 responds to the adjustment request by (i)
saving the data
structure in the memory of the POS device 200, and (ii) transmitting to the
validation
computer server 300, via a wide area network 140 (which is distinct from the
local area
network 150), a validation request that includes the data structure and the
user identifier.
[0096] The wide area network 140 and the local area network 150 each
include a
respective physical data transmission layer, and the network requirements of
the physical
data transmission layer of the wide area network 140 are incompatible with
network
requirements of the physical data transmission layer of the local area network
150.
[0097] The POS device 200 receives from the validation computer server
300, via the
wide area network 140, a validation response in response to the validation
request. The
validation response provides confirmation that, prior to receiving the
validation request,
the validation computer server 300 had saved the data structure identifier of
the data
structure in a user profile database in association with the user identifier.
[0098] The POS device 200 responds to the validation response by (i)
recovering the
adjustment value from the data structure saved in the memory, (ii) generating
a second
authorization value from the difference between the first authorization value
and the
adjustment value, and (iii) transmitting to the authorization server 600, over
a payment
network, an authorization request message that includes the second
authorization value.
[0099] An example method of discounting an authorization value will
now be
discussed in detail with reference to Fig. 5. In the following example, a
merchant is in
possession of a POS device 200, and a prospective customer of the merchant is
in
possession of a mobile communications device 400.
[00100] The POS device 200 (or the peripheral device 210 of the POS device)
and the
mobile communications device 400 are configured for communications with one
another
via a data-over-audio communications protocol. The mobile communications
device 400
stores a user identifier that is uniquely associated with the customer, and
the validation
computer server 300 maintains a user profile that includes the user identifier
and a current
balance value.
[00101] The financial institution associated with the acquirer computer
server 500
maintains a merchant account for the merchant, and the financial institution
associated
with the authorization server 600 maintains a customer account for the
customer.
- 24 -
CA 3055500 2019-09-16

[00102] (i) Download Data Structures
[00103] Prior to attending at the premises of the merchant, the
customer may
download one or more data structures to the mobile communications device 400.
The
customer initiates the data structure(s) download, at step S500, by using the
mobile
communications device 400 to transmit a data structure request message from
the
mobile communications device 400 to the validation computer server 300 (via
the mobile
communications network of the wide area network 140). The data structure
request
message includes the user identifier that is stored in the memory 414 of the
mobile
communications device 400, and the mobile communications device 400 transmits
the
data structure request message when the mobile communications device 400 has
connectivity with the mobile communications network of the wide area network
140.
[00104] In response to the data structure request message, the
validation computer
server 300 may generate one or more data structures by (i) reading the
adjustment value
and product code from each e-coupon stored in the e-coupons database 314 and,
for
each e-coupon, (ii) generating a unique data structure identifier, and
generating a data
structure that includes the unique data structure identifier, and the
adjustment value and
product code read from the e-coupon. The validation computer server 300 may
then
associate the data structure(s) with the customer by saving the data structure
identifier
of each data structure in the user's profile in the user profile database 312,
in association
with the user identifier.
[00105] After the validation computer server 300 associates the data
structure(s) with
the customer, at step S502 the validation computer server 300 transmits the
data
structure(s) to the mobile communications device 400 (via the mobile
communications
network of the wide area network 140), in response to the data structure
request
message. The mobile communications device 400 then stores the received data
structure(s) in the memory 414 of the mobile communications device 400. Since
the
mobile communications device 400 transmits the data structure request message
and
receives the data structure(s) via the mobile communications network, the
mobile
communications device 400 transmits the data structure request message to
validation
computer server 300 (and receives the data structure(s) from the validation
computer
server 300) when the mobile communications device 400 has connectivity with
the mobile
communications network.
- 25 -
CA 3055500 2019-09-16

[00106] In one variation, the customer may initiate the data
structure(s) download
while the customer is in attendance at the premises of the merchant. In this
variation,
the merchant may display a merchant identifier at the merchant's premises, and
the
customer may use the input device 402 or the image capture device 409 of the
mobile
communications device 400 to input the merchant identifier into the memory 414
of the
mobile communications device 400. At step s500, the customer may then use the
mobile
communications device 400 to transmit a data structure request message from
the
mobile communications device 400 to the validation computer server 300 (via
the mobile
communications network of the wide area network 140). In this variation, the
data
structure request message includes the user identifier and the merchant
identifier.
[00107] In this variation, in response to the data structure request
message, the
validation computer server 300 may generate one or more data structures by (i)
querying
the e-coupons database 314 with the received merchant identifier to thereby
locate e-
coupons for which the merchant is participating in the promotion, (ii) reading
the
adjustment value and product code from each located e-coupon and, for each
located
e-coupon, (iii) generating a unique data structure identifier, and generating
a data
structure that includes the unique data structure identifier, the merchant
identifier, and
the adjustment value and product code read from the located e-coupon. The
validation
computer server 300 may then associate the data structure(s) with the customer
by
saving the data structure identifier of each data structure in the user's
profile in the user
profile database 312, in association with the user identifier and the merchant
identifier.
[00108] As above, at step S502 the validation computer server 300 may then
transmit
the data structure(s) to the mobile communications device 400 (via the mobile
communications network of the wide area network 140), in response to the data
structure
request message. The mobile communications device 400 may then store the
received
data structure(s) in the memory 414 of the mobile communications device 400.
Further,
as above, since the mobile communications device 400 transmits the data
structure
request message and receives the data structure(s) via the mobile
communications
network, the mobile communications device 400 transmits the data structure
request
message to validation computer server 300 (and receives the data structure(s)
from the
validation computer server 300) when the mobile communications device 400 has
connectivity with the mobile communications network.
- 26 -
CA 3055500 2019-09-16

[00109] (ii) Request Adjustment to Authorization Value
[00110] After the mobile communications device 400 receives the data
structure(s),
the customer may attend at the premises of the merchant (if the customer is
not already
at the premises of the merchant) and advises the merchant of its intention to
purchase
goods or services from the merchant. The customer also advises the merchant
that the
customer intends to pay the purchase price (in whole or in part) by providing
the merchant
with an adjustment request from the customer's mobile communications device
400. In
response, at step S504 the merchant inputs a first authorization value (e.g.
the purchase
price) into the POS device 200 (for example, via the input device 202), and
commands
the POS device 200 to wait for an adjustment request from the mobile
communications
device 400.
[00111] The customer may then command the mobile communications device 400 to
display on the display device 404 one or more of the data structures that are
stored in
the memory 414. The customer then uses the mobile communications device 400 to
select one of the displayed data structures, and the mobile communications
device 400
generates an adjustment request message that includes the user identifier and
the
selected data structure, and transmits the adjustment request message to the
POS
device 200 via the data-over-audio communications protocol of the local area
network
150, at step S508.
[00112] In one variation, the merchant commands the POS device 200 to
securely
receive the adjustment request from the mobile communications device 400. In
response, the POS device 200 may generate a token (for example, using a pseudo-

random number generator), save the token in the memory 218 of the POS device
200,
and transmit the token to the mobile communications device 400 via the data-
over-audio
communications protocol of the local area network 150, at step S506. The POS
device
200 may also store the token in the memory 218 in association with a time-
stamp of a
current time. After the mobile communications device 400 receives the token
from the
POS device 200, the mobile communications device 400 generates an adjustment
request message that includes the token, the user identifier and the selected
data
structure, and transmits the adjustment request message to the POS device 200
via the
data-over-audio communications protocol of the local area network 150, at step
S508.
- 27 -
CA 3055500 2019-09-16

[00113] After the POS device 200 receives the adjustment request message from
the
mobile communications device 200, the POS device 200 may proceed to validate
the
token (if the adjustment request message includes a token). The POS device 200
may
validate the token by confirming that, before the POS device 200 received the
token from
the mobile communications device 400, the POS device 200 had saved the token
in the
memory 218. The POS device 200 may further validate the token by locating the
time-
stamp (if any) that is associated with the token in the memory 218, and
confirming that a
difference between the current time and the located time-stamp does not exceed
a
predetermined limit (i.e. confirming from the located time-stamp that the
token has not
expired).
[00114] If the POS device 200 successfully validates the token, the POS
device 200
may then erase the token (and the associated time-stamp, if any) from the
memory 218.
However, if the POS device 200 is unable to successfully validate the token,
the POS
device 200 may generate an adjustment response message advising that the
adjustment
request was invalid, and may transmit the adjustment response message to the
mobile
communications device 400 via the data-over-audio communications protocol of
the
local area network 150.
[00115] If the POS device 200 successfully validates the token (or if
the adjustment
request message does not include a token), the POS device 200 extracts the
user
identifier and the selected data structure from the adjustment request
message,
generates a validation request message that includes the user identifier and
the selected
data structure, and transmits the validation request message to the validation
computer
server 300 via the wide area network 140, at step S510.
[00116] After the validation computer server 300 receives the
validation request
message from the POS device 200, the validation computer server 300 validates
the
validation request message by (i) locating the user profile that is associated
with the
customer by querying the user profile database 312 with the user identifier
(included in
the validation request message) to locate a database record that includes the
user
identifier, (ii) reading the data structure identifier from the selected data
structure
(included in the validation request message), and (iii) determining from the
located user
profile whether the data structure identifier of the selected data structure
was previously
saved in the user profile database 312 in association with the user
identifier.
- 28 -
CA 3055500 2019-09-16

[00117] As discussed above, in one variation, the validation request
message includes
a merchant identifier. In this variation, the validation computer server 300
validates the
validation request message by (i) locating the user profile that is associated
with the
customer by querying the user profile database 312 with the user identifier to
locate a
database record that includes the user identifier, (ii) reading the data
structure identifier
from the selected data structure, and (iii) determining from the located user
profile
whether the data structure identifier of the selected data structure was
previously saved
in the user profile database 312 in association with the user identifier and
the merchant
identifier.
[00118] In this variation, if the validation computer server 300
successfully validates
the validation request message, the validation computer server 300 may also
determine
whether the user's profile includes a current balance value (merchant-specific
current
balance value) that is associated with the merchant. If the user's profile
does not include
a merchant-specific current balance value, the validation computer server 300
may
establish in the user's profile a merchant-specific current balance value
(initially set to
zero).
[00119] If the validation computer server 300 successfully validates
the validation
request message, the validation computer server 300 generates a validation
response
message that indicates that, before the validation computer server 300
received the
validation request message from the POS device 200, the validation computer
server 300
had saved the data structure identifier in the user profile database 312 in
association with
the user identifier (and optionally the merchant identifier). Otherwise, the
validation
computer server 300 generates a validation response message that indicates
that the
validation computer server 300 had not previously saved the data structure
identifier in
the user profile database 312 in association with the user identifier (and
optionally the
merchant identifier).
[00120] As discussed above, in one variation, the validation response message
includes the current balance value (or merchant-specific current balance
value) that is
saved in the user's profile in the user profile database 312 in association
with the user
identifier. Therefore, the validation computer server 300 may also determine
the current
balance value (merchant-specific current balance value) from the located user
profile,
- 29 -
CA 3055500 2019-09-16

and incorporate the current balance value (merchant-specific current balance
value) into
the validation response message.
[00121] After the validation computer server 300 generates the
validation response
message, the validation computer server 300 transmits the validation response
message
to the POS device 200 via the wide area network 140, at step S512.
[00122] After the POS device 200 receives the validation response message from
the
validation computer server 300, the POS device 200 determines from the
validation
response message whether the validation computer server 300 had validated the
validation request message (i.e. the validation response message confirms
that, before
the validation computer server 300 received the validation request message,
the
validation computer server 300 had saved the data structure identifier in the
user profile
database 312 in association with the user identifier (and optionally the
merchant
identifier)).
[00123] If the POS device 200 determines that the validation computer
server 300 had
not validated the validation request message, the POS device 200 displays a
suitable
message on the display device 202, notifying the customer that the validation
request
message was not invalid. Otherwise, the POS device 200 recovers the adjustment
value
from the data structure saved in the memory 218 of the POS device 200,
generates a
second authorization value by subtracting the adjustment value from the first
authorization value, displays a suitable message on the display device 202
that advises
the customer of the second authorization value and prompts the customer to
interface a
payment card with the pin-pad terminal 208.
[00124] (iii) Generate Authorization Request
[00125] After the customer interfaces a payment card with the pin-pad
terminal 208,
the POS device 200 reads the account particulars (e.g. PAN, card expiration
date) from
the payment card (via the pin-pad terminal 208), and generates an
authorization request
message that includes at least the account particulars and the second
authorization
value. At step S514, the POS device 200 securely transmits the authorization
request
message to the acquirer computer server 500, and the acquirer computer server
500
relays the authorization request message to the authorization computer server
600 via
the payment network of the wide area network 140.
- 30 -
CA 3055500 2019-09-16

[00126] After the authorization computer server 600 receives the
authorization request
message from the POS device 200, the authorization computer server 600
determines
from the PAN specified in the authorization request message whether the
transaction (in
an amount equal to the second authorization value) can be authorized (i.e.
determines
from the ledger whether the credit available in the customer account
associated with the
PAN is at least equal to the second authorization value). If the authorization
computer
server 600 determines that the transaction can be authorized, the
authorization computer
server 600 reduces the credit available in the customer account by an amount
equal to
the second authorization value and generates an authorization response message
indicating that the transaction was authorized. Otherwise, the authorization
computer
server 600 generates an authorization response message indicating that the
transaction
was declined.
[00127] After the authorization computer server 600 generates the
authorization
response message, at step S516 the authorization computer server 600 transmits
the
authorization response message to the acquirer computer server 500 via the
payment
network of the wide area network 140, and the acquirer computer server 500
securely
transmits the authorization response message to the POS device 200.
[00128] After the POS device 200 receives the authorization response message
from
the authorization computer server 600, the POS device 200 determines from the
authorization response message whether the transaction (in an amount equal to
the
second authorization value) was authorized. If the determines that the
transaction was
declined, the POS device 200 displays a suitable message on the display device
202,
notifying the customer that the transaction was declined was declined.
[00129] Otherwise, the POS device 200 (i) generates an updated balance value
by
multiplying the second authorization value by a weight factor (e.g. included
in the data
structure saved in the memory 218 of the POS device 200) and adding the
resulting
product to the current balance value, and (ii) generates a balance update
request that
includes the user identifier and the updated balance value, if the validation
request
message included a merchant identifier (and, therefore, the validation
response message
includes the merchant-specific current balance value), the POS device 200 (i)
generates
an updated balance value by multiplying the second authorization value by the
weight
factor and adding the resulting product to the merchant-specific current
balance value,
- 31 -
CA 3055500 2019-09-16

and (ii) generates a balance update request that includes the merchant
identifier, the user
identifier and the updated balance value.
[00130] The POS device 200 then transmits the balance update request to the
validation computer server 300 via the wide area network 140, at step S518.
[00131] After the validation computer server 300 receives the balance
update request
from the POS device 200, the validation computer server 300 locates the user
profile that
is associated with the user identifier by querying the user profile database
312 with the
user identifier, replaces the current balance value (merchant-specific current
balance
value) in the user's profile with the updated balance value, and generates a
balance
update confirmation that confirms that the validation computer server 300 has
replaced
the current balance value (merchant-specific current balance value) in the
user profile
with the updated balance value. The validation computer server 300 then
transmits the
balance update confirmation to the POS device via the wide area network 140,
at step
S520.
[00132] After the POS device 200 receives the balance update confirmation from
the
validation computer server 300, the POS device 200 may transmit the updated
balance
value to the mobile communications device 400 via the data-over-audio
communications
protocol of the local area network 150, at step S522. In response, the mobile
communications device 400 may display the updated balance value on the display
device
402 of the mobile communications device 400.
- 32 -
CA 3055500 2019-09-16

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2023-10-17
(22) Filed 2019-09-16
(41) Open to Public Inspection 2021-03-16
Examination Requested 2022-09-13
(45) Issued 2023-10-17

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $100.00 was received on 2023-09-15


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2024-09-16 $100.00
Next Payment if standard fee 2024-09-16 $277.00

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2019-09-16
Maintenance Fee - Application - New Act 2 2021-09-16 $100.00 2021-09-08
Maintenance Fee - Application - New Act 3 2022-09-16 $100.00 2022-09-07
Request for Examination 2024-09-16 $814.37 2022-09-13
Final Fee $306.00 2023-09-01
Maintenance Fee - Application - New Act 4 2023-09-18 $100.00 2023-09-15
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
THE TORONTO-DOMINION BANK
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Representative Drawing 2021-02-08 1 7
Cover Page 2021-02-08 2 45
Maintenance Fee Payment 2021-09-08 1 33
Amendment 2022-07-22 23 1,216
Maintenance Fee Payment 2022-09-07 1 33
Request for Examination 2022-09-13 4 78
Claims 2022-07-22 12 932
PPH Request / Amendment 2023-02-17 21 1,106
Claims 2023-02-17 13 992
Examiner Requisition 2023-03-13 5 243
Amendment 2023-03-20 35 1,976
Claims 2023-03-20 13 1,016
Abstract 2019-09-16 1 20
Description 2019-09-16 32 1,643
Claims 2019-09-16 6 290
Drawings 2019-09-16 5 59
Final Fee 2023-09-01 4 92
Maintenance Fee Payment 2023-09-15 1 33
Representative Drawing 2023-10-10 1 11
Cover Page 2023-10-10 1 46
Electronic Grant Certificate 2023-10-17 1 2,527