Language selection

Search

Patent 3052849 Summary

Third-party information liability

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

Claims and Abstract availability

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

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 3052849
(54) English Title: PAYMENT CONTROL METHOD AND DEVICE, ELECTRONIC DEVICE, AND STORAGE MEDIUM
(54) French Title: METHODE ET DISPOSITIF DE CONTROLE DES PAIEMENTS, DISPOSITIF ELECTRONIQUE ET SUPPORT DE STOCKAGE
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06Q 20/38 (2012.01)
  • G06F 8/65 (2018.01)
(72) Inventors :
  • YANG, HU (China)
  • HAO, XUEWU (China)
  • ZHANG, BO (China)
  • YANG, KAIMING (China)
  • CHENG, BINBIN (China)
(73) Owners :
  • 10353744 CANADA LTD. (Canada)
(71) Applicants :
  • 10353744 CANADA LTD. (Canada)
(74) Agent: HINTON, JAMES W.
(74) Associate agent:
(45) Issued: 2024-03-19
(22) Filed Date: 2019-08-23
(41) Open to Public Inspection: 2020-02-23
Examination requested: 2022-09-16
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
201810967478.X China 2018-08-23

Abstracts

English Abstract

The invention relates to a payment control method and a device, an electronic device and a storage medium, which relate to the technical field of the Internet. The method comprises the following steps of: obtaining information of a code scanning device; dynamically generating a first device key for the code scanning device according to the information of the code scanning device; receiving payment ciphertext obtained by encrypting the scanned payment code by the code scanning device according to the first device key; payment being made based on the payment ciphertext. The present disclosure may improve payment security.


French Abstract

Linvention concerne un procédé et un dispositif de contrôle de paiement, un dispositif électronique et un support de stockage et elle est liée au champ technique de lInternet. Le procédé comprend les étapes suivantes : obtenir des informations dun dispositif de balayage de code, générer dynamiquement une première clé de dispositif pour le dispositif de balayage de code en fonction des informations du dispositif de balayage de code, recevoir le texte chiffré du paiement obtenu en chiffrant le code de paiement numérisé par le dispositif de numérisation du code selon la première clé du dispositif, paiement effectué sur la base du cryptogramme de paiement. La présente divulgation peut améliorer la sécurité des paiements.

Claims

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


Claims:
1. An apparatus for controlling payment, the apparatus comprising:
an information acquisition module, configured to obtain identification
information of a
code scan apparatus;
an apparatus key generating module, configured to generate a first apparatus
key
dynamically for the code scan apparatus according to the identification
infolination of the
code scan apparatus;
a ciphertext receiving module, configured to receive a payment ciphertext from
the code
scan apparatus obtained by encrypting a scanned payment code by the code scan
apparatus
according to the first apparatus key; and
a ciphertext payment module, configured to execute a payment on a basis of the
payment
ciphertext.
2. The apparatus of claim 1, wherein the information acquisition module is
further configured to, where
if a payment plug-in is activated, reacquire the identification information of
the code scan apparatus.
3. The apparatus of any one of claims 1 to 2, wherein the information
acquisition module is further
configured to regenerate the first apparatus key for the code scan apparatus
according to reacquired
identification information of the code scan apparatus.
4. The apparatus of any one of claims 1 to 3, wherein the information
acquisition module is further
configured to send an information acquisition instruction.
5. The apparatus of claim 4, wherein the information acquisition module is
further configured to receive
the identification information of the code scan apparatus returned by the code
scan apparatus in
response to the information acquisition instruction.
6. The apparatus of any one of claims 1 to 4, wherein the information
acquisition module is further
Date Regue/Date Received 2023-12-05

configured to receive the identification information of the code scan
apparatus automatically sent by
the code scan apparatus.
7. The apparatus of any one of claims 1 to 6, wherein the apparatus key
generating module is further
configured to generate a random number according to the identification
information of the code scan
apparatus.
8. The apparatus of claim 7, wherein the apparatus key generating module is
further configured to set the
random number as the first apparatus key of the code scan apparatus.
9. The apparatus of any one of claims 1 to 8, wherein the apparatus is
further configured to calculate a
second apparatus key of the code scan apparatus according to both the
identification information of the
code scan apparatus and an encryption algorithm.
10. The apparatus of any one of claims 1 to 9, wherein the apparatus is
further configured to encrypt the
first apparatus key according to a second apparatus key to obtain an apparatus
ciphertext.
11. The apparatus of claim 10, wherein the apparatus is further configured to
send the apparatus ciphertext
to the code scan apparatus, so that the code scan apparatus decrypts to obtain
the first apparatus key.
12. The apparatus of any one of claims 1 to 11, wherein the apparatus is
further configured to obtain to-be-
updated firmware of the code scan apparatus.
13. The apparatus of any one of claims 1 to 12, wherein the apparatus is
further configured to send to-be-
updated firmware to the code scan apparatus.
14. The apparatus of any one of claims 1 to 13, wherein the apparatus is
further configured to send, by
using a universal protocol, a plurality of data packets corresponding to to-be-
updated firmware to the
code scan apparatus.
15. The apparatus of any one of claims 1 to 14, wherein the apparatus is
further configured to, after
receiving a data packet to the code scan apparatus, where if a successfully
received response code
returned by the code scan apparatus is received, send a next data packet
continuously to the code scan
21
Date Regue/Date Received 2023-12-05

apparatus.
16. The apparatus of any one of claims 1 to 15, wherein the apparatus is
further configured to send a
firmware update instruction to the code scan apparatus to cause the code scan
apparatus to update a
current firmware to a to-be-updated firmware according to the firmware update
instruction.
17. An electronic device for controlling payment, the electronic device
includes:
a memory storing data; and
a processor configured to:
obtain identification information of a code scan electronic device;
generate a first electronic device key dynamically for the code scan
electronic
device according to the identification information of the code scan electronic

device;
receive a payment ciphertext from the code scan electronic device obtained by
encrypting a scanned payment code by the code scan electronic device according

to the first electronic device key; and
execute a payment on a basis of the payment ciphertext.
18. The electronic device of claim 17, wherein the processor is further
configured to, where if a payment
plug-in is activated, reacquire the identification information of the code
scan electronic device.
19. The electronic device of any one of claims 17 to 18, wherein the processor
is further configured to
regenerate the first electronic device key for the code scan electronic device
according to reacquired
identification information of the code scan electronic device.
20. The electronic device of any one of claims 17 to 19, wherein the processor
is further configured to send
22
Date Regue/Date Received 2023-12-05

an information acquisition instruction.
21. The electronic device of claim 20, wherein the processor is further
configured to receive the
identification information of the code scan electronic device returned by the
code scan electronic device
in response to the information acquisition instruction.
22. The electronic device of any one of claims 17 to 20, wherein the processor
is further configured to
receive the identification information of the code scan electronic device
automatically sent by the code
scan electronic device.
23. The electronic device of any one of claims 17 to 22, wherein the processor
is further configured to
generate a random number according to the identification information of the
code scan electronic
device.
24. The electronic device of claim 23, wherein the processor is further
configured to set the random number
as the first electronic device key of the code scan electronic device.
25. The electronic device of any one of claims 17 to 24, wherein the processor
is further configured to
calculate a second electronic device key of the code scan electronic device
according to both the
identification information of the code scan electronic device and an
encryption algorithm.
26. The electronic device of any one of claims 17 to 25, wherein the processor
is further configured to
encrypt the first electronic device key according to a second electronic
device key to obtain an
electronic device ciphertext.
27. The electronic device of claim 26, wherein the processor is further
configured to send the electronic
device ciphertext to the code scan electronic device, so that the code scan
electronic device decrypts to
obtain the first electronic device key.
28. The electronic device of any one of claims 17 to 27, wherein the processor
is further configured to
obtain to-be-updated firmware of the code scan electronic device.
29. The electronic device of any one of claims 17 to 28, wherein the processor
is further configured to
23
Date Regue/Date Received 2023-12-05

send to-be-updated firmware to the code scan electronic device.
30. The electronic device of any one of claims 17 to 29, wherein the processor
is further configured to send,
by using a universal protocol, a plurality of data packets corresponding to to-
be-updated firmware to
the code scan electronic device.
31. The electronic device of any one of claims 17 to 30, wherein the processor
is further configured to,
after receiving a data packet to the code scan electronic device, where if a
successfully received
response code returned by the code scan electronic device is received, send a
next data packet
continuously to the code scan electronic device.
32. The electronic device of any one of claims 17 to 31, wherein the processor
is further configured to send
a firmware update instruction to the code scan electronic device to cause the
code scan electronic device
to update a current firmware to a to-be-updated firmware according to the
firmware update instruction.
33. A computer-readable storage medium having recorded thereon instructions
for execution by an
apparatus for controlling payment, wherein the computer-readable storage
medium includes the
instructions for:
obtaining identification information of a code scan apparatus;
generating a first apparatus key dynamically for the code scan apparatus
according to the
identification information of the code scan apparatus;
receiving a payment ciphertext from the code scan apparatus obtained by
encrypting a
scanned payment code by the code scan apparatus according to the first
apparatus key; and
executing a payment on a basis of the payment ciphertext.
34. The computer-readable storage medium of claim 33, wherein the computer-
readable storage medium
further includes the instructions for, where if a payment plug-in is
activated, reacquiring the
identification information of the code scan apparatus.
24
Date Regue/Date Received 2023-12-05

35. The computer-readable storage medium of any one of claims 33 to 34,
wherein the computer-readable
storage mediutn further includes the instructions for regenerating the first
apparatus key for the code
scan apparatus according to reacquired the identification information of the
code scan apparatus.
36. The computer-readable storage medium of any one of claims 33 to 35,
wherein the computer-readable
storage medium further includes the instructions for sending an information
acquisition instruction.
37. The computer-readable storage medium of claim 36, wherein the computer-
readable storage medium
further includes the instructions for receiving information of the code scan
apparatus returned by the
code scan apparatus in response to the information acquisition instruction.
38. The computer-readable storage medium of any one of claims 33 to 36,
wherein the computer-readable
storage medium further includes the instructions for receiving the
identification information of the code
scan apparatus automatically sent by the code scan apparatus.
39. The computer-readable storage medium of any one of claims 33 to 38,
wherein the computer-readable
storage medium further includes the instructions for generating a random
number according to the
identification information of the code scan apparatus.
40. The computer-readable storage medium of claim 39, wherein the computer-
readable storage medium
further includes the instructions for setting the random number as the first
apparatus key of the code
scan apparatus.
41. The computer-readable storage medium of any one of claims 33 to 40,
wherein the computer-readable
storage medium further includes the instructions for calculating a second
apparatus key of the code
scan apparatus according to both the identification information of the code
scan apparatus and an
encryption algorithm.
42. The computer-readable storage medium of any one of claims 33 to 41,
wherein the computer-readable
storage medium further includes the instructions for encrypting the first
apparatus key according to a
second apparatus key to obtain an apparatus ciphertext.
43. The computer-readable storage medium of claim 42, wherein the computer-
readable storage medium
Date Regue/Date Received 2023-12-05

further includes the instructions for sending the apparatus ciphertext to the
code scan apparatus, so that
the code scan apparatus decrypts to obtain the first apparatus key.
44. The computer-readable storage medium of any one of claims 33 to 43,
wherein the computer-readable
storage medium further includes the instructions for obtaining to-be-updated
firmware of the code scan
apparatus.
45. The computer-readable storage medium of any one of claims 33 to 44,
wherein the computer-readable
storage medium further includes the instructions for sending to-be-updated
firmware to the code scan
apparatus.
46. The computer-readable storage medium of any one of claims 33 to 45,
wherein the computer-readable
storage medium further includes the instructions for sending, by using a
universal protocol, a plurality
of data packets corresponding to to-be-updated firmware to the code scan
apparatus.
47. The computer-readable storage medium of any one of claims 33 to 46,
wherein the computer-readable
storage medium further includes the instructions for, after receiving a data
packet to the code scan
apparatus, where if a successfully received response code returned by the code
scan apparatus is
received, sending a next data packet continuously to the code scan apparatus.
48. The computer-readable storage medium of any one of claims 33 to 47,
wherein the computer-readable
storage medium further includes the instructions for sending a firmware update
instruction to the code
scan apparatus to cause the code scan apparatus to update a current firmware
to a to-be-updated
firmware according to the firmware update instruction.
49. A method for controlling payment, wherein the method includes:
obtaining identification information of a code scan apparatus;
generating a first apparatus key dynamically for the code scan apparatus
according to the
identification information of the code scan apparatus;
receiving a payment ciphertext from the code scan apparatus obtained by
encrypting a
26
Date Regue/Date Received 2023-12-05

scanned payment code by the code scan apparatus according to the first
apparatus key; and
executing a payment on a basis of the payment ciphertext.
50. The method of claim 49, wherein the method further includes, where if a
payment plug-in is activated,
reacquiring the identification information of the code scan apparatus.
51. The method of any one of claims 49 to 50, wherein the method further
includes regenerating the first
apparatus key for the code scan apparatus according to reacquired
identification information of the code
scan apparatus.
52. The method of any one of claims 49 to 51, wherein the method further
includes sending an information
acquisition instruction.
53. The method of claim 52, wherein the method further includes receiving the
identification information
of the code scan apparatus returned by the code scan apparatus in response to
the information
acquisition instniction.
54. The method of any one of claims 49 to 52, wherein the method further
includes receiving the
identification information of the code scan apparatus automatically sent by
the code scan apparatus.
55. The method of any one of claims 49 to 54, wherein the method further
includes generating a random
number according to the identification information of the code scan apparatus.
56. The method of claim 55, wherein the method further includes setting the
random number as the first
apparatus key of the code scan apparatus.
57. The method of any one of claims 49 to 56, wherein the method further
includes calculating a second
apparatus key of the code scan apparatus according to both the identification
information of the code
scan apparatus and an encryption algorithm.
58. The method of any one of claims 49 to 57, wherein the method further
includes encrypting the first
apparatus key according to a second apparatus key to obtain an apparatus
ciphertext.
27
Date Regue/Date Received 2023-12-05

59. The method of claim 58, wherein the method further includes sending the
apparatus ciphertext to the
code scan apparatus, so that the code scan apparatus decrypts to obtain the
first apparatus key.
60. The method of any one of claims 49 to 59, wherein the method further
includes obtaining to-be-updated
firmware of the code scan apparatus.
61. The method of any one of claims 49 to 60, wherein the method further
includes sending to-be-updated
firniware to the code scan apparatus.
62. The method of any one of claims 49 to 61, wherein the method further
includes sending, by using a
universal protocol, a plurality of data packets corresponding to to-be-updated
firmware to the code scan
apparatus.
63. The method of any one of claims 49 to 62, wherein the method further
includes, after receiving a data
packet to the code scan apparatus, where if a successfiffly received response
code retumed by the code
scan apparatus is received, sending a next data packet continuously to the
code scan apparatus.
64. The method of any one of claims 49 to 63, wherein the method further
includes sending a fimiware
update instruction to the code scan apparatus to cause the code scan apparatus
to update a current
firmware to a to-be-updated firmware according to the firmware update
instruction.
28
Date Regue/Date Received 2023-12-05

Description

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


Payment control method and device, electronic device, and storage medium
Technical Field
[0001] The present disclosure relates to the field of Internet technologies,
and in particular, to a
payment control method, a payment control apparatus, an electronic equipment,
and a computer
readable storage medium.
Background Technology
[0002] With the development of Internet technology and the widespread
application of payment
software, payment methods have gradually evolved to scan code payment through
mobile
terminals such as smart phones.
[0003] In order to secure the operation, the received plaintext data is
encrypted. In the related
art, the payment plug-in and the scan code apparatus can interact through the
virtual keyboard
mode. For example, after the scan code apparatus is connected to the PC end,
the apparatus itself
is enumerated into a keyboard mode, and after scanning the plaintext data of
the payment code,
the keyboard mode is adopted. The plaintext data is sent to the operating
system, and the
operating system sends the keyboard data to the application registered with
the keyboard
information so that all the applications can obtain the payment code. In
addition, the SDK mode
can also be used for interaction. The SDK dynamic library is provided by the
scan code
apparatus manufacturer. The payment plug-in invokes the SDK (Software
Development Kit)
interface to obtain the payment code and other data obtained by the scan code
apparatus. .
[0004] However, in the above manner, when the payment code data obtained by
scanning the
code is sent through the virtual keyboard mode, any software can be obtained
through technical
means, and the interaction is performed through the plaintext data, and the
interaction security is
poor; In addition, the first apparatus key of the scan code apparatus can only
be obtained through
the SDK dynamic library provided by the apparatus manufacturer. Different
types of scan code
apparatus need to integrate multiple manufacturers' SDKs, which has poor
flexibility and high
development and maintenance costs. .
[0005] It is to be understood that the information disclosed in the Background
section above is
only used to enhance the understanding of the background of the present
disclosure, and thus
may include information that does not constitute prior art known to those of
ordinary skill in the
1
CA 3052849 2019-08-23

art.
Summary of the Invention
[0006] An object of the present disclosure is to provide a payment control
method and
apparatus, an electronic equipment, and a storage medium, and at least to some
extent overcome
the problem that the scan code payment cannot be safely performed due to
limitations and
defects of the related art.
[0007] Other features and advantages of the present disclosure will be
apparent from the
description of the appended claims.
[0008] According to an aspect of the present disclosure, a payment control
method includes:
acquiring information of a scan code apparatus; dynamically generating a first
apparatus key for
the scan code apparatus according to the information of the scan code
apparatus; And the
payment ciphertext obtained by encrypting the scanned payment code according
to the first
apparatus key; and performing payment based on the payment ciphertext.
[0009] In an exemplary embodiment of the present disclosure, the method
further includes:
re-acquiring information of the scan code apparatus if the payment plug-in is
started;
re-acquiring the information of the scan code apparatus according to the re-
acquired Generating
the first apparatus key for the scan code apparatus.
[0010] In an exemplary embodiment of the present disclosure, acquiring
information of the
scan code apparatus includes: transmitting an information acquisition
instruction and receiving
information of the scan code apparatus returned by the scan code apparatus in
response to the
information acquisition instruction; Or receiving information of the scan code
apparatus
automatically sent by the scan code apparatus.
[0011] In an exemplary embodiment of the present disclosure, dynamically
generating the first
apparatus key for the scan code apparatus according to the information of the
scan code
apparatus comprises: generating a message according to the information of the
scan code
apparatus A random number is used as the first apparatus key of the scan code
apparatus.
[0012] In an exemplary embodiment of the present disclosure, the method also
includes:
calculating the second device key of the scanner according to the information
of the scanner and
the encryption algorithm, encrypting the first device key according to the
second device key, and
obtaining the device ciphertext; and transmitting the device ciphertext to the
scanner. The code
2
CA 3052849 2019-08-23

device enables the scanner to decrypt to obtain the first device key.
[0013] In an exemplary embodiment of the present disclosure, the method
further includes:
acquiring firmware to be updated of the scan code apparatus, and transmitting
the firmware to be
updated to the scan code apparatus.
[0014] In an exemplary embodiment of the present disclosure, sending the
firmware to be
updated to the scan code apparatus includes: transmitting, by using a
universal protocol, a
plurality of data corresponding to the firmware to be updated to the scan code
apparatus a packet,
wherein after receiving a data packet to the scan code apparatus, if the
successfully received
response code returned by the scan code apparatus is received, the next data
packet is
continuously sent to the scan code apparatus.
[0015] In an exemplary embodiment of the present disclosure, the method
further includes:
transmitting a firmware update instruction to the scan code apparatus to cause
the scan code
apparatus to update the current firmware to be based on the firmware update
instruction The
firmware to be updated.
[0016] According to an aspect of the present disclosure, a payment control
apparatus includes:
an information acquisition module, configured to acquire information of a scan
code apparatus;
and a apparatus key generation module, configured to use the information of
the scan code
apparatus as a location The scan code apparatus dynamically generates a first
apparatus key; the
ciphertext receiving module is configured to receive a payment ciphertext
obtained by encrypting
the scanned payment code by the scan code apparatus according to the first
apparatus key; a
module for making a payment based on the payment ciphertext.
[0017] According to an aspect of the disclosure, there is provided an
electronic equipment
comprising: a processor; and a memory for storing executable instructions of
the processor;
wherein the processor is configured to perform the executable via An
instruction to perform the
payment control method of any of the above.
[0018] According to an aspect of the present disclosure, a computer readable
storage medium
having stored thereon a computer program, the computer program being executed
by a processor,
implements the payment control method of any of the above.
[0019] A payment control method, a payment control device, an electronic
device and a
computer-readable storage medium provided in the exemplary embodiment of the
present
disclosure dynamically generates a first device key for the scanner according
to the information
3
CA 3052849 2019-08-23

of the scanner, and pays according to the received payment ciphertext. On one
hand, the
information of the scan code apparatus dynamically generates the first
apparatus key for the scan
code apparatus, thereby improving the security of the first apparatus key; and
encrypting the
scanned payment code by using the generated first apparatus key, The
interaction security is
improved. On the other hand, the first apparatus key is dynamically generated
for the scan code
apparatus according to the information of the scan code apparatus, and does
not need to rely on
the manufacturer of the scan code apparatus, thereby increasing the
flexibility of generating the
first apparatus key. Resolved the problem of using a fixed key resulting in
lower security and
reduced costs.
[0020] The above general description and the following detailed description
are intended to be
illustrative and not restrictive.
Brief Description
[0021] Figures herein are incorporated in and constitute a part of this
specification, illustrate
embodiments consistent with the principles of the embodiments of the present
disclosure, and
together with the description serve to explain the present disclosure. It is
apparent that the
drawings in the following description are only some of the embodiments of the
present
disclosure, and other drawings may be obtained from those skilled in the art
without departing
from the drawings.
[0022] Figure 1 is a schematic diagram showing a payment control method in an
exemplary
embodiment of the present disclosure;
[0023] Figure 2 schematically shows a specific flow chart of payment control
in an exemplary
embodiment of the present disclosure;
[0024] Figure 3 is a block diagram schematically showing a payment control
apparatus in an
exemplary embodiment of the present disclosure;
[0025] Figure 4 is a block diagram schematically showing an electronic
equipment in an
exemplary embodiment of the present disclosure;
[0026] Figure 5 schematically illustrates a program product in an exemplary
embodiment of the
present disclosure.
Description of the Preferred Examples
4
CA 3052849 2019-08-23

[0027] Example embodiments will now be described more fully with reference to
the
accompanying drawings. However, the example embodiments can be implemented in
various
forms and should not be construed as being limited to the examples described
herein; on the
contrary, the provision of these embodiments will make the present disclosure
more
comprehensive and complete and will fully convey the concept of the example
embodiments to
those skilled in the art. The described features, structures, or
characteristics may be combined in
any suitable manner in one or more embodiments. In the following description,
many specific
details are provided to give a full understanding of the embodiments of the
present disclosure.
However, one skilled in the art will appreciate that one or more of the
specific details may be
omitted or other methods, components, apparatus, steps, etc. may be employed.
In other
instances, various aspects of the present disclosure are not obscured by the
details of the
invention.
[0028] The drawings are only schematic representations of the present
disclosure and are not
necessarily to scale. The same reference numerals in the drawings denote the
same or similar
parts, and the repeated description thereof will be omitted. Some of the block
diagrams shown in
the drawings are functional entities and do not necessarily correspond to
physically or logically
independent entities. These functional entities may be implemented in
software, or implemented
in one or more hardware modules or integrated circuits, or implemented in
different network
and/or processor apparatus and/or microcontroller apparatus.
[0029] In the present exemplary embodiment, a payment control method is first
provided,
which can be applied to each offline scenario of a scan code payment operation
between the
smart terminal and the scan code apparatus. Referring to Figure 1, the payment
control method
may include the following steps:
[0030] In step S110, acquiring information of the scanning apparatus;
[0031] In step S120, dynamically generating a first apparatus key for the scan
code apparatus
according to the information of the scan code apparatus;
[0032] In step S130, receiving a payment ciphertext obtained by encrypting the
scanned
payment code by the scan code apparatus according to the first apparatus key;
[0033] In step S140, payment is performed based on the payment ciphertext.
[0034] In the payment control method provided in the present exemplary
embodiment, on the
one hand, dynamically generating the first apparatus key for the scan code
apparatus by the
CA 3052849 2019-08-23

information of the scan code apparatus improves the security of the first
apparatus key;
Encrypting the scanned payment code by using the generated first apparatus
key, thereby
improving interaction security; on the other hand, dynamically generating the
first apparatus key
for the scan code apparatus according to the information of the scan code
apparatus, without
relying on scanning The manufacturer of the code apparatus increases the
flexibility of
generating the first apparatus key, solves the problem of lower security
caused by the use of the
fixed key, and reduces the cost.
[0035] Next, the payment control method in the present exemplary embodiment
will be further
explained with reference to the drawings.
[0036] In step S110, information of the scanning apparatus is acquired.
[0037] In this example, the scan code apparatus may be, for example, a
hardware scan code
apparatus such as a scan code gun or a scan code box. A payment plug-in for
controlling payment
operations may be included in the scan code apparatus. The information of the
scanner may
include, for example, the identification number of the scanner, which
corresponds to the device
ID of the scanner, and can be used to uniquely represent a scanner, such as a
string of letters
and/or numbers. The identification number corresponding to the different
scanning code
apparatus and the identification number may be different. For example, the
identification number
corresponding to the scanning code apparatus 1 is ABCD1, and the
identification number
corresponding to the scanning code apparatus 2 is BCDFR2.
[0038] The scanning code apparatus can be connected to a terminal apparatus
such as a
computer through a data line and a data interface. Specifically, when the
payment plug-in detects
the scanner accessing the terminal device, it can obtain the information of
the scanner device, or
at other appropriate time. This example is illustrated by taking the scanner
accessing the terminal
device as an example. The acquisition of the information of the scanner may
include two ways:
the payment plug-in sends the information acquisition instruction and receives
the identification
number of the scanner returned by the scanner in response to the information
acquisition
instruction; or, when the scanner accesses, automatically sends its own
identification number to
the payment plug-in. The information of the obtained scan code apparatus may
be, for example,
an identification number or other information indicating the scan code
apparatus. The
identification number is taken as an example.
[0039] In step S120, the first apparatus key is dynamically generated for the
scan code
6
CA 3052849 2019-08-23

apparatus according to the information of the scan code apparatus.
[0040] In the present exemplary embodiment, when the scan code apparatus
access is detected,
the first apparatus key may be dynamically generated for the accessed scan
code apparatus by
using the acquired information of the scan code apparatus, such as an
identification number.
Each time the scan code apparatus accesses, the first apparatus key generated
by the payment
plug-in is different. In addition, after the scan code apparatus is accessed,
if the payment plug-in
in the scan code apparatus needs to be activated or the payment plug-in is
updated, the
information of the scan code apparatus needs to be re-acquired, and the
information of the scan
code apparatus re-acquired is scanned. The code apparatus regenerates the
first apparatus key to
ensure the security and accuracy of the first apparatus key.
[0041] The operation of generating the first apparatus key is specifically
performed by the
payment plug-in. For example, the payment plug-in may first send an
identification number
acquisition instruction to the scan code apparatus, and the scan code
apparatus may acquire the
instruction in response to the received identification number, and The
identification number, such
as ABCD1, is sent to the payment plugin for the payment plugin to receive.
Next, the payment
plug-in can dynamically generate the first apparatus key for each
corresponding scan code
apparatus by the obtained identification number. Specifically, a random number
is generated
according to the identification number of the scan code apparatus, and the
random number is
used as the first apparatus key of the scan code apparatus. The random number
may be, for
example, a random number associated with the identification number, and the
random numbers
generated each time are different. The random number generated each time may
be associated
with the time at which the first apparatus key is set, or may be randomly set.
For example, the
first apparatus key ABCD13579 is generated for the scan code apparatus 1 for
the first time, and
the first apparatus key ABCD16890 is generated for the scan code apparatus 1
for the second
time, by using the random number as the first apparatus key of the scan code
apparatus. The
function of dynamically setting a random first apparatus key for each scanning
apparatus can be
implemented, which ensures the security of the scanning apparatus interaction
to a certain extent.
In order to further improve the security, the generated random number may be
logically
processed, and the result of the logical operation is used as the first
apparatus key of the scan
code apparatus.
[0042] Further, after the first apparatus key is generated for the scan code
apparatus, the second
7
CA 3052849 2019-08-23

apparatus key of the scan code apparatus may be calculated according to the
identification
number of the scan code apparatus and the encryption algorithm, and according
to the second
apparatus Encrypting the first apparatus key to obtain a apparatus ciphertext;
and sending the
apparatus ciphertext to the scan code apparatus, so that the scan code
apparatus decrypts the
apparatus ciphertext to obtain the first A apparatus key. In this exemplary
implementation, the
second apparatus key may be used to encrypt the generated first apparatus key,
may be an
encoding obtained by encrypting the identification number of the scanning code
apparatus, or
may be directly an apparatus identification number. The encryption algorithm
may be any
suitable symmetric encryption algorithm or asymmetric encryption algorithm,
such as DES (Data
Encryption Standard), AES (Advanced Encryption Standard) or RSA (Rivest Shamir
Adlemen),
Internet encryption and authentication system. Any one of the algorithms, here
is an example of
the AES encryption algorithm. In the AES encryption algorithm, the keys used
for encryption
and decryption are the same. Therefore, in order to ensure the security of the
first apparatus key,
the first apparatus key is prevented from being recognized by other scanning
apparatus, thereby
improving payment security. The second apparatus key that the apparatus's
first apparatus key
encrypts may use a longer key.
[0043] For example, after the payment plug-in generates the first apparatus
key such as random
number A for the scanner apparatus 1, it can encrypt the second apparatus key
obtained by
encrypting the apparatus identifier using the AES encryption algorithm to
obtain the apparatus
ciphertext B. Next, the generated apparatus ciphertext B can be sent to the
scanner apparatus 1
through network transmission. To enable the scanner apparatus 1 to decrypt the
received
apparatus ciphertext B to obtain the random number A contained in the
apparatus ciphertext B.
[0044] On this basis, if the scanner receives the apparatus ciphertext sent by
the payment
plug-in, it can decrypt the obtained apparatus ciphertext according to the AES
decryption
algorithm, obtain the first apparatus key dynamically generated by the payment
plug-in for the
scanner, and carry out subsequent payment operation based on the first
apparatus key. In the
exemplary embodiment, the security of the scan code channel and the first
apparatus are
improved by dynamically generating a random first apparatus key for the scan
code apparatus
when detecting that the scan code apparatus is accessed or the payment plug-in
is turned on. The
security of the key, in turn, enables secure interaction.
[0045] In step S130, the payment ciphertext obtained by encrypting the scanned
payment code
8
CA 3052849 2019-08-23

by the scan code apparatus according to the first apparatus key is received.
[0046] In the exemplary embodiment, the scan code apparatus may scan the
payment code
displayed by the user through the payment application on the smart terminal,
and then, when the
scan code apparatus receives the first apparatus key generated by the payment
plugin for itself,
The scanned payment code is encrypted using the first apparatus key to
generate a payment
ciphertext. For example, the scan code apparatus 1 can use the generated
random number A as an
encryption key, and encrypt the payment code C by using an AES encryption
algorithm to obtain
a payment ciphertext D. Next, the scan code apparatus can send the generated
payment
ciphertext D to the payment plug-in by wireless or wired transmission, so that
the payment
plug-in can obtain the payment ciphertext D. The received payment ciphertext
is updated in real
time as the first apparatus key is dynamically generated to ensure the
security of the included
payment code.
[0047] In step S140, payment is performed based on the payment ciphertext.
[0048] In the exemplary embodiment, when the payment plug-in receives the
payment
ciphertext for payment, the payment ciphertext needs to be decrypted first to
obtain a payment
code included in the payment ciphertext, so as to perform a payment operation
by using the
payment code. When decrypting the payment ciphertext, the first apparatus key
can be used as a
decryption key, and the payment ciphertext is decrypted by using the AES
decryption algorithm
to obtain a payment code. For example, the payment code is a random number A
generated by
the scanning code apparatus I. The scanning code apparatus 1 can use the
generated random
number A as an encryption key, and encrypt the payment code C by using an AES
encryption
algorithm to obtain a payment ciphertext D. If the payment plug-in receives
the payment
ciphertext D, the random number A can be used as the decryption key, and the
payment
ciphertext D is decrypted by using the AES decryption algorithm to obtain the
payment code C
corresponding to the payment ciphertext D, to be performed by the payment code
C. Payment
operation. If other decryption keys such as random number E are used, the
payment ciphertext D
cannot be decrypted, thereby ensuring the security of the payment interaction.
[0049] It should be noted that all interoperation between the payment plug-in
and the scan code
apparatus can be performed based on a general protocol, which is generated by
a developer by
writing a program, and can be used for interaction between different scan code
apparatus and
payment plug-ins. When the interaction between the payment plug-in and the
scan code
9
CA 3052849 2019-08-23

apparatus is controlled by the universal protocol, the operation restriction
such as the scan code
data that must be obtained by the SDK provided by the scan code apparatus
manufacturer is
avoided, and the flexibility and convenience are improved. In addition, the
problem that the
interaction schemes provided by different scan code apparatus manufacturers
are different, and
the apparatus of various manufacturers need to be adapted, and the development
cost is reduced.
[0050] The general protocol may be, for example, a Hid-pos protocol, and the
protocol format
of the general protocol is as shown in Table 1, including a message ID field,
a data length field, a
data block field, a reserved data block field, and an end tag field, where You
can define your own
private protocol in the Data block field, that is, define the protocol type,
such as the instruction
set and the data interaction instruction set, so that the payment plug-in and
the scan code
apparatus perform the corresponding functions according to the defined private
instructions. The
specific format of the receiving data protocol is shown in Table 2. The
maximum byte of each
data block is 56 bytes.
[0051]
Message ID Data Reserved End
Data block
0x02 length Data block mark
1 byte 1 byte 56 byte 5 byte 1 byte
[0052] Table 1
[0053]
Bit
Byte 7 6 5 4 3 2 1 0
0 Message ID=0x02
1 Data block length
2-57 Data block (1-56)
58-62 Retain data block
63 End tag
[0054] Table 2
[0055] When the instruction is executed, the data format sent by the payment
plug-in can be as
shown in Table 3. The data format returned by the scan code apparatus is as
shown in Table 4. It
should be noted that, with respect to Table 3, the instruction execution
result item is added in
Table 4. The specific field 0x06 indicates that the setting operation is
successful, whether the
CA 3052849 2019-08-23

data value is illegal by 0x15, and whether the instruction set is incorrect or
does not exist by
0x05. In addition, the instruction prefix has also changed. When sending data,
the instruction
prefix is "0x7E, Ox01"; when receiving data, the instruction prefix is "0x02,
OX01".
[0056]
Instruction
Instruction Instruction Instruction Instruction Instruction Command
required Terminator
format item prefix reserved bit storage flag Set separator
data
Occupied
2 byte 4 bytes I byte 6 bytes n bytes 1 byte I
byte
bytes
Ox30
Reference Reference
Ox7E Ox30
Data instruction instruction Ox3B
0x03
Ox0 I Ox30
set manual set manual
Ox30
The data
required by
Only two the
Different
values instniction
instruction
instructions set. The The value
sets
are stored specific of the
Remarks stable stable represent stable
in FLASI I length of separator is
different
the data fixed
configuration
instruction varies
functions
memory according
to the
instruction.
[0057] Table 3
[0058]
Return
Instruction Instruction Instruction
data Reserved Instruction Command
Prefix storage required execution
Terminator
format bit Set separator
flag data result
item
Occupied
2 byte 4 bytes I byte 6 bytes n bytes I byte I byte
I byte
bytes
0x30 Reference Reference Three
Ox02
Data 0)(30 instruction instruction states Ox3B
0x03
Ox01
0x30 set manual set manual 0x06
11
CA 3052849 2019-08-23

Ox30 Ox15
Ox05
The data 0x06
required setting
by the operation
Different
instniction succeeded
instruction
set. The Ox15 data The value
Same as sets
specific value is of the
Remarks stable stable setting represent stable
length of illegal separator
command different
the data 0x05 is fixed
configuration
varies instruction
functions
according set error
to the or does
instruction, not exist
[0059] Table 4
[0060] In the present exemplary embodiment, in order to improve the operation
fluency, if the
software in the scan code apparatus is updated, the firmware of the scan code
apparatus needs to
be updated, for example, adding a new function or clearing a known
vulnerability. Specifically,
the method may include: acquiring firmware to be updated of the scan code
apparatus, and
sending the firmware to be updated to the scan code apparatus. The firmware to
be updated refers
to any version of firmware that is different from the current firmware
version, such as the latest
firmware. First, the payment plug-in can obtain the firmware to be updated for
the scan code
apparatus, and then send the firmware to be updated to the scan code apparatus
to update the
scan code apparatus. Specifically, the firmware to be updated of the scan code
apparatus can be
placed on the background system, the payment plug-in downloads the firmware to
be updated to
the local, and then sends the firmware to be scanned to the scan code
apparatus through a
channel containing a general protocol, wherein the general agreement can be
For the Hid-pos
protocol. Referring to the format of the Hid-pos protocol shown in Table 1, if
the Data block
field in the Hid-pos protocol indicates a firmware update command, the scan
code apparatus may
update the firmware version according to the Data block field to scan the code
apparatus. The
current firmware update is the firmware to be updated, for example to update
the current
firmware of the scan code apparatus to the latest firmware.
[0061] More specifically, referring to the format of the Hid-pos protocol
shown in Table 1, each
12
CA 3052849 2019-08-23

data packet has a maximum of 56 bytes, so when the firmware to be updated is
sent to the scan
code apparatus, the general protocol can be used for sweeping. The code
apparatus sends a
plurality of data packets corresponding to the firmware to be updated. In the
transmission
process, after receiving a data segment, the receiving end responds with an
ACK
(Acknowledgment) response code to the transmitting end to reply with an IP
packet, and the
response code ACK is used to tell the transmitting end which data packets have
been
successfully received. It should be noted that, in order to ensure reliable
transmission of the data
packet, after the payment plug-in sends a data packet to the scan code
apparatus, if the payment
plug-in receives the response code that the data packet returned by the scan
code apparatus is
successfully received, the message continues to The scan code apparatus sends
the next data
packet. If the returned response code successfully received for a certain
packet is not received,
the payment plugin stops transmitting the next data packet. After the
plurality of data packets
corresponding to the firmware to be updated are sent, the payment plug-in may
send a firmware
update command to the scan code apparatus, and the scan code apparatus
performs firmware
update according to the received firmware update command, and sends the
firmware update to
the payment plug-in after the update is completed. Update completion
confirmation message. In
the exemplary embodiment, the firmware of the scan code apparatus can be hot-
updated by using
a universal protocol, without manual intervention, saving labor costs and
improving firmware
update efficiency.
[0062] For the scan code apparatus, when detecting that the payment plug-in is
turned on or
detecting the access of the scan code apparatus, the identification number of
the scan code
apparatus may be returned in response to the identification number acquisition
instruction sent
by the payment plug-in through the Hid-pos protocol. The payment plug-in is
such that the
payment plug-in generates a first apparatus key according to the
identification number and the
AES encryption algorithm, and the first apparatus key can be, for example, a
random number.
Next, the scan code apparatus can receive the apparatus ciphertext obtained by
encrypting the
first apparatus key sent by the payment plug-in, and decrypt the apparatus
ciphertext according
to the identification code of the scan code apparatus and the AES decryption
algorithm to obtain
the first apparatus. Key. Further, the scan code apparatus may scan the
payment code displayed
by the user through the payment application on the smart terminal, and encrypt
the scanned
payment code by using the apparatus ciphertext generated by the scan code
apparatus to obtain
13
CA 3052849 2019-08-23

the payment ciphertext, and adopt the payment ciphertext. The Hid-pos protocol
sends the
payment ciphertext to the payment plugin to enable the payment plugin to
perform the payment
operation.
[0063] Figure 2 illustrates a specific flowchart of payment control in an
exemplary embodiment
of the present disclosure, including: a background service, a payment plug-in,
and a scanning
apparatus. Specifically, the following steps are included:
[0064] In step S21, the payment plug-in dynamically configures the first
apparatus key for the
scan code apparatus, and the first apparatus key is used to encrypt the
payment code, which
specifically includes:
[0065] S211. The payment plugin sends an identification number acquisition
instruction to the
scan code apparatus.
[0066] S212. Receive an identification number returned by the scan code
apparatus.
[0067] S213, calculating a first apparatus key, such as a random number,
according to the
identification number and the AES encryption algorithm, and encrypting the
first apparatus key
by using the second apparatus key to obtain a apparatus ciphertext; the second
apparatus key For
example, the root key.
[0068] S214. Send an apparatus ciphertext to the scan code apparatus.
[0069] S215. Receive confirmation information returned by the scan code
apparatus.
[0070] S216. Decrypt the apparatus ciphertext according to the identification
number and the
AES decryption algorithm to obtain the first apparatus key.
[0071] In step S22, the payment plug-in performs a scan code interaction with
the scan code
apparatus; specifically:
[0072] S221. The scan code apparatus scans the payment code, and encrypts the
payment code
by using the first apparatus key and the AES encryption algorithm to obtain a
payment
ciphertext.
[0073] S222. The scan code apparatus sends the payment ciphertext to the
payment plugin.
[0074] S223. The payment plug-in decrypts the payment ciphertext by using the
first apparatus
key and the AES decryption algorithm to obtain a payment code.
[0075] In step S23, the firmware of the scan code apparatus is updated;
specifically:
[0076] S231. The background service downloads a file or a data packet
corresponding to the
firmware to be updated of the scan code apparatus by using the hypertext
transfer protocol http.
14
CA 3052849 2019-08-23

[0077] S232. The payment plugin pushes the data packet corresponding to the
firmware to be
updated of the downloaded scan code apparatus to the scan code apparatus by
using the Hid-pos
protocol.
[0078] S233. After the scan code apparatus updates the current firmware to the
firmware to be
updated, the update success confirmation information is sent to the payment
plugin.
[0079] Through the process shown in Figure 2, a random first apparatus key can
be
dynamically generated for the scan code apparatus after the scan code
apparatus is accessed, or
when the scan code apparatus is re-opened after the code access apparatus is
accessed, thereby
improving Security; the payment interaction between the payment plug-in and
the scan code
apparatus is implemented by using the Hid-pos protocol, which avoids the
problem that the
interaction schemes provided by different scan code apparatus manufacturers
are different, and
the apparatus of each manufacturer need to be adapted, and the problem is
reduced. Development
cost; use the general protocol to hot update the firmware of the scan code
apparatus, without
manual intervention, saving labor costs and improving firmware update
efficiency.
[0080] The present disclosure also provides a payment control apparatus.
Referring to Figure 3,
the payment control apparatus 300 may include:
[0081] The information obtaining module 301 can be configured to acquire
information of the
scan code apparatus.
[0082] The apparatus key generation module 302 may be configured to
dynamically generate a
first apparatus key for the scan code apparatus according to the information
of the scan code
apparatus;
[0083] The ciphertext receiving module 303 is configured to receive a payment
ciphertext
obtained by encrypting the scanned payment code by the scan code apparatus
according to the
first apparatus key;
[0084] The ciphertext payment module 304 can be configured to perform payment
based on the
payment ciphertext.
[0085] It should be noted that the specific details of each module in the
foregoing payment
control apparatus have been described in detail in the corresponding payment
control method,
and thus are not described herein again.
[0086] It should be noted that although several modules or units of equipment
for action
execution are mentioned in the above detailed description, such division is
not mandatory.
CA 3052849 2019-08-23

Indeed, in accordance with embodiments of the present disclosure, the features
and functions of
two or more modules or units described above may be embodied in one module or
unit.
Conversely, the features and functions of one of the modules or units
described above may be
further divided into multiple modules or units.
[0087] Further, although the various steps of the method of the present
disclosure are described
in a particular order in the drawings, this does not require or imply that the
steps must be
performed in the specific order, or that all the steps shown must be
performed. Achieve the
desired results. Additionally or alternatively, certain steps may be omitted,
multiple steps being
combined into one step execution, and/or one step being decomposed into
multiple step
executions and the like.
[0088] In an exemplary embodiment of the present disclosure, an electronic
equipment capable
of implementing the above method is also provided.
[0089] Those skilled in the art will appreciate that various aspects of the
present invention can
be implemented as a system, method, or program product. Therefore, various
aspects of the
present invention may be embodied in the form of a complete hardware
implementation, a
complete software implementation (including firmware, microcode, etc.), or a
combination of
hardware and software, which may be collectively referred to herein.
"Circuit," "module," or
"system."
[0090] The electronic equipment 400 according to this embodiment of the
present invention is
described below with reference to Figure 4. The electronic equipment 400 shown
in Figure 4 is
merely an example and should not impose any limitation on the function and
scope of use of the
embodiments of the present invention.
[0091] As shown in Figure 4, electronic equipment 400 is embodied in the form
of a general
purpose computing apparatus. The components of the electronic equipment 400
may include, but
are not limited to, the at least one processing unit 410, the at least one
storage unit 420, and the
bus 430 that connects different system components (including the storage unit
420 and the
processing unit 410).
[0092] wherein the storage unit stores program code, the program code may be
executed by the
processing unit 410, such that the processing unit 410 performs each of the
embodiments
according to the present invention described in the "Exemplary Method" section
of the present
specification. The steps of an exemplary embodiment. For example, the
processing unit 410 may
16
CA 3052849 2019-08-23

perform the steps as shown in Figure 1: in step S110, acquiring information of
the scanning
apparatus; and in step S120, dynamically scanning the apparatus according to
the information of
the scanning apparatus Generating a first apparatus key; in step S130,
receiving a payment
ciphertext obtained by the scan code apparatus encrypting the scanned payment
code according
to the first apparatus key; in step S140, based on the payment secret The text
is paid.
[0093] The storage unit 420 may include a readable medium in the form of a
volatile storage
unit, such as a random access storage unit (RAM) 4201 and/or a cache storage
unit 4202, and
may further include a read only storage unit (ROM) 4203. .
[0094] The storage unit 420 may further include a program/utility 4204 having
a set (at least
one) of the program modules 4205, such program modules 4205 including but not
limited to: an
operating system, one or more applications, other program modules, and Program
data, each of
these examples or some combination may include an implementation of a network
environment.
[0095] Bus 430 may be representative of one or more of several types of bus
structures,
including a memory unit bus or memory.
A unit controller, peripheral bus, graphics acceleration port, processing
unit, or local bus using
any of a variety of bus structures.
[0096] The electronic equipment 400 can also be in communication with one or
more external
apparatus 600 (e.g., a keyboard, pointing apparatus, Bluctooth apparatus,
etc.), and can also be in
communication with one or more apparatus that enable a user to interact with
the electronic
equipment 400, and / or communicate with any apparatus (e.g., router, modem,
etc.) that enables
the electronic equipment 400 to communicate with one or more other computing
apparatus. This
communication can take place via an input/output (I/O) interface 450. Also,
electronic equipment
400 can communicate with one or more networks (e.g., a local area network
(LAN), a wide area
network (WAN), and/or a public network, such as the Internet) through network
adapter 460. As
shown, network adapter 460 communicates with other modules of electronic
equipment 400 via
bus 430. It should be understood that although not shown in the figures, other
hardware and/or
software modules may be utilized in conjunction with electronic equipment 400,
including but
not limited to: microcode, apparatus drivers, redundant processing units,
external disk drive
arrays, RAID systems, tape drives. And data backup storage systems, etc.
[0097] In an exemplary embodiment of the present disclosure, there is also
provided a
computer readable storage medium having stored thereon a program product
capable of
17
CA 3052849 2019-08-23

implementing the above method of the present specification. In some possible
embodiments,
various aspects of the present invention may also be implemented as a form of
program product,
including program code. When the program product is running on the terminal
apparatus, the
program code is used to enable the terminal apparatus to perform the steps
described in the
"exemplary method" section of this specification according to various
exemplary embodiments
of the present invention.
[0098] Referring to Figure 5, a program product 500 for implementing the above
method,
which may employ a portable compact disk read only memory (CD-ROM) and
includes program
code, is described in accordance with an embodiment of the present invention,
and may be A
terminal apparatus, such as a personal computer. However, the program product
of the present
invention is not limited thereto, and in the present document, the readable
storage medium may
be any tangible medium containing or storing a program that can be used by or
in connection
with an instruction execution system, apparatus or device.
[0099] The program product may take any combination of one or more readable
mediums. The
readable medium can be a readable signal medium or a readable storage medium.
The readable
storage medium can be, for example, but not limited to, an electronic,
magnetic, optical,
electromagnetic, infrared, or semiconductor system, apparatus, or device, or
any combination of
the above. More specific examples (non-exhaustive lists) of readable storage
media include:
electrical connections with one or more wires, portable disks, hard disks,
random access memory
(RAM), read only memory (ROM), erasable Programmable read-only memory (EPROM
or flash
memory), optical fiber, portable compact disk read only memory (CD-ROM),
optical storage
apparatus, magnetic storage apparatus, or any suitable combination of the
foregoing.
[0100] A computer readable signal medium may include a data signal that is
propagated in the
baseband or as part of a carrier, carrying readable program code. Such
propagated data signals
can take a variety of forms including, but not limited to, electromagnetic
signals, optical signals,
or any suitable combination of the foregoing. The readable signal medium can
also be any
readable medium other than a readable storage medium that can transmit,
propagate, or transport
a program for use by or in connection with an instruction execution system,
apparatus, or device.
[0101] Program code embodied on a readable medium can be transmitted by any
suitable
medium, including but not limited to wireless, wired, optical cable, RF, etc.,
or any suitable
combination of the foregoing.
18
CA 3052849 2019-08-23

[0102] Program code for performing the operations of the present invention may
be written in
any combination of one or more programming languages, including an object
oriented
programming language, such as Java, C++, etc., including A conventional
programming
language - such as the "C" language or a similar programming language. The
program code can
execute entirely on the user computing apparatus, partially on the user
apparatus, as a
stand-alone software package, partially on the remote computing apparatus on
the user
computing apparatus, or entirely on the remote computing apparatus or server.
Execute on. In the
case of a remote computing apparatus, the remote computing apparatus can be
connected to the
user computing apparatus via any kind of network, including a local area
network (LAN) or wide
area network (WAN), or can be connected to an external computing apparatus
(e.g., provided
using an Internet service) Businesses are connected via the Internet).
[0103] Further, the above-described drawings are merely illustrative of the
processes included
in the method according to the exemplary embodiments of the present invention,
and are not
intended to be limiting. It is easy to understand that the processing shown in
the above figures
does not indicate or limit the chronological order of these processes. In
addition, it is also easy to
understand that these processes may be performed synchronously or
asynchronously, for
example, in a plurality of modules.
[0104] Those skilled in the art upon consideration of the specification and
practice of the
invention disclosed herein, other embodiments will readily occur to those
embodiments disclosed.
The present application is intended to cover any variations, uses, or
adaptations of the present
disclosure, which are in accordance with the general principles of the
disclosure and include
common general knowledge or common technical means in the art that are not
disclosed in the
present disclosure. . The specification and examples are to be regarded as
illustrative only.
19
CA 3052849 2019-08-23

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

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

Administrative Status

Title Date
Forecasted Issue Date 2024-03-19
(22) Filed 2019-08-23
(41) Open to Public Inspection 2020-02-23
Examination Requested 2022-09-16
(45) Issued 2024-03-19

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $210.51 was received on 2023-12-15


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2025-08-25 $100.00
Next Payment if standard fee 2025-08-25 $277.00

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

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

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

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2019-08-23
Registration of a document - section 124 $100.00 2019-09-16
Maintenance Fee - Application - New Act 2 2021-08-23 $100.00 2021-06-25
Maintenance Fee - Application - New Act 3 2022-08-23 $100.00 2022-06-22
Request for Examination 2024-08-23 $814.37 2022-09-16
Advance an application for a patent out of its routine order 2022-11-08 $508.98 2022-11-08
Maintenance Fee - Application - New Act 4 2023-08-23 $100.00 2023-06-14
Maintenance Fee - Application - New Act 5 2024-08-23 $210.51 2023-12-15
Final Fee $416.00 2024-02-05
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
10353744 CANADA LTD.
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



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

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

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


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Representative Drawing 2020-01-24 1 10
Cover Page 2020-01-24 2 43
Special Order / Amendment / Prosecution Correspondence 2022-11-08 27 1,047
Request for Examination 2022-09-16 9 320
Prosecution Correspondence 2022-12-23 4 151
Acknowledgement of Grant of Special Order 2023-02-07 1 185
Claims 2022-11-08 10 530
Examiner Requisition 2023-02-14 6 282
Amendment 2023-12-05 13 487
Claims 2023-12-05 9 504
Abstract 2019-08-23 1 15
Description 2019-08-23 19 986
Claims 2019-08-23 3 91
Drawings 2019-08-23 4 68
Final Fee 2024-02-05 3 62
Representative Drawing 2024-02-19 1 12
Cover Page 2024-02-19 1 44
Electronic Grant Certificate 2024-03-19 1 2,527
Amendment 2023-06-14 32 1,268
Claims 2023-06-14 10 542
Drawings 2023-06-14 4 155
Examiner Requisition 2023-07-18 6 340
Amendment 2023-11-20 18 666
Claims 2023-11-20 10 534
Interview Record Registered (Action) 2023-12-05 1 26