IP Library Granted Patent US 12699986
Granted Patent B2
US 12699986 · App. 15/822,052 · Granted Aug 4, 2026

System, process and device for e-commerce transactions

Inventors: Arnold Badal-Badalian (Toronto, CA); Seung Bong Baek (Toronto, CA); Syed Ahmar Imam (Toronto, CA); Benoit Germain (Toronto, CA); Anuradha Devi Dodda (Toronto, CA)
Assignee: ROYAL BANK OF CANADA
G06Q20/36G06Q20/12G06Q20/20G06Q20/227G06Q20/322G06Q20/3276G06Q20/3278G06Q20/3674G06Q20/3821G06Q20/38215G06Q20/3829G06Q20/383G06Q20/385G06Q20/401G06Q20/4014G06Q20/42G06Q30/06G06K19/06037G06Q2220/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12699986
App. No.
15/822,052
Granted
Aug 4, 2026
Kind
B2
Abstract

Systems, devices and processes for electronic commerce payment processing using a handle and a mobile device with a mobile wallet application installed thereon. The handle may be used at a merchant website to process the electronic commerce payment for instead of providing payment information and/or personally identifiable information. That is, the handle may not include payment information and/or personally identifiable information.

Claims (95)

1 . A payment processing system for a transaction at a merchant website, the system comprising:

a cloud server that receives a request package from the merchant website, the request package comprising transaction data, a customer account identifier for the merchant website, and a merchant identifier, wherein the request package is signed with a merchant key;

a merchant server;

a mobile device;

a payment server having a processor with a secure connection to the mobile device, the cloud server, and the merchant server;

the merchant server:

generates an encryption key unique to the merchant, by registering with the payment server, and

decrypts an encrypted payment security token using a corresponding key;

an interface for the merchant website, wherein the interface comprises selectable indicia triggering payment for the transaction using an electronic wallet application and a code readable by the electronic wallet application, wherein the code is created and encrypted using one or more encryption keys exchanged between the payment server and the merchant server, wherein the one or more encryption keys includes the encryption key unique to the merchant, wherein the code is encrypted using the encryption key unique to the merchant, wherein the code does not indicate sensitive financial data, wherein the code does not include payment information and/or personally identifiable information;

a database linking the customer account identifier to an electronic wallet application identifier for the customer account, wherein the merchant server processes subsequent transactions using the database and the customer account identifier linked to the electronic wallet application identifier for the customer account, the database having a database record comprising the electronic wallet application identifier, the merchant identifier and the customer account identifier, wherein the database record identifies the electronic wallet application and links the customer account to the electronic wallet application using the electronic wallet application identifier, wherein the payment server generates the electronic wallet application identifier and adds the electronic wallet application identifier to the request package for the merchant server to efficiently process the subsequent transactions;

the mobile device with a communication interface, at least one processor and non-transitory computer readable medium storing the electronic wallet application with computer-executable instructions for the at least one processor, wherein, using the electronic wallet application, the mobile device:

reads the code using a camera of the mobile device and decrypts or decodes the code and obtains a reference to the request package and retrieves the request package using the reference;

transmits, using the communication interface, the reference to the request package and the wallet application identifier to the payment server;

displays, on a display of the mobile device, a request for payment confirmation received from the payment server in response to transmitting the reference to the request package, the request for the payment confirmation comprising a portion of the transaction data and the merchant identifier;

transmits, using the communication interface, a transaction approval in response to displaying the request; and

sends tokenized data representing a selected payment method;

the payment server:

receives the reference to the request package and the wallet application identifier from the electronic wallet application;

transmits the reference to the request package to the cloud server, and uses the reference and the request package to process the transaction, wherein the payment server does not provide sensitive payment information to the merchant website for the transaction;

receives the request package from the cloud server and retrieves the portion of the transaction data, the customer account identifier, and the merchant identifier from the request package;

transmits the portion of the transaction data retrieved from the request package to the electronic wallet application for the request for payment confirmation;

receives the transaction approval to the request for payment confirmation from the mobile device;

transmits an approval message that updates the merchant website with a payment confirmation notification;

encrypts a payment security token by locating the encryption key unique to the merchant using the merchant identifier, wherein the payment server has different keys for different merchant servers; and

transmits a payment package to the cloud server, the payment package comprising the encrypted payment security token, confirmed payment amount to process payment for the transaction, the transaction approval for the transaction at the merchant website, the customer account identifier of the merchant website, the wallet application identifier, and the merchant identifier;

wherein the cloud server transmits the request package to the payment server, sends a notification with a reference identifier for the payment package to the merchant server, wherein the merchant server retrieves the payment package from the cloud server to complete payment for the transaction, wherein the cloud server provides a notification of the transaction to the merchant website to display the transaction confirmation.

2 . The system of claim 1 , wherein the payment server performs a look up for the electronic wallet application identifier using a repository of user account profiles.

3 . The system of claim 1 , wherein the mobile device:

receives notification of an additional transaction request and additional transaction data;

displays an additional purchase request comprising the additional transaction data; and

transmits a transaction approval to the payment server.

4 . The system of claim 1 , wherein the mobile device verifies the request package using the merchant identifier.

5 . The system of claim 4 , wherein the payment server decrypts the request package by retrieving a key using the merchant identifier.

6 . The system of claim 1 , wherein the electronic wallet application decrypts or decodes data in the code.

7 . The system of claim 1 , wherein the encryption key is exchanged between the payment server and the merchant server in order to secure data.

8 . The system of claim 1 , wherein the transaction approval comprises a payment type.

9 . The system of claim 1 , wherein the code is temporary and valid for a limited use.

10 . The system of claim 1 , wherein receiving the transaction approval to the request for payment confirmation comprises receiving a payment option from a plurality of payment options.

11 . The system of claim 1 , wherein the payment server:

receives notification of an additional transaction request and additional transaction data;

receives an additional transaction approval to process payment for the additional transaction; and

transmits an additional payment package to the cloud servicer, the payment package comprising the additional transaction approval, the customer account identifier, and the merchant identifier.

12 . A method for a transaction at a merchant website, the method comprising:

receiving, at a cloud server, a request package from the merchant website, the request package comprising transaction data, a customer account identifier for the merchant website, and a merchant identifier, wherein the request package is signed with a merchant key;

creating and encrypting a code using one or more encryption keys exchanged between a payment server and a merchant server, wherein the code does not indicate sensitive financial data, wherein the one or more encryption keys includes an encryption key unique to the merchant, wherein the code is encrypted using the encryption key unique to the merchant, wherein the payment server does not provide payment information and/or personally identifiable information to the merchant website;

providing, at an interface for the merchant website, selectable indicia, wherein the selectable indicia triggers payment for the transaction using an electronic wallet application and wherein the electronic wallet application reads the code readable by the electronic wallet application;

authorizing a user account of an electronic wallet application on or accessible by a mobile device and generating a wallet application identifier for the user account;

linking, by a database, the customer account identifier to the wallet application identifier for the user account, wherein the merchant server processes subsequent transactions using the database and the customer account identifier linked to the wallet application identifier for the customer account;

storing, in a database record of the database, the wallet application identifier, the merchant identifier, and the customer account identifier;

reading the code using a camera of the mobile device and obtaining a reference to the request package by decrypting or decoding the code so that the request package can be retrieved using the reference;

transmitting the reference to the request package and the wallet application identifier to the payment server, wherein the reference and the request package are used to process the transaction so that sensitive payment information is not provided to the merchant website for the transaction;

displaying a request for payment confirmation in response to transmitting the reference to the request package;

authenticating a user of the authorized user account;

transmitting a transaction approval to the payment server in response to displaying the request;

sending tokenized data representing a selected payment method;

storing different keys for different merchant servers using the payment server;

registering the merchant server with the payment server to generate an encryption key unique to the merchant;

encrypting a payment security token using the payment server and obtaining the encryption key unique to the merchant using the merchant identifier;

transmitting a payment package from the payment server to the cloud server, the payment package comprising the encrypted payment security token, confirmed payment amount to process payment for the transaction, the transaction approval for the transaction at the merchant website, the customer account identifier of the merchant website, the wallet application identifier, and the merchant identifier;

sending, by the cloud server, a notification with a reference identifier for the payment package to the merchant server;

retrieving, by the merchant server, the payment package from the cloud server to complete payment for the transaction; and

decrypting, by the merchant server, the encrypted payment security token using a corresponding key.

13 . The method of claim 12 further comprising:

performing a look up for the wallet application identifier using a repository of user account profiles.

14 . The method of claim 12 further comprising:

receiving notification of an additional transaction request and additional transaction data;

displaying an additional purchase request comprising the additional transaction data;

receiving an additional transaction approval to process payment; and

transmitting the transaction approval to the payment server.

15 . The method of claim 12 further comprising verifying the request package using the merchant identifier.

16 . The method of claim 15 , wherein the request package is encrypted using a first key and the merchant identifier and wherein the verifying comprises using a second key and the merchant identifier and decrypting the request package.

17 . The method of claim 12 further comprising decrypting or decoding data in the code.

18 . The method of claim 12 further comprising encrypting the code by a key and the merchant identifier.

19 . The method of claim 12 , wherein the transaction approval comprises a payment type.

20 . The method of claim 12 , wherein receiving the transaction approval to the request for payment confirmation comprises receiving a payment option from a plurality of payment options.

21 . A system comprising a cloud server, an interface for a merchant website, and a payment server, wherein the cloud server receives a request package from a merchant website, the request package comprising transaction data, a customer account identifier for the merchant website, and a merchant identifier, wherein the request package is signed with a merchant key, wherein the interface comprises selectable indicia, wherein the selectable indicia triggers payment for the transaction using an electronic wallet application and wherein the electronic wallet application reads a code, wherein the code is created and encrypted using one or more encryption keys exchanged between the payment server and a merchant server, wherein the one or more encryption keys includes an encryption key unique to the merchant, wherein the code is encrypted using the encryption key unique to the merchant, wherein the code does not indicate sensitive financial data, wherein the payment server does not provide payment information and/or personally identifiable information to the merchant website,

the payment server comprising:

a database linking the customer account identifier to an electronic wallet application identifier for the customer account, wherein the merchant server efficiently processes subsequent transactions using the database and the customer account identifier linked to the electronic wallet application identifier for the customer account, the database having a database record with the electronic wallet application identifier, the merchant identifier and the customer account identifier, wherein the database record identifies the electronic wallet application and links the customer account to the electronic wallet application using the electronic wallet application identifier, wherein the payment server generates the electronic wallet application identifier and adds the electronic wallet application identifier to the request package for the merchant server to process the subsequent transactions;

a communication interface, and at least one processor coupled to non-transitory computer-readable storage medium with computer-executable instructions for the processor, wherein, using the processor to execute the computer-executable instructions to automatically trigger control actions, the payment server:

receives a reference to the request package by establishing a secure connection with a mobile device with the electronic wallet application that reads the code to obtain the reference to the request package so that the request package can be retrieved using the reference, wherein the reference and the request package are used to process the transaction so that sensitive payment information is not provided to the merchant website for the transaction;

transmits the reference to the cloud server using the communication interface;

receives the request package from the cloud server in response to transmitting the reference;

transmits, using the communication interface, a portion of the transaction data from the request package or the reference to the request package;

receives a transaction approval to a request for payment confirmation from the mobile device;

sends tokenized data representing a selected payment method;

encrypts a payment security token by locating a key using the merchant identifier, the encrypted payment security token decrypted by the merchant server using a corresponding key; and

transmits a payment package to the cloud server, the payment package comprising the encrypted payment security token decrypted by the merchant server, confirmed payment amount to process payment for the transaction, the transaction approval, the customer account identifier, and the merchant identifier;

wherein the cloud server sends a notification with a reference identifier for the payment package to the merchant server, wherein the merchant server retrieves the payment package from the cloud server to complete payment for the transaction.

22 . The payment server of claim 21 , wherein the at least one processor:

performs a look up for the electronic wallet application identifier using a repository of user account profiles.

23 . The payment server of claim 21 , wherein the at least one processor:

receives notification of an additional transaction request and additional transaction data;

receives an additional transaction approval to process payment for the additional transaction; and

transmits an additional payment package to the cloud server, the payment package comprising the additional transaction approval, the customer account identifier, and the merchant identifier.

24 . The payment server of claim 21 , wherein the cloud server sends a notification with a reference identifier for the payment package to the merchant server, wherein the merchant server retrieves the payment package from the cloud server to complete payment for the transaction.