U.S. patent application number 14/356568 was filed with the patent office on 2014-09-25 for invoice payment system and method.
The applicant listed for this patent is GELLINER LIMITED. Invention is credited to Martin Paul Moshal.
Application Number | 20140289107 14/356568 |
Document ID | / |
Family ID | 45421539 |
Filed Date | 2014-09-25 |
United States Patent
Application |
20140289107 |
Kind Code |
A1 |
Moshal; Martin Paul |
September 25, 2014 |
INVOICE PAYMENT SYSTEM AND METHOD
Abstract
A code scanner (106) scans a quick response (QR) code that
encodes a merchant identification codes assigned to a merchant that
generates an invoice. The first invoice comprises invoice data. The
code scanner decodes the QR code to recover the merchant
identification code encoded within the QR code. The code scanner
can display the invoice data and one or more selectable payment
instruments. The code scanner selects a first payment instrument to
pay the first invoice. The code scanner transmits, to an
application server (102) for attempting to pay the invoice, the
merchant identification code, data pertaining to the selected
payment instrument, and at least a portion of the invoice data. The
application server can attempt to pay the invoice and notify the
code scanner whether the attempt to pay the invoice was successful.
The code scanner can display notification that indicates whether
attempt to pay the invoice was successful.
Inventors: |
Moshal; Martin Paul; (Queens
Way Quay, GI) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
GELLINER LIMITED |
Douglas |
|
GB |
|
|
Family ID: |
45421539 |
Appl. No.: |
14/356568 |
Filed: |
November 12, 2012 |
PCT Filed: |
November 12, 2012 |
PCT NO: |
PCT/GB2012/052804 |
371 Date: |
May 6, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61587416 |
Jan 17, 2012 |
|
|
|
Current U.S.
Class: |
705/40 |
Current CPC
Class: |
G06Q 2220/10 20130101;
G06Q 20/102 20130101; G06Q 20/3276 20130101; H04L 63/083 20130101;
G06Q 20/223 20130101; G06Q 20/40 20130101; G06Q 30/0185 20130101;
G06Q 30/02 20130101; G06F 16/9554 20190101; G06Q 20/3829 20130101;
G06Q 20/387 20130101; G06Q 20/14 20130101; G06Q 30/0609 20130101;
G06K 7/1417 20130101; G06Q 20/425 20130101; G06Q 20/208 20130101;
G06Q 30/06 20130101; G06Q 20/322 20130101; G06Q 20/3255 20130101;
G06Q 30/0225 20130101; H04L 9/0819 20130101; G06Q 20/4014 20130101;
G06K 19/06037 20130101; G06Q 20/12 20130101; G06Q 30/0633 20130101;
G06Q 20/145 20130101 |
Class at
Publication: |
705/40 |
International
Class: |
G06Q 20/10 20060101
G06Q020/10 |
Foreign Application Data
Date |
Code |
Application Number |
Nov 10, 2011 |
GB |
1119375.2 |
Claims
1. A method comprising: scanning, using a code scanner, a first
quick response (QR) code that encodes a merchant identification
code assigned to a merchant that generates a first invoice, wherein
the first invoice comprises first invoice data; decoding, using the
code scanner, the first QR code to recover the merchant
identification code encoded within the first QR code; selecting,
using the code scanner, a first payment instrument to pay the first
invoice; transmitting, from the code scanner to an application
server for an initial attempt of paying the first invoice, the
merchant identification code encoded in the first QR code, data
pertaining to the first payment instrument, and at least a portion
of the first invoice data; and receiving, at the code scanner from
the application server, first status data indicating whether the
initial attempt of paying the first invoice was successful or
unsuccessful.
2. The method of claim 1, wherein the first QR code encodes the
first invoice data of the first invoice, and wherein decoding the
first QR code includes the code scanner recovering the first
invoice data encoded within the first QR code, the method further
comprising: displaying, using the code scanner, the first invoice
data recovered from the first QR code.
3. The method of claim 2, wherein at least one of the merchant
identification code and the first invoice data encoded within the
first QR code is encrypted, and wherein decoding the first QR code
includes the code scanner using an encryption key to decrypt the at
least one of the merchant identification code and the first invoice
data.
4. The method of claim 2, further comprising: amending, using the
code scanner, a portion of the first invoice data, wherein the at
least a portion of the first invoice data transmitted to the
application server comprises the amended portion of the first
invoice data.
5. The method of claim 4, wherein the amended portion of the first
invoice data comprises at least one of a payment amount and a
billing address associated with a user of the code scanner.
6. The method of claim 2, further comprising: scanning, using the
code scanner, a second QR code that encodes a merchant
identification code assigned to a merchant that generates a second
invoice, wherein the second invoice comprises second invoice data;
decoding, using the code scanner, the second QR code to recover the
merchant identification code encoded within the second QR code;
selecting, using the code scanner, a first payment instrument to
pay the second invoice; transmitting, from the code scanner to the
application server for an initial attempt of paying the second
invoice, the merchant identification code encoded in the second QR
code, data pertaining to the first payment instrument selected to
pay the second invoice, and at least a portion of the second
invoice data; receiving, at the code scanner from the application
server, second status data indicating whether the initial attempt
of paying the second invoice was successful or unsuccessful; and if
the second status data indicates the initial attempt of paying the
second invoice was successful, then displaying, using the code
scanner, a notification that payment of the second invoice was
successful, otherwise, if the second status data indicates the
initial attempt of paying the second invoice was unsuccessful, then
displaying, using the code scanner, a notification that payment of
the second invoice was unsuccessful.
7. The method of claim 6, wherein the merchant that generates the
first invoice is the merchant that generates the second invoice,
wherein the merchant identification code encoded in the first QR
code is identical to the merchant identification code encoded in
the second QR code.
8. The method of claim 6, wherein the merchant that generates the
first invoice is different than the merchant that generates the
second invoice, wherein the merchant identification code encoded in
the first QR code differs from the merchant identification code
encoded in the second QR code.
9. The method of claim 6, wherein the payment instrument selected
to pay the second invoice is the first payment instrument.
10. The method of claim 6, wherein the payment instrument selected
to pay the second invoice is a payment instrument other than the
first payment instrument.
11. The method of claim 6, wherein the second status data indicates
the initial attempt of paying the second invoice was unsuccessful,
the method further comprising: transmitting, from the code scanner
to the application server, data for performing at least one
additional attempt of paying the second invoice; receiving, at the
code scanner from the application server, data indicating that an
additional attempt of paying the second invoice was successful and
then displaying, using the code scanner, a notification that the
additional attempt of paying the second invoice was successful.
12. The method of claim 11, further comprising: selecting, using
the code scanner, a second payment instrument to pay the second
invoice, wherein the data for performing the at least one
additional attempt of paying the second invoice comprises data
pertaining to the second payment instrument selected to pay the
second invoice.
13. The method of claim 11, further comprising: selecting, using
the code scanner, a partial payment amount that is less than a
total amount due on the second invoice; wherein the data for
performing the at least one additional attempt of paying the second
invoice comprises the partial payment amount that is less than a
total amount due on the second invoice, and wherein successful
payment of the second invoice occurs by paying the partial payment
amount that is less than a total amount due on the second
invoice.
14. The method of claim 13, wherein the notification that the
additional attempt of paying the second invoice was successful
indicates a remaining balance due to a merchant.
15. The method of claim 1, wherein the first status data indicates
the initial attempt of paying the first invoice was unsuccessful,
the method further comprising: transmitting, from the code scanner
to the application server, data for performing at least one
additional attempt of paying the first invoice; receiving, at the
code scanner from the application server, data indicating that an
additional attempt of paying the first invoice was successful and
then displaying, using the code scanner, a notification that the
additional attempt of paying the first invoice was successful.
16. The method of claim 15, further comprising: selecting, using
the code scanner, a second payment instrument to pay the first
invoice, wherein the data for performing the at least one
additional attempt of paying the first invoice comprises data
pertaining to the second payment instrument.
17. The method of claim 15, further comprising: selecting, using
the code scanner, a partial payment amount that is less than a
total amount due on the first invoice; wherein the data for
performing the at least one additional attempt of paying the first
invoice comprises the partial payment amount, and wherein
successful payment of the first invoice occurs by paying the
partial payment amount that is less than a total amount due on the
first invoice.
18. The method of claim 17, wherein the notification that the
additional attempt of paying the first invoice was successful
indicates a remaining balance due to a merchant.
19. The method of claim 1, wherein scanning the first QR code
comprises scanning the first QR code from a paper copy of the first
invoice.
20. The method of claim 1, wherein scanning the first QR code
comprises scanning the first QR code from the first invoice
displayed on a QR code display device.
21-110. (canceled)
Description
PRIORITY CLAIMS
[0001] This application claims the benefit of GB Application No.
1119375.2, filed Nov. 10, 2011, and claims the benefit of U.S.
Provisional Application No. 61/587,416, filed Jan. 17, 2012. GB
Application 1119375.2 and U.S. Provisional Application No.
61/587,416 are incorporated herein by reference for all
purposes.
BACKGROUND
[0002] Unless otherwise indicated herein, the elements described in
this section are not prior art to the claims and are not admitted
to be prior art by inclusion in this section.
[0003] Payment of invoices from service providers such as utility
companies, doctors, dentists and the like can be tedious and
time-consuming. For example, when a customer receives an invoice
from a utility company, the customer may pay the invoice by issuing
and posting a cheque, by means of an online banking transaction, or
through use of a credit or debit card on the utility company's
website.
[0004] Payment by cheque requires the customer to write out the
cheque, address an envelope and mail the cheque together with a
remittance slip that reflects the relevant invoice details. On the
other hand, payment of the invoice by means of an online banking
transaction requires the customer to set up the invoice issuer as a
beneficiary on the user's banking account. If the customer later
wishes to use a different banking account from which to pay, it
will be necessary for the customer to again set up the invoice
issuer as a beneficiary on the different banking account. Lastly,
in order to pay the invoice by means of a credit or debit card, the
customer may be required to furnish the relevant card particulars
to the invoice issuer's website for storage on the invoice issuer's
server, which is risky as such particulars may be
misappropriated.
[0005] The applicant has appreciated the desirability of a simpler
process for paying invoices than that described above.
OVERVIEW
[0006] Example embodiments are described herein. In one respect, an
example embodiment takes the form of a method comprising (i)
scanning, using a code scanner, a first quick response (QR) code
that encodes a merchant identification code assigned to a merchant
that generates a first invoice, wherein the first invoice comprises
first invoice data, (ii) decoding, using the code scanner, the
first QR code to recover the merchant identification code encoded
within the first QR code, (iii) selecting, using the code scanner,
a first payment instrument to pay the first invoice, (iv)
transmitting, from the code scanner to an application server for an
initial attempt of paying the first invoice, the merchant
identification code encoded in the first QR code, data pertaining
to the first payment instrument, and at least a portion of the
first invoice data, and (v) receiving, at the code scanner from the
application server, first status data indicating whether the
initial attempt of paying the first invoice was successful or
unsuccessful.
[0007] In another respect, an example embodiment takes the form of
a code scanner comprising (i) a processor, (ii) a scanner
configured to scan a first quick response (QR) code that encodes a
merchant identification code assigned to a merchant that generates
a first invoice, wherein the first invoice comprises first invoice
data, (iii) a data storage device that stores a computer-readable
scanner application executable by the processor to decode the first
QR code to recover the merchant identification code encoded within
the first QR code, (iv) a user interface configured to select a
first payment instrument to pay the first invoice, and (v) a
network interface. The network interface is configured to transmit,
to an application server for an initial attempt of paying the first
invoice, the merchant identification code encoded in the first QR
code. data pertaining to the first payment instrument, and at least
a portion of the first invoice data. The network interface is
configured to receive, from the application server, first status
data indicating whether the initial attempt of paying the first
invoice was successful or unsuccessful.
[0008] In yet another respect, an example embodiment takes the form
of a method comprising (i) receiving, at an application server from
a first code scanner, a merchant identification code assigned to a
merchant that generates a first invoice, wherein the first invoice
comprises first invoice data, (ii) receiving, at the application
server from the first code scanner, data pertaining to a first
payment instrument selected for an initial attempt of paying the
first invoice, (iii) receiving, at the application server from the
first code scanner, at least a portion of the first invoice data,
(iv) determining, at the application server, whether processing the
merchant identification code, the data pertaining to the first
payment instrument, and the at least a portion of the first invoice
data results in successful or unsuccessful payment of the first
invoice, and (v) transmitting, from the application server to the
first code scanner, first status data indicating whether the
initial attempt of paying the first invoice was successful or
unsuccessful.
[0009] In yet another respect, an example embodiment takes the form
of an application server comprising (i) a processor, (ii) a data
storage device comprising computer-readable program instructions,
(iii) a network interface to receive, from a first code scanner,
(a) a merchant identification code assigned to a merchant that
generates a first invoice, wherein the first invoice comprises
first invoice data, (b) data pertaining to a first payment
instrument selected for an initial attempt of paying the first
invoice, and (c) at least a portion of the first invoice data. The
program instructions are executable by the processor to determine
whether processing the merchant identification code, the data
pertaining to the first payment instrument, and the at least a
portion of the first invoice data results in successful or
unsuccessful payment of the first invoice. The program instructions
are executable by the processor to cause the network interface to
transmit first status data to the first code scanner. The first
status data indicates whether the initial attempt of paying the
first invoice was successful or unsuccessful.
[0010] In yet another respect, an example embodiment takes the form
of a method comprising (i) receiving, at a merchant server, a first
quick response (QR) code that encodes a merchant identification
code assigned to a merchant that generates a first invoice, wherein
the first invoice comprises first invoice data, (ii) providing,
from the merchant server to a code scanner user, the first invoice
and the first QR code, and (iii) receiving, at the merchant server
from an application server that processes payments of invoices, a
message indicating a payment towards the first invoice was
successfully made.
[0011] In still yet another respect, an example embodiment takes
the form of a merchant server comprising (i) a processor, (ii) a
data storage device comprising computer readable program
instructions, and (iii) a network interface that (a) receives a
first quick response (QR) code that encodes a merchant
identification code assigned to a merchant that generates a first
invoice, wherein the first invoice comprises first invoice data,
(b) transmits the first invoice and the first QR code to a code
scanner; and (c) receives, from an application server that
processes payments of invoices, a message indicating a payment
towards the first invoice was successfully made.
[0012] These as well as other aspects and advantages will become
apparent to those of ordinary skill in the art by reading the
following detailed description, with reference where appropriate to
the accompanying drawings. Further, it should be understood that
the embodiments described in this overview and elsewhere are
intended to be examples only and do not necessarily limit the scope
of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Example embodiments are described herein with reference to
the drawings, in which:
[0014] FIG. 1 is a schematic representation of a system for the
payment of invoices;
[0015] FIG. 2 is a representation of a webpage of a merchant portal
website hosted on an application server in the system of FIG.
1;
[0016] FIG. 3 illustrates an example quick response (QR) code;
[0017] FIG. 4 is a block diagram of a code scanner in accordance
with at least one of the example embodiments;
[0018] FIG. 5 is a block diagram of an application server in
accordance with at least one of the example embodiments;
[0019] FIG. 6 is a flow chart of functions to carry out payment of
an invoice in accordance with a first embodiment of the system of
FIG. 1;
[0020] FIG. 7 is a flow chart of functions to carry out payment of
an invoice in accordance with a second embodiment of the system of
FIG. 1; and
[0021] FIG. 8 is a block diagram of a merchant server in accordance
with at least one of the example embodiments.
DETAILED DESCRIPTION
I. Introduction
[0022] This description describes, among other things, example
embodiments with respect to paying an invoice. In this description
the terms `user` and `customer` can be used interchangeably
depending on the context, as can the terms "invoice issuer" and
"merchant," and the terms "invoice" and "bill."
[0023] In this description, the articles "a" or "an" are used to
introduce elements of the example embodiments. The intent of using
those articles is that there is one or more of the elements. The
intent of using the conjunction "or" within a described list of at
least 2 terms is to indicate that any of the listed terms or any
combination of the listed terms. The use of ordinal numbers such as
"first," "second," "third" and so on is to distinguish respective
elements rather than to denote a particular order of those
elements.
[0024] The following abbreviations or acronyms are used in the
description:
CVC--Card Verification Code;
FIG.--Figure;
FIGs.--Figures;
Inc.--Incorporated;
PIN--Personal Identification Number;
QR--Quick Response;
Scanner App--Scanner Application Program; and
[0025] SMS--Short message service.
II. Example Architecture
[0026] FIG. 1 depicts a schematic representation of a system 100
for payment of invoices in accordance with example embodiments
described herein. The system 100 includes an application server
102, a merchant server 104 and a code scanner 106 device configured
to scan and decode Quick Response (QR) codes which are well known
and widely used. The code scanner 106 can take the form of a
conventional smartphone handset provisioned with software for
scanning QR codes, a web browser, and a wireless connection to the
internet. The code scanner 106 can be referred to as a "mobile
wireless communication device," a "mobile smartphone handset" or,
more simply, a "mobile smartphone" or "smartphone." As an example,
the mobile wireless communication device can be a personal digital
assistant or a cellular telephone. As another example, the mobile
wireless communication device can be an iPhone, such as the
iPhone5, or an iPad sold by Apple Inc., Cupertino, Calif., United
States. The code scanner 106 does not need to be a mobile device,
but can be a device that remains attached to a stationary
internet-enabled device.
[0027] The application server 102, the merchant server 104 and the
code scanner 106 can communicate with each other using a
communication network 108. The communication network 108 can
comprise a wide-area network, such as the internet.
[0028] Communication between the application server 102 and the
code scanner 106 can be facilitated by using a server-hosted
program (not shown) and a scanner application program (a `scanner
app`) that is installed and executed on the code scanner 106. In
another respect, communication between the application server 102
and code scanner 106 can occur using network interface 152 (shown
in FIG. 4) and network interface 184 (shown in FIG. 5).
[0029] A user can download a copy of the scanner app 164 from a
download repository (for example, data storage device 188 in FIG.
5) and install the scanner app 164 on the code scanner 106. On,
during, or after installation, the scanner app 164 creates a
user-profile 110 on the code scanner 106 and prompts the user to
manually provide personal attributes such as, the user's first
name, the user's last name, an e-mail address, a physical address
and particulars of one or more payment instruments such as credit
cards, debit cards, e-wallets and the like. In accordance with at
least some example embodiments, the user-profile 110 (for example,
the data in the user-profile 110) is stored locally on the code
scanner 106 and is not passed to the application server 102 for
storage at application server 102.
[0030] The application server 102 hosts a merchant portal web site
120 that enables merchants to register and create individual
merchant profiles that are maintained by the application server 102
in a merchant database 112. The merchant portal website 120 can be
referred to as a "portal website." Merchant registration and
creation of a merchant profile in the merchant database 112 can be
performed online by the merchant portal website 120. A merchant can
use a merchant computing device 130 including a display for
displaying websites to display merchant portal websites and an
input device for selecting or entering data onto the merchant
portal websites.
[0031] FIG. 2 shows an example webpage 200 of the merchant portal
website 120. The webpage 200 can display a registration form 201
that a merchant can complete in order to register with the merchant
portal website 120. Registering with the merchant portal website
120 can be referred to as registering with application server 102.
The webpage 200 can be a homepage of the merchant portal website
120. As an example, the registration form 201 can include the
following fields: a merchant's business name 202, a merchant's
business address 204, and a description of the merchant's business
206. As an example, the business description can be a utility
company, an internet service provider, a doctor, a dentist, or some
other business description. As another example, the form 201 can
include a field for the merchant to enter data indicating an
account identifier of an account to which invoice payments are to
be made. An account identifier can identify the merchant's bank
account number. Other examples of fields on the registration form
201 are possible.
[0032] Entering data into the registration form 201 can occur, for
example, by typing data or selecting data from a list of
predetermined data. Selecting a "sign up" selector or some other
selector on registration form 201 can cause the merchant computing
device 130, displaying the webpage 200, to transmit data entered
into form 201 to the application server 102 for subsequent storage
as a merchant profile within merchant profiles 142.
[0033] A merchant can, in this manner, arrange for the merchant to
use QR-based invoice payment. The application server 102 can assign
a unique merchant identification code to each merchant business
configured in this manner and the merchant identification code is
stored in the merchant's profile in the merchant database 112.
Additionally or alternatively, each merchant identification code
can be provided to and stored with a QR source that serves QR codes
to the merchant server 104. For the sake of being brief, a merchant
identification code can be referred to as an "identification code."
A merchant identification code can, for example, be a unique
numeric code, a unique alphanumeric code, or a unique business
name. A business name entered using registration form 201 can be
appended with a prefix or suffix, by the application server 102, to
change the entered business name into a unique business name if a
merchant with a similar business name has already registered with
application server 102.
[0034] FIG. 3 illustrates an example QR code 999. QR code 999 can
be encoded as a payment QR code. The example embodiments may use
any of a variety of example QR codes. In one respect, QR code 999
can be configured as a static QR code. As an example, a static QR
code comprises data common to multiple invoices a merchant
produces, but does not include differing data that differs between
2 or more invoices. The common data can, for example, comprise a
merchant identification code the merchant uses on each of its
invoices. The differing data can, for example, comprise an invoice
number or amount due.
[0035] In another respect, QR code 999 can be configured as a
dynamic QR code. A dynamic QR code can include data fields that a
merchant can select the data to encode into one or more of the data
fields. As an example, the data fields of a dynamic QR code can
comprise, but is not limited to, one or more of the following data
fields: a name and address of the merchant, a name and address of
the customer, an invoice identifier, a due date for paying the
invoice, a date indicating when the invoice was generated, a
description and a corresponding cost of each line items that
appears on the invoice, a tax amount, a total amount due, a penalty
amount if the invoice is paid after the due date, and a penalty
amount if payment is attempted by cheque with insufficient funds.
Other examples of data fields a merchant can populate to when
generating an invoice are also possible. A dynamic QR code can
include a merchant identification code of the merchant generating
the dynamic QR code.
[0036] Next, FIG. 4 is a block diagram depicting an example
embodiment of code scanner 106. As shown in FIG. 4, code scanner
106 includes (i) a processor 150, (ii) a network interface 152 for
transmitting data to and receiving data from communication network
108, (iii) a user interface 154, (iv) a scanner 156 configured to
scan (for example, capture) QR codes, and (v) a data storage device
158, all of which can be linked together via a system bus or other
connection mechanism 160. Data storage device 158 includes
computer-readable program instructions (CRPI) 162, the scanner app
164, and a user-profile 110. CRPI 162 can include the scanner app
164. Data storage device 158 can comprise a non-transitory
computer-readable storage medium readable by processor 150. Each
computer-readable storage medium described herein can comprise
volatile and/or non-volatile storage components, such as optical,
magnetic, organic or other memory or disc storage, which can be
integrated in whole or in part with a processor.
[0037] Each processor described herein can comprise one or more
general purpose processors (for example, INTEL single core
microprocessors or INTEL multicore microprocessors) or one or more
special purpose processors (for example, application specific
integrated circuits (ASICs) or digital signal processors (DSPs)).
Processor 150 is configured to execute CRPI 162.
[0038] Each user interface described herein can comprise (i) one or
more output elements to present information (for example, data or a
form) to a user of the device comprising the user interface, and
(ii) one or more input elements to input user data (for example, a
user selection or form field data). The output elements can, for
example, comprise a display to visually present information or a
loud speaker to audibly present information. The input elements
can, for example, comprise a computer mouse, a keyboard, a
touchscreen, or a microphone.
[0039] FIG. 5 is a block diagram depicting an example embodiment of
application server 102. As shown in FIG. 5, application server 102
can include (i) a processor 182, (ii) a network interface 184 for
transmitting data to and receiving data from communication network
108, (iii) a user interface 186, and (iv) a data storage device
188, all of which can be linked together via a system bus or other
connection mechanism 190. Data storage device 188 can include (for
example, store) (i) CRPI 192, (ii) the scanner app 194 for
downloading to code scanners, (iii) user-profiles 198, (iv)
merchant website identification codes 140 for merchant businesses,
and (v) merchant database 112 including merchant profiles 142. CRPI
192 can include the scanner app 194. Data storage device 188 can
comprise a non-transitory computer-readable storage medium readable
by processor 182. Processor 182 is configured to execute CRPI
192.
[0040] FIG. 8 is a block diagram depicting an example embodiment of
merchant server 104. As shown in FIG. 8, merchant server 104 can
include (i) a processor 800, (ii) a network interface 802 for
transmitting data to and receiving data from communication network
108, (iii) a user interface 804, (iv) a printer 806, and a data
storage device 808, all of which can be linked together via a
system bus or other connection mechanism 810.
[0041] Network interface 802 can interface to merchant computing
device 130 using communication link 108. Alternatively, network
interface 802 can link to user interface 804 using connection
mechanism 810. In accordance with that latter arrangement, user
interface 804 can comprise merchant computing device 130. Network
interface 802 can receive QR codes from a QR source, transmit QR
codes to electronic display device 132. Network interface 802 can
receive invoices from the merchant's accounting system.
[0042] Printer 806 can comprise a device configured to print or
otherwise generate hardcopies of invoices or QR codes.
Alternatively or additionally, printer 806 can comprise an
interface connectable to the device configured to print or
otherwise generate hardcopies of invoices or QR codes.
[0043] Data storage device 808 can include (for example, store)
CRPI 812, customer data 814, and QR codes 816. CRPI 812 can
comprise program instructions that are executable to generate and
transmit, to a QR source, requests for QR codes. CRPI 812 can
comprise program instructions for receiving invoices from the
merchant's accounting system, and for sending the received invoices
to printer 804. CRPI 812 can comprise program instructions to
process payments carried out at application server 102.
III. Example Operation A
[0044] The system 100 can be used to pay a merchant invoice by use
of the code scanner 106. The following example describes an
application of the system 100 by a user who wishes to pay an
invoice from a utility company. In addition to this particular
example, the system 100 is also applicable to payment of other
types of invoices such as, for example, invoices from
telecommunication providers, hospitals, and the like. The merchant
(in this example, the utility company) will have already registered
on the portal website 120 and created a merchant profile 142 in the
merchant database 112. The merchant profile 142 includes a merchant
website identification code 140 assigned by the application server
102.
[0045] FIG. 6 is a flow chart depicting a set of functions 650 that
can be carried out in accordance with one or more example
embodiments. The set of functions 650 can be performed to pay the
utility company invoice. The utility company can operate merchant
server 104. A customer of the utility company can operate code
scanner 106 to pay the invoice. The customer can be referred to as
a user. The set of functions 650 are shown within blocks 600
through 630. A description of those blocks now follows.
[0046] The utility company can provide the user with an invoice
that contains, for example, a name and address of the merchant, a
name and address of the customer, an invoice number, a date, a
description and a corresponding cost of each line item that appears
on the invoice, any tax due such as such as sales tax or
value-added tax included in the invoice and a total amount due. The
invoice can be prepared by the merchant's accounting system.
[0047] At block 600, the merchant server 104 provides a payment QR
code that encodes the merchant identification code 140 in the
merchant profile 142 and all the details contained in the invoice.
The payment QR code may be generated by the merchant server 104 or
can be served to the merchant server by an external source of QR
codes (not shown). The invoice and the payment QR code can be
provided, individually or in combination, to the user. For example,
the merchant server 104 or printer 804 can print a hardcopy of the
invoice that contains the payment QR code and that is then mailed
to the user, or can print the QR code separately from the hardcopy
of the bill.
[0048] At block 602, the user can use the scanner app 164 and the
scanner 156 to scan the payment QR code on the hardcopy of the
invoice. At block 604, the scanner app 164 decodes the scanned
payment QR code to recover the encoded data that it contains
namely, the merchant identification code and the invoice details.
At block 606 the scanner app 164 displays a page (not shown) on the
user interface 154 with all the invoice details.
[0049] At block 608, the user can review the invoice details
displayed on the page by the scanner app 164 and amend the
displayed invoice data, if necessary. After reviewing and amending,
if necessary, the invoice data, the user can select, at block 610,
a payment instrument to pay the bill.
[0050] At block 612, the user can accept the invoice for payment.
Accepting the invoice can occur by entering a selection using user
interface 154. The scanner app 164 then transmits to the
application server 102, at block 614, the merchant identification
code, the invoice number, the amount to be paid and the details of
a payment instrument to be used for payment (for example, a credit
or debit card number, a cardholders name, a card expiry date, a
CVC, a PIN, or a mailing code associated with the cardholder's
billing address, as stored in the user-profile 110). The mailing
code, for example, can include a mailing code, such as a ZIP code,
associated assigned to the cardholder's billing address or
residence.
[0051] Once the details of the selected payment instrument have
been received at the application server 102, the particulars of the
financial transaction (for example, the amount to be paid, and the
merchant and payment details) are sent to a payment processor (not
shown) for processing (at block 616).
[0052] At block 618, the application server 102 or processor 182,
executing CRPI 192, can determine whether the payment was
successful or unsuccessful. The payment processor can generate and
return a payment status indicator, for example, either successful
or unsuccessful. If the payment status is successful, the
application server 102 notifies the scanner app 164, at block 620,
that payment has been successful and the displayed page refreshes
to indicate that the merchant's invoice has been paid (block 622).
If, on the other hand, the payment status is unsuccessful, the
application server 102 notifies the scanner app 164, at block 624,
that payment has been unsuccessful and the page displayed by the
scanner app 164 refreshes to request the user to select a different
payment instrument and re-attempt payment (block 626).
[0053] Re-attempting payment can include the code scanner 106
transmitting payment data, associated with the different payment
instrument, to the application server 102 for processing payment of
the invoice. If the merchant accepts payments less than the total
amount due on the invoice, such as a minimum payment amount,
re-attempting payment of the invoice can include using the same
payment instrument (or the different payment instrument) with an
amount less than the total amount due. Such re-attempt to pay the
invoice may be successful if the amount less than the total amount
due does not deplete the funds in an account associated with the
payment instrument or does not cause a credit limit of the payment
to be exceeded.
[0054] At block 628, if the payment status indicator is successful,
the application server 102 or the network interface 184 can
transmit the invoice number and the amount paid by the user to the
merchant server 104. Processor 182 can execute CRPI 192 to generate
a message (for example, one or more messages) that contains the
invoice number and the amount paid. Block 628 can include
transmitting that message to merchant server 104.
[0055] At block 630, merchant server 104 or processor 800,
executing CRPI 810, can process the invoice number and the amount
paid according to the merchant's accounting procedures. Processing
the invoice number and the amount paid can include receiving the
message transmitted block 628. After processing the invoice number
and the amount paid, merchant server 104 can transmit, to
electronic display device 132 or code scanner 106, a payment
receipt showing the amount paid at block 616.
IV. Example Operation B
[0056] FIG. 7 is a flow chart depicting a set of functions 750 that
can be carried out in accordance with an alternative embodiment.
The set of functions 750 can be performed to pay the utility
company's invoice or some other invoice. The set of functions 750
are shown within blocks 700 through 730. A description of those
blocks now follows.
[0057] The utility company can provide the user with an invoice
that contains, for example, a name and address of the merchant, a
name and address of the customer, an invoice identifier (such as an
invoice number), a date, a description and a corresponding cost of
each line item that appears on the invoice, any tax due such as
such as sales tax or value-added tax included in the invoice and a
total amount due. The invoice can be prepared by the merchant's
accounting system. The merchant server 104, using printer 804, can
print a hardcopy of the invoice.
[0058] At block 700, the merchant can affix a sticker bearing a QR
code onto the hardcopy of the invoice that is then mailed to the
user. Alternatively the merchant server can print the payment QR
code as part of the hardcopy invoice. The payment QR code is a
static QR code that encodes the merchant identification code 140 in
the merchant profile 142. Other examples of ways in which the
merchant can provide a static QR code are also possible.
[0059] At block 702, the user can use the scanner app 164 and the
scanner 156 to scan the payment QR code on the hardcopy of the
invoice. At block 704, the scanner app 164 decodes the scanned
payment QR code to recover the encoded data that it contains,
namely the merchant identification code.
[0060] Block 706 includes displaying a data entry form. As an
example, the scanner app 164 displays a page (not shown) on the
user interface 154 that contains the merchant identification code
and a form in which the user can enter the invoice number and an
amount to be paid on the invoice. In an alternative arrangement,
the scanner app 164 can cause the user interface 154 to display the
data entry form without the merchant identification code. In that
alternative arrangement, the scanner app 164 can cause the user
interface 154 to display a merchant name associated with the
merchant identification code. The user of the code scanner 106 may
recognize the merchant name but not the merchant identification
code. The data storage device 158 can include data that the scanner
app 164 can refer to identify the merchant name from the merchant
identification code. Additionally or alternatively, the scanner app
164 can request, from the application server 102, the merchant name
that is associated with the merchant identification code. Still
further, the merchant name can be encoded within the static QR code
and decoded by the scanner app 164. In accordance with one or more
of the example embodiments, the merchant identification code can be
or comprise a business name entered via webpage 200.
[0061] At block 708, the user can review and amend the amount to be
paid. After reviewing and amending, if necessary, the invoice data,
the user can select, at block 710, a payment instrument with which
to pay the invoice.
[0062] At block 712 the user can accept the invoice for payment.
Accepting the invoice can occur by entering a selection using user
interface 154. The scanner app 164 then transmits to the
application server, at block 714, the merchant identification code,
the invoice number, the amount to be paid and the details of the
selected payment instrument. Once the details of the selected
payment instrument have been received at the application server
102, the particulars of the financial transaction (for example, the
amount to be paid, and the merchant and payment details) are sent
to a payment processor (not shown) for processing (at block
716).
[0063] At block 718, the application server 102 or processor 182,
executing CRPI 192, can determine whether the payment was
successful. The payment processor can generated and return a
payment status indicator, for example, either successful or
unsuccessful. If the payment status is successful, the application
server 102 notifies the scanner app 164, at block 720, that payment
has been successful and the displayed page refreshes to indicate
that the merchant's invoice has been paid (block 722). If, on the
other hand, the payment status is unsuccessful, the application
server 102 notifies the scanner app 164, at block 724, that payment
has been unsuccessful and the page displayed by the scanner app 164
refreshes to request the user to select a different payment
instrument and re-attempt payment (block 726). Re-attempting
payment at block 726 can include re-attempting payment with an
amount less than the total amount due, as described above.
[0064] At block 728, if the payment status indicator is successful,
the application server 102 or network interface 184 can transmit
the invoice number and the amount paid by the user to the merchant
server 104. Processor 182 can execute CRPI 192 to generate a
message (for example, one or more messages) that contains the
invoice number and the amount paid. Block 728 can include
transmitting that message to merchant server 104.
[0065] At block 730, merchant server 104 or processor 800,
executing CRPI 810, can process the invoice number and the amount
paid according to the merchant's accounting procedures. Processing
the invoice number and the amount paid can include receiving the
message transmitted block 728. After processing the invoice number
and the amount paid, merchant server 104 can transmit, to
electronic display device 132 or code scanner 106, a payment
receipt showing the amount paid at block 716.
V. Variations and Benefits of Example Embodiments
[0066] Clearly, numerous variations and permutations are possible
to the embodiments without departing from the scope of this
disclosure: Some of these variations and permutations are described
below.
[0067] 1. In accordance with one or more of the disclosed
embodiments, the merchant invoice and the payment QR code can be
presented to the user in electronic form instead of in hardcopy
form. For example, the invoice and the payment QR code can be
provided to the user as a digital image. The user of code scanner
106 can then print a hardcopy of the image from which to scan the
payment QR code as described, or can display the digital image on
an electronic display device 132 and scan the payment QR code
directly from the electronic display device 132 in order to
initiate payment of the invoice.
[0068] With respect to the example embodiment shown in FIG. 6, the
QR code provided at block 600 can comprise providing (for example,
transmitting) the electronic QR code to electronic display device
132. Similarly, with respect to the example embodiment shown in
FIG. 7, the QR code provided at block 700 can comprise providing
(for example, transmitting) the electronic QR code to electronic
display device 132. Merchant server 104 can receive, from
electronic display device 132, a request for an invoice or QR codes
prior to providing the electronic QR code at block 600 or block
700. Blocks 600 or 700 can include providing (for example,
transmitting) an electronic form of the invoice to electronic
display device 132.
[0069] 2. In accordance with one or more of the disclosed
embodiments, instead of the user-profile 110 being stored only on
the code scanner 106, the user-profile 110 can be replicated and
stored on the application server 102 as a user-profile within
user-profiles 198. In this embodiment, the scanner app 164 on the
code scanner 106 synchronises changes to the user-profile 110 with
the copy of the user-profile on the application server 102 as the
changes occur, or periodically, or explicitly under user command.
The copy of the user-profile on the application server 102 can then
be imported to a different code scanner, for example when the user
changes smartphones or in the event the user loses or damages her
code scanner 106.
[0070] 3. In accordance with one or more of the disclosed
embodiments, in order to improve security of the system 100,
transmission of data from the user-profile 110 to the application
server 102 by the scanner app 164 can be encrypted. Similarly,
portions of the user-profile 110 transmitted to the application
server 102 to modify a user-profile stored within user-profiles 198
can be encrypted for that transmission.
[0071] 4. In accordance with one or more of the disclosed
embodiments, instead of the application server 102 sending the
particulars of the financial transaction (for example, the amount
due and the payment details) to a payment processor (not shown) for
processing, the application server 102 can process the payment
itself.
[0072] 5. In accordance with one or more of the disclosed
embodiments, the user-profile 110 on the code scanner 106 can
include the user's mobile phone number in addition to the user's
e-mail address. In embodiments in which the user-profile 110 is
replicated and stored on the application server 102 as well as on
the code scanner 106, the application server 102 may notify the
user of the success or failure of an invoice payment by one or more
of SMS and e-mail messages in addition, or as an alternative, to
notification by means of a page refresh by the scanner app 164 on
the code scanner 106.
[0073] 6. The use of Quick Response technology (QR codes), as
described in the example embodiments, can enable user interactions
in connection with payment at a merchant establishment to be
conducted more efficiently than is possible by means of known prior
art methods. In accordance with at least one of those example
embodiments, once a user has established a user-profile 110, the
user need only scan, by means of the code scanner 106, a QR code
displayed on a merchant bill website or a hardcopy of the bill in
order to effect payment of the bill. The user is spared the tedium
of having to tender cash or a physical payment instrument such as a
credit or debit card for payment. It is anticipated that the use of
QR codes for bill payment in this manner will reduce the tedium of
bill payment.
[0074] 7. In accordance with at least one example embodiment, after
establishing the user-profile 110 and scanning the QR code on an
invoice, the only user action required to effect payment of the
invoice is entering a selection to accept invoice for payment.
[0075] 8. In accordance with at least one example embodiment, after
establishing the user-profile 110 and scanning the QR code on an
invoice, the only user action required to effect payment of the
invoice is selecting a payment instrument from the user-profile 110
or otherwise entering information regarding the payment
instrument.
[0076] 9. In accordance with at least one example embodiment, after
establishing the user-profile 110 and scanning the QR code on an
invoice, the only user actions required to effect payment of the
invoice is selecting a payment instrument from the user-profile 110
or otherwise entering information regarding the payment instrument,
and entering a selection to accept invoice for payment.
[0077] 10. Data in the user-profile 110 is stored locally in the
code scanner 106. This means that sensitive user data such as
particulars of payment instruments like credit or debit cards need
not be handed over to other persons such as, for example, a waiter
or a merchant, thus reducing the possibility of such particulars
being misappropriated.
VI. Additional Example Embodiments
[0078] The following clauses are offered as further description of
the disclosed inventions.
[0079] Clause 1--A method comprising:
[0080] scanning, using a code scanner, a first quick response (QR)
code that encodes a merchant identification code assigned to a
merchant that generates a first invoice, wherein the first invoice
comprises first invoice data;
[0081] decoding, using the code scanner, the first QR code to
recover the merchant identification code encoded within the first
QR code;
[0082] selecting, using the code scanner, a first payment
instrument to pay the first invoice;
[0083] transmitting, from the code scanner to an application server
for an initial attempt of paying the first invoice, the merchant
identification code encoded in the first QR code, data pertaining
to the first payment instrument, and at least a portion of the
first invoice data; and
[0084] receiving, at the code scanner from the application server,
first status data indicating whether the initial attempt of paying
the first invoice was successful or unsuccessful.
[0085] Clause 2--The method of clause 1,
[0086] wherein the first QR code encodes the first invoice data of
the first invoice, and
[0087] wherein decoding the first QR code includes the code scanner
recovering the first invoice data encoded within the first QR
code,
[0088] the method further comprising:
[0089] displaying, using the code scanner, the first invoice data
recovered from the first QR code.
[0090] Clause 3--The method of as in one of clauses 1-2,
[0091] wherein at least one of the merchant identification code and
the first invoice data encoded within the first QR code is
encrypted, and
[0092] wherein decoding the first QR code includes the code scanner
using an encryption key to decrypt the at least one of the merchant
identification code and the first invoice data.
[0093] Clause 4--The method as in one of clauses 1-3, further
comprising:
[0094] amending, using the code scanner, a portion of the first
invoice data,
[0095] wherein the at least a portion of the first invoice data
transmitted to the application server comprises the amended portion
of the first invoice data.
[0096] Clause 5--The method of clause 4, wherein the amended
portion of the first invoice data comprises at least one of a
payment amount and a billing address associated with a user of the
code scanner.
[0097] Clause 6--The method as in one of clauses 1-2, further
comprising:
[0098] scanning, using the code scanner, a second QR code that
encodes a merchant identification code assigned to a merchant that
generates a second invoice, wherein the second invoice comprises
second invoice data;
[0099] decoding, using the code scanner, the second QR code to
recover the merchant identification code encoded within the second
QR code;
[0100] selecting, using the code scanner, a first payment
instrument to pay the second invoice;
[0101] transmitting, from the code scanner to the application
server for an initial attempt of paying the second invoice, the
merchant identification code encoded in the second QR code, data
pertaining to the first payment instrument selected to pay the
second invoice, and at least a portion of the second invoice
data;
[0102] receiving, at the code scanner from the application server,
second status data indicating whether the initial attempt of paying
the second invoice was successful or unsuccessful; and
[0103] if the second status data indicates the initial attempt of
paying the second invoice was successful, then displaying, using
the code scanner, a notification that payment of the second invoice
was successful, otherwise, if the second status data indicates the
initial attempt of paying the second invoice was unsuccessful, then
displaying, using the code scanner, a notification that payment of
the second invoice was unsuccessful.
[0104] Clause 7--The method of clause 6,
[0105] wherein the merchant that generates the first invoice is the
merchant that generates the second invoice,
[0106] wherein the merchant identification code encoded in the
first QR code is identical to the merchant identification code
encoded in the second QR code.
[0107] Clause 8--The method of clause 6,
[0108] wherein the merchant that generates the first invoice is
different than the merchant that generates the second invoice,
[0109] wherein the merchant identification code encoded in the
first QR code differs from the merchant identification code encoded
in the second QR code.
[0110] Clause 9--The method as in one of clauses 6-8, wherein the
payment instrument selected to pay the second invoice is the first
payment instrument.
[0111] Clause 10--The method as in one of clauses 6-8, wherein the
payment instrument selected to pay the second invoice is a payment
instrument other than the first payment instrument.
[0112] Clause 11--The method as in one of clauses 6-10,
[0113] wherein the second status data indicates the initial attempt
of paying the second invoice was unsuccessful,
[0114] the method further comprising:
[0115] transmitting, from the code scanner to the application
server, data for performing at least one additional attempt of
paying the second invoice;
[0116] receiving, at the code scanner from the application server,
data indicating that an additional attempt of paying the second
invoice was successful and then displaying, using the code scanner,
a notification that the additional attempt of paying the second
invoice was successful.
[0117] Clause 12--The method of clause 11, further comprising:
[0118] selecting, using the code scanner, a second payment
instrument to pay the second invoice,
[0119] wherein the data for performing the at least one additional
attempt of paying the second invoice comprises data pertaining to
the second payment instrument selected to pay the second
invoice.
[0120] Clause 13--The method of clause 11, further comprising:
[0121] selecting, using the code scanner, a partial payment amount
that is less than a total amount due on the second invoice;
[0122] wherein the data for performing the at least one additional
attempt of paying the second invoice comprises the partial payment
amount that is less than a total amount due on the second invoice,
and
[0123] wherein successful payment of the second invoice occurs by
paying the partial payment amount that is less than a total amount
due on the second invoice.
[0124] Clause 14--The method of clause 13, wherein the notification
that the additional attempt of paying the second invoice was
successful indicates a remaining balance due to a merchant.
[0125] Clause 15--The method of clause 1,
[0126] wherein the first status data indicates the initial attempt
of paying the first invoice was unsuccessful,
[0127] the method further comprising:
[0128] transmitting, from the code scanner to the application
server, data for performing at least one additional attempt of
paying the first invoice;
[0129] receiving, at the code scanner from the application server,
data indicating that an additional attempt of paying the first
invoice was successful and then displaying, using the code scanner,
a notification that the additional attempt of paying the first
invoice was successful.
[0130] Clause 16--The method of clause 15, further comprising:
[0131] selecting, using the code scanner, a second payment
instrument to pay the first invoice,
[0132] wherein the data for performing the at least one additional
attempt of paying the first invoice comprises data pertaining to
the second payment instrument.
[0133] Clause 17--The method of clause 15, further comprising:
[0134] selecting, using the code scanner, a partial payment amount
that is less than a total amount due on the first invoice;
[0135] wherein the data for performing the at least one additional
attempt of paying the first invoice comprises the partial payment
amount, and
[0136] wherein successful payment of the first invoice occurs by
paying the partial payment amount that is less than a total amount
due on the first invoice.
[0137] Clause 18--The method as in one of clauses 15-17, wherein
the notification that the additional attempt of paying the first
invoice was successful indicates a remaining balance due to a
merchant.
[0138] Clause 19--The method as in one of clauses 1-18, wherein
scanning the first QR code comprises scanning the first QR code
from a paper copy of the first invoice.
[0139] Clause 20--The method as in one of clauses 1-19, wherein
scanning the first QR code comprises scanning the first QR code
from the first invoice displayed on a QR code display device.
[0140] Clause 21--The method as in one of clauses 1-20, wherein the
data pertaining to the first payment instrument comprises at least
one of a credit card number, a debit card number, a cardholder
name, a card expiry date, a card verification code, a personal
identification number, and a mailing code associated with the
cardholder.
[0141] Clause 22--The method as in one of clauses 1-21, wherein if
the first status data indicates the initial attempt of paying the
first invoice was successful, then displaying, using the code
scanner, a notification that payment of the first invoice was
successful, otherwise, if the first status data indicates the
initial attempt of paying the first invoice was unsuccessful, then
displaying, using the code scanner, a notification that payment of
the first invoice was unsuccessful.
[0142] Clause 23--A code scanner device comprising:
[0143] a processor; and
[0144] a computer-readable data storage device comprising program
instructions executable by the processor to carry out a method of
any one of clauses 1 through 22.
[0145] Clause 24--A computer-readable data storage device
comprising computer-readable program instructions executable by a
processor to carry out a method of any one of clauses 1 through
22.
[0146] Clause 25--The computer-readable data storage device of
clause 24, wherein the computer-readable data storage device is a
non-transitory computer-readable data storage device.
[0147] Clause 26--A computer data signal embodied in a carrier
wave, the computer data signal comprising computer-readable program
instructions for performing a method of any one of clauses 1
through 22.
[0148] Clause 27--A reproducible computer-readable signal carrying
computer-readable program instructions for performing a method of
any one of clauses 1 through 22.
[0149] Clause 28--A computer software product for registering a
user of a data processing system with a merchant server, the
software product comprising instructions, that when executed by a
processor of the data processing system will cause the data
processing system to carry out the functions of any one clauses 1
through 22.
[0150] Clause 29--A code scanner comprising:
[0151] a processor;
[0152] a scanner configured to scan a first quick response (QR)
code that encodes a merchant identification code assigned to a
merchant that generates a first invoice, wherein the first invoice
comprises first invoice data;
[0153] a data storage device that stores a computer-readable
scanner application executable by the processor to decode the first
QR code to recover the merchant identification code encoded within
the first QR code;
[0154] a user interface configured to select a first payment
instrument to pay the first invoice;
[0155] a network interface,
[0156] wherein the network interface is configured to transmit, to
an application server for an initial attempt of paying the first
invoice, the merchant identification code encoded in the first QR
code, data pertaining to the first payment instrument, and at least
a portion of the first invoice data, and
[0157] wherein the network interface is configured to receive, from
the application server, first status data indicating whether the
initial attempt of paying the first invoice was successful or
unsuccessful.
[0158] Clause 30--The code scanner of clause 29, wherein, if the
first status data indicates the initial attempt of paying the first
invoice was successful, then the user interface displays a
notification that payment of the first invoice was successful,
otherwise, if the first status data indicates the initial attempt
of paying the first invoice was unsuccessful, then the user
interface displays a notification that payment of the first invoice
was unsuccessful.
[0159] Clause 31--The code scanner as in one of clauses 28-29,
[0160] wherein the first QR code encodes the first invoice data of
the first invoice,
[0161] wherein decoding the first QR code includes the processor
recovering the first invoice data encoded within the first QR code,
and
[0162] wherein the user interface comprises a display device that
displays the first invoice data recovered from the first QR
code.
[0163] Clause 32--The code scanner of clause 31,
[0164] wherein at least one of the merchant identification code and
the first invoice data encoded within the first QR code is
encrypted, and
[0165] wherein decoding the first QR code includes the processor
using an encryption key to decrypt the at least one of the merchant
identification code and the first invoice data.
[0166] Clause 33--The code scanner as in one of clauses 31-32,
[0167] wherein the processor amends a portion of the first invoice
data, and
[0168] wherein the at least a portion of the first invoice data
transmitted to the application server comprises the amended portion
of the first invoice data.
[0169] Clause 34--The code scanner of clause 33, wherein the
amended portion of the first invoice data comprises at least one of
a payment amount and a billing address associated with a user of
the code scanner.
[0170] Clause 35--The code scanner as in one of clauses 31-34,
[0171] wherein the scanner is configured to scan a second QR code
that encodes a merchant identification code assigned to a merchant
that generates a second invoice, wherein the second invoice
comprises second invoice data,
[0172] wherein the processor decodes the second QR code to recover
the merchant identification code encoded within the second QR
code,
[0173] wherein the user interface is configured to select a first
payment instrument to pay the second invoice;
[0174] wherein the network interface is configured to transmit, to
the application server for an initial attempt of paying the second
invoice, the merchant identification code encoded in the second QR
code, data pertaining to the first payment instrument selected to
pay the second invoice, and at least a portion of the second
invoice data, and
[0175] wherein the network interface is configured to receive, from
the application server, second status data indicating whether the
initial attempt of paying the second invoice was successful or
unsuccessful, and
[0176] wherein, if the second status data indicates the initial
attempt of paying the second invoice was successful, then
displaying, using the code scanner, a notification that payment of
the second invoice was successful, otherwise, if the second status
data indicates the initial attempt of paying the second invoice was
unsuccessful, then displaying, using the code scanner, a
notification that payment of the second invoice was
unsuccessful.
[0177] Clause 36--The code scanner of clause 35,
[0178] wherein the merchant that generates the first invoice is the
merchant that generates the second invoice, and
[0179] wherein the merchant identification code encoded in the
first QR code is identical to the merchant identification code
encoded in the second QR code.
[0180] Clause 37--The code scanner of clause 35,
[0181] wherein the merchant that generates the first invoice is
different than the merchant that generates the second invoice,
and
[0182] wherein the merchant identification code encoded in the
first QR code differs from the merchant identification code encoded
in the second QR code.
[0183] Clause 38--The code scanner as in one of clauses 35-37,
wherein the payment instrument selected to pay the second invoice
is the first payment instrument.
[0184] Clause 39--The code scanner as in one of clauses 35-37,
wherein the payment instrument selected to pay the second invoice
is a payment instrument other than the first payment
instrument.
[0185] Clause 40--The code scanner as in one of clauses 35-39,
[0186] wherein the second status data indicates the initial attempt
of paying the second invoice was unsuccessful,
[0187] wherein the network interface is configured to transmit, to
the application server, data for performing at least one additional
attempt of paying the second invoice,
[0188] wherein the network interface is configured to receive, from
the application server, data indicating that an additional attempt
of paying the second invoice was successful,
[0189] wherein the user interface displays a notification that the
additional attempt of paying the second invoice was successful.
[0190] Clause 41--The code scanner of clause 40,
[0191] wherein the user interface is configured to select a second
payment instrument to pay the second invoice, and
[0192] wherein the data for performing the at least one additional
attempt of paying the second invoice comprises data pertaining to
the second payment instrument selected to pay the second
invoice.
[0193] Clause 42--The code scanner of clause 40,
[0194] wherein the user interface is configured to select a partial
payment amount that is less than a total amount due on the second
invoice,
[0195] wherein the data for performing the at least one additional
attempt of paying the second invoice comprises the partial payment
amount that is less than a total amount due on the second invoice,
and
[0196] wherein successful payment of the second invoice occurs by
paying the partial payment amount that is less than a total amount
due on the second invoice.
[0197] Clause 43--The code scanner of clause 42, wherein the
notification that the additional attempt of paying the second
invoice was successful indicates a remaining balance due to a
merchant.
[0198] Clause 44--The code scanner of clause 29,
[0199] wherein the first status data indicates the initial attempt
of paying the first invoice was unsuccessful,
[0200] wherein the network interface is configured to transmit, to
the application server, data for performing at least one additional
attempt of paying the first invoice;
[0201] wherein the network interface is configured to receive, from
the application server, data indicating that an additional attempt
of paying the first invoice was successful,
[0202] wherein the user interface displays a notification that the
additional attempt of paying the first invoice was successful.
[0203] Clause 45--The code scanner of clause 44,
[0204] wherein the user interface is configured to select a second
payment instrument to pay the first invoice, and
[0205] wherein the data for performing the at least one additional
attempt of paying the first invoice comprises data pertaining to
the second payment instrument.
[0206] Clause 46--The code scanner as in one of clauses 44-45,
[0207] wherein the user interface is configured to select a partial
payment amount that is less than a total amount due on the first
invoice,
[0208] wherein the data for performing the at least one additional
attempt of paying the first invoice comprises the partial payment
amount, and
[0209] wherein successful payment of the first invoice occurs by
paying the partial payment amount that is less than a total amount
due on the first invoice.
[0210] Clause 47--The code scanner of clause 46, wherein the
notification that the additional attempt of paying the first
invoice was successful indicates a remaining balance due to a
merchant.
[0211] Clause 48--The code scanner as in one of clauses 29-47,
wherein scanning the first QR code comprises scanning the first QR
code from a paper copy of the first invoice.
[0212] Clause 49--The code scanner as in one of clauses 29-47,
wherein scanning the first QR code comprises scanning the first QR
code from the first invoice displayed on a QR code display
device.
[0213] Clause 50--The code scanner as in one of clauses 29-49,
wherein the data pertaining to the first payment instrument
comprises at least one of a credit card number, a debit card
number, a cardholder name, a card expiry date, a card verification
code, a personal identification number, and a mailing code
associated with the cardholder.
[0214] Clause 51--A method comprising:
[0215] receiving, at an application server from a first code
scanner, a merchant identification code assigned to a merchant that
generates a first invoice, wherein the first invoice comprises
first invoice data;
[0216] receiving, at the application server from the first code
scanner, data pertaining to a first payment instrument selected for
an initial attempt of paying the first invoice;
[0217] receiving, at the application server from the first code
scanner, at least a portion of the first invoice data;
[0218] determining, at the application server, whether processing
the merchant identification code, the data pertaining to the first
payment instrument, and the at least a portion of the first invoice
data results in successful or unsuccessful payment of the first
invoice; and
[0219] transmitting, from the application server to the first code
scanner, first status data indicating whether the initial attempt
of paying the first invoice was successful or unsuccessful.
[0220] Clause 52--The method of clause 51, further comprising:
[0221] transmitting, from the application server to a merchant
server, an identifier of the first invoice and an amount paid
towards the first invoice.
[0222] Clause 53--The method as in one of clauses 51-52, further
comprising:
[0223] storing, within a data storage device of the application
server, a user-profile associated with a user of the first code
scanner;
[0224] receiving, at the application server, a request to transmit
the user-profile to a second code scanner; and
[0225] transmitting the user-profile from the application server to
the second code scanner.
[0226] Clause 54--The method of clause 53,
[0227] wherein user-profile comprises security data for authorizing
transmission of the user-profile from the application server to a
code scanner,
[0228] wherein the request to transmit the user-profile comprises
the security data and the application server determines the
security data in the request matches the security data in the
user-profile prior to transmitting the user-profile to the second
code scanner.
[0229] Clause 55--The method as in one of clauses 53-54, further
comprising:
[0230] storing, within the data storage device of the application
server, at least one other user-profile associated with at least
one other user of another code scanner,
[0231] wherein each of the at least one other user profile
comprises data for paying invoices for the user associated with
that user profile.
[0232] Clause 56--The method as in one of clauses 53-55, further
comprising:
[0233] receiving, at the application server, data to modify the
user-profile associated with the user of the first code
scanner,
[0234] modifying, at the data storage device, the user-profile to
comprise the data to modify the user-profile; and
[0235] storing, at the data storage device, the modified
user-profile.
[0236] Clause 57--The method as in one of clauses 51-56, further
comprising:
[0237] transmitting the merchant identification code, the data
pertaining to the first payment instrument, and the at least a
portion of the first invoice data to a payment processor,
[0238] wherein processing the merchant identification code, the
data pertaining to the first payment instrument, and the at least a
portion of the first invoice data occurs at the payment
processor.
[0239] Clause 58--The method of clause 57, wherein the payment
processor is remote from application server.
[0240] Clause 59--The method of clause 57, wherein the payment
processor is within the application server.
[0241] Clause 60--The method as in one of clauses 51-59, further
comprising:
[0242] transmitting, from the application server to the first code
scanner, a scanner application for decoding a quick response (QR)
code on an invoice,
[0243] wherein the merchant identification code is encoded within a
QR code on the first invoice.
[0244] Clause 61--A code scanner device comprising:
[0245] a processor; and
[0246] a computer-readable data storage device comprising program
instructions executable by the processor to carry out a method of
any one of clauses 51 through 60.
[0247] Clause 62--A computer-readable data storage device
comprising computer-readable program instructions executable by a
processor to carry out a method of any one of clauses 51 through
60.
[0248] Clause 63--The computer-readable data storage device of
clause 62, wherein the computer-readable data storage device is a
non-transitory computer-readable data storage device.
[0249] Clause 64--A computer data signal embodied in a carrier
wave, the computer data signal comprising computer-readable program
instructions for performing a method of any one of clauses 51
through 60.
[0250] Clause 65--A reproducible computer-readable signal carrying
computer-readable program instructions for performing a method of
any one of clauses 51 through 60.
[0251] Clause 66--A computer software product for registering a
user of a data processing system with a merchant server, the
software product comprising instructions, that when executed by a
processor of the data processing system will cause the data
processing system to carry out the functions of any one clauses 51
through 60.
[0252] Clause 67--An application server comprising:
[0253] a processor;
[0254] a data storage device comprising computer-readable program
instructions;
[0255] a network interface to receive, from a first code scanner,
(i) a merchant identification code assigned to a merchant that
generates a first invoice, wherein the first invoice comprises
first invoice data, (ii) data pertaining to a first payment
instrument selected for an initial attempt of paying the first
invoice, and (iii) at least a portion of the first invoice
data;
[0256] wherein the program instructions are executable by the
processor to determine whether processing the merchant
identification code, the data pertaining to the first payment
instrument, and the at least a portion of the first invoice data
results in successful or unsuccessful payment of the first
invoice;
[0257] wherein the program instructions are executable by the
processor to cause the network interface to transmit first status
data to the first code scanner, and
[0258] wherein the first status data indicates whether the initial
attempt of paying the first invoice was successful or
unsuccessful.
[0259] Clause 68--The application server of clause 67, wherein the
network interface transmits, to a merchant server, an identifier of
the first invoice and an amount paid towards the first invoice.
[0260] Clause 69--The application server as in one of clauses
67-68,
[0261] wherein the data storage device stores a user-profile
associated with a user of the first code scanner,
[0262] wherein the network interface receives, a request to
transmit the user-profile to a second code scanner, and
[0263] wherein the network interface transmits the user-profile to
the second code scanner.
[0264] Clause 70--The application server of clause 69,
[0265] wherein user-profile comprises security data for authorizing
transmission of the user-profile from the application server to a
code scanner,
[0266] wherein the request to transmit the user-profile comprises
the security data and the application server determines the
security data in the request matches the security data in the
user-profile prior to transmitting the user-profile to the second
code scanner.
[0267] Clause 71--The application server as in one of clauses
69-70,
[0268] wherein the data storage device stores at least one other
user-profile associated with at least one other user of another
code scanner, and
[0269] wherein each of the at least one other user profile
comprises data for paying invoices for the user associated with
that user profile.
[0270] Clause 72--The application server as in one of clauses
69-71,
[0271] wherein the network interface receives data to modify the
user-profile associated with the user of the first code
scanner,
[0272] wherein the processor modifies the user-profile with the
data to modify the user-profile; and
[0273] wherein the data storage device stores the modified
user-profile.
[0274] Clause 73--The application server as in one of clauses
67-72,
[0275] wherein the network interface transmits the merchant
identification code, the data pertaining to the first payment
instrument, and the at least a portion of the first invoice data to
a payment processor,
[0276] wherein processing the merchant identification code, the
data pertaining to the first payment instrument, and the at least a
portion of the first invoice data occurs at the payment
processor.
[0277] Clause 74--The application server of clause 73, wherein the
payment processor is remote from application server.
[0278] Clause 75--The application server of clause 73, wherein the
payment processor is within the application server.
[0279] Clause 76--The application server as in one of clauses
67-75,
[0280] wherein the network interface transmits, to the first code
scanner, a scanner application for decoding a quick response (QR)
code on an invoice,
[0281] wherein the merchant identification code is encoded within a
QR code on the first invoice.
[0282] Clause 77--A method comprising:
[0283] receiving, at a merchant server, a first quick response (QR)
code that encodes a merchant identification code assigned to a
merchant that generates a first invoice, wherein the first invoice
comprises first invoice data;
[0284] providing, from the merchant server to a code scanner user,
the first invoice and the first QR code; and
[0285] receiving, at the merchant server from an application server
that processes payments of invoices, a message indicating a payment
towards the first invoice was successfully made.
[0286] Clause 78--The method of clause 77, further comprising:
[0287] displaying, on a merchant computing device, a merchant
portal website configured for entering data to register a first
merchant with an application server that processes invoice payments
for merchants;
[0288] transmitting, to the application sever from the merchant
computing device, data entered onto the merchant portal website;
and
[0289] receiving, at the merchant server from the application
server, a notification indicating the merchant is registered with
the application server for processing invoice payments for the
first merchant.
[0290] Clause 79--The method of clause 78,
[0291] wherein the merchant portal web site comprises a plurality
of fields for entering the data, and
[0292] wherein the plurality of fields includes a field selected
from the group consisting of a business name field, a business
street address field, a business city field, a business state
field, a business mailing code field, a business country field, a
business type field, and an account identifier field.
[0293] Clause 80--The method of clause 79, wherein entering data
into at least one field of the plurality of fields can occur by
selecting the data from predetermined field data.
[0294] Clause 81--The method as in one of clauses 78-80,
[0295] wherein the data entered to register the first merchant
comprise a plurality of data items, and
[0296] wherein the plurality of data items includes a data item
selected from the group consisting of a business name, a business
street address, a business city, a business state, a business
mailing code, a business country, a business type, and an account
identifier.
[0297] Clause 82--The method as in one of clauses 77-81, further
comprising:
[0298] printing, using a printer of the merchant server, a hardcopy
of the first invoice and the first QR code,
[0299] wherein providing the first invoice and the first QR code
comprises providing the hardcopy of the first invoice and the first
QR code to the code scanner user.
[0300] Clause 83--The method of clause 82,
[0301] wherein printing the first QR code comprises printing an
adhesive sticker showing the first QR code, and
[0302] wherein the adhesive sticker is adhered to the hardcopy of
the first invoice.
[0303] Clause 84--The method as in one of clauses 77-81, wherein
providing the first invoice and the first QR code to the code
scanner user comprising transmitting, from the merchant server to a
code scanner, an electronic version of the first invoice and the
first QR code.
[0304] Clause 85--The method as in one of clauses 77-84, wherein
the first QR code is a static
[0305] QR code that encodes the merchant identification code but
does not encode any of the first invoice data.
[0306] Clause 86--The method of clause 85, wherein the merchant
identification code is a unique numeric code assigned to the
merchant by the application server.
[0307] Clause 87--The method of clause 85, wherein the merchant
identification code is a unique alphanumeric code assigned to the
merchant by the application server.
[0308] Clause 88--The method of clause 85, wherein the merchant
identification code is a unique business name associated with the
merchant.
[0309] Clause 89--The method as in one of clauses 77-88, wherein
the first QR code further encodes the first invoice data.
[0310] Clause 90--The method as in one of clauses 77-89, wherein
the first invoice data comprises one of more of the following
invoice elements: a merchant name, a merchant address, a customer
name, a customer address, an invoice identifier, a date, a
description and a corresponding cost of each line item that appears
on the first invoice, a tax amount, and a total amount due.
[0311] Clause 91--A code scanner device comprising:
[0312] a processor; and
[0313] a computer-readable data storage device comprising program
instructions executable by the processor to carry out a method of
any one of clauses 77 through 90.
[0314] Clause 92--A computer-readable data storage device
comprising computer-readable program instructions executable by a
processor to carry out a method of any one of clauses 77 through
90.
[0315] Clause 93--The computer-readable data storage device of
clause 92, wherein the computer-readable data storage device is a
non-transitory computer-readable data storage device.
[0316] Clause 94--A computer data signal embodied in a carrier
wave, the computer data signal comprising computer-readable program
instructions for performing a method of any one of clauses 77
through 90.
[0317] Clause 95--A reproducible computer-readable signal carrying
computer-readable program instructions for performing a method of
any one of clauses 77 through 90.
[0318] Clause 96--A computer software product for registering a
user of a data processing system with a merchant server, the
software product comprising instructions, that when executed by a
processor of the data processing system will cause the data
processing system to carry out the functions of any one clauses 77
through 90.
[0319] Clause 97--A merchant server comprising:
[0320] a processor;
[0321] a data storage device comprising computer readable program
instructions; and
[0322] a network interface that (i) receives a first quick response
(QR) code that encodes a merchant identification code assigned to a
merchant that generates a first invoice, wherein the first invoice
comprises first invoice data, (ii) transmits the first invoice and
the first QR code; and (iii) receives, from an application server
that processes payments of invoices, a message indicating a payment
towards the first invoice was successfully made.
[0323] Clause 98--The merchant server of clause 97, further
comprising:
[0324] a merchant computing device that displays a merchant portal
website configured for entering data to register a first merchant
with an application server that processes invoice payments for
merchants,
[0325] wherein the network interface is configured to transmit, to
the application sever from the merchant computing device, data
entered onto the merchant portal website, and
[0326] wherein the network interface is configured to receive, from
the application server, a notification indicating the merchant is
registered with the application server for processing invoice
payments for the first merchant.
[0327] Clause 99--The merchant server as in one of clauses
97-98,
[0328] wherein the merchant portal website comprises a plurality of
fields for entering the data, and
[0329] wherein the plurality of fields includes a field selected
from the group consisting of a business name field, a business
street address field, a business city field, a business state
field, a business mailing code field, a business country field, a
business type field, and an account identifier field.
[0330] Clause 100--The merchant server of clause 99, wherein
entering data into at least one field of the plurality of fields
can occur by selecting the data from predetermined field data.
[0331] Clause 101--The merchant server as in one of clauses 98-100,
wherein the data entered to register the first merchant comprise a
plurality of data items, and
[0332] wherein the plurality of data items includes a data item
selected from the group consisting of a business name, a business
street address, a business city, a business state, a business
mailing code, a business country, a business type, and an account
identifier.
[0333] Clause 102--The merchant server as in one of clauses 97-101,
further comprising:
[0334] a printer that prints a hardcopy of the first invoice and
the first QR code,
[0335] wherein the network interface transmits the first invoice
and the first QR code to the printer,
[0336] wherein the printer prints a hardcopy of the first invoice
and the first QR code, and
[0337] wherein payment of the first invoice occurs after a code
scanner scans the hardcopy of the first invoice and the first QR
code.
[0338] Clause 103--The merchant server of clause 102,
[0339] wherein printing the first QR code comprises printing an
adhesive sticker showing the first QR code, and
[0340] wherein the adhesive sticker is adhered to the hardcopy of
the first invoice.
[0341] Clause 104--The merchant server of clause 97, wherein
transmitting the first invoice and the first QR code comprises the
network interface transmitting an electronic version of the first
invoice and the first QR code to a code scanner.
[0342] Clause 105--The merchant server as in one of clauses 97-104,
wherein the first QR code is a static QR code that encodes the
merchant identification code but does not encode any of the first
invoice data.
[0343] Clause 106--The merchant server of clause 105, wherein the
merchant identification code is a unique numeric code assigned to
the merchant by the application server.
[0344] Clause 107--The merchant server of clause 105, wherein the
merchant identification code is a unique alphanumeric code assigned
to the merchant by the application server.
[0345] Clause 108--The merchant server of clause 105, wherein the
merchant identification code is a unique business name associated
with the merchant.
[0346] Clause 109--The merchant server as in one of clauses 97-108,
wherein the first QR code further encodes the first invoice
data.
[0347] Clause 110--The merchant server as in one of clauses 97-109,
wherein the first invoice data comprises one of more of the
following invoice elements: a merchant name, a merchant address, a
customer name, a customer address, an invoice identifier, a date, a
description and a corresponding cost of each line item that appears
on the first invoice, a tax amount, and a total amount due.
[0348] Clause 111--A method carried out by a data processing system
for transferring funds from a first party with a first party device
to a second party with a second party device, using a financial
server which has a first party wallet for storing funds of the
first party and a second party wallet for storing funds of the
second party, wherein there is generated a unique identifier for a
transaction in which funds will be transferred from the first party
to the second party; using the unique identifier the first party
authorises the financial server to transfer funds stored in the
first party wallet to the second party; the financial server
transfers funds from the first party wallet to the second party
wallet in accordance with the authorisation received from the first
party; and the financial server notifies the second party that the
transaction has taken place.
[0349] Clause 112--The method of clause 111, wherein the first
party is a client and the second party is a merchant and the
financial transaction is for the client to pay a bill from the
merchant, the method comprising the following steps carried out on
the first party device:
[0350] scanning an encoding of the bill;
[0351] in response to scanning the encoding of the bill,
transmitting the encoding of the bill to the financial server;
[0352] receiving, from the financial server, content of the bill,
wherein the content of the bill includes at least an itemized list
of purchases;
[0353] in response to receiving the content of the bill, prompting
selection of a service charge from a list of service charges;
[0354] receiving a selected service charge enumerated in the list
of service charges; and
[0355] in response to receiving the selected service charge, adding
the selected service charge to the bill and transmitting
authorization, to the financial server, to transfer a total amount
from the first party wallet to the second party wallet, wherein the
total amount includes charges associated with the itemized list of
purchases and the selected service charge.
VII. Conclusion
[0356] Example embodiments have been described above. Those skilled
in the art will understand that changes and modifications can be
made to the described embodiments without departing from the true
scope and spirit of the present invention, which is defined by the
claims.
[0357] This detailed description describes various features and
functions of the disclosed systems, devices, and methods with
reference to the accompanying figures. In the figures, similar
symbols typically identify similar components, unless context
dictates otherwise. The illustrative embodiments described in the
detailed description, figures, and claims are not meant to be
limiting. Other embodiments can be used, and other changes can be
made, without departing from the spirit or scope of the subject
matter presented herein. It will be readily understood that the
aspects of the present disclosure, as generally described herein,
and illustrated in the figures, can be arranged, substituted,
combined, separated, and designed in a wide variety of different
configurations, all of which are explicitly contemplated
herein.
[0358] With respect to any or all of the message flow diagrams,
scenarios, and flow charts in the figures and as discussed herein,
each step, block and/or communication can represent a processing of
information and/or a transmission of information in accordance with
example embodiments. Alternative embodiments are included within
the scope of these example embodiments. In these alternative
embodiments, for example, functions described as steps, blocks,
transmissions, communications, requests, responses, and/or messages
can be executed out of order from that shown or discussed,
including in substantially concurrent or in reverse order,
depending on the functionality involved. Further, more or fewer
steps, blocks and/or functions can be used with any of the message
flow diagrams, scenarios, and flow charts discussed herein, and
these message flow diagrams, scenarios, and flow charts can be
combined with one another, in part or in whole.
[0359] A step or block that represents a processing of information
can correspond to circuitry that can be configured to perform the
specific logical functions of a herein-described method or
technique. Alternatively or additionally, a step or block that
represents a processing of information can correspond to a module,
a segment, or a portion of program code (including related data).
The program code can include one or more instructions executable by
a processor for implementing specific logical functions or actions
in the method or technique. The program code and/or related data
can be stored on any type of computer-readable medium such as a
storage device including a disk or hard drive or other storage
media.
[0360] The computer-readable medium can include non-transitory
computer-readable media such as computer-readable media that stores
data for short periods of time like register memory, processor
cache, and/or random access memory (RAM). The computer-readable
media can include non-transitory computer-readable media that
stores program code and/or data for longer periods of time, such as
secondary or persistent long term storage, like read only memory
(ROM), optical or magnetic disks, and/or compact-disc read only
memory (CD-ROM), for example. The computer-readable media can be
any other volatile or non-volatile storage systems. A
computer-readable medium can be considered a computer-readable
storage medium, for example, or a tangible storage device. Any data
identified as being stored within a data storage device or
transmitted to a device for storage within a data storage device
can comprise a computer data signal embodied in a carrier wave.
[0361] Moreover, a step or block that represents one or more
information transmissions can correspond to information
transmissions between software and/or hardware modules in the same
physical device. However, other information transmissions can be
between software modules and/or hardware modules in different
physical devices.
[0362] While various aspects and embodiments have been disclosed
herein, other aspects and embodiments will be apparent to those
skilled in the art. The various aspects and embodiments disclosed
herein are for purposes of illustration and are not intended to be
limiting.
* * * * *