IP Library Granted Patent US 11,270,362
Granted Patent B1
US 11,270,362 · App. 16/806,869 · Granted Mar 8, 2022

Systems and methods for proof of application ownership

Inventor: Joseph Patrick Kirwin (Victoria, CA)
Assignee: STRIPE, INC.
G06Q30/0609G06Q2220/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 11,270,362
App. No.
16/806,869
Granted
Mar 8, 2022
Kind
B1
Abstract

A method and apparatus for a commerce platform providing proof of application ownership of a network distributable application are described. The method may include receiving a request to approve an application developed by a merchant system, wherein the application includes an application programming interface (API) component, a software development kit (SDK) component, or a combination thereof provided by the commerce platform to the merchant system. The method may also include generating a unique identifier (ID) for the application to be included as metadata within the application. Furthermore, the method may include obtaining, from an application information system, data describing the application, and extracting an ID from metadata in the data obtained by the application information system. Then, the method may include that in response to determining that the ID extracted from the metadata matches the unique ID, associating the merchant with the application in a merchant account at the commerce platform and approving the application for interacting with the commerce platform.

Claims (57)

1. A method for a commerce platform providing proof of application ownership of a network distributable application, the method comprising:

receiving, by a commerce platform, a request to approve an application developed by a merchant system, wherein the application includes an application programming interface (API) component, a software development kit (SDK) component, or a combination thereof provided by the commerce platform to the merchant system;

generating a unique identifier (ID) for the application to be included as metadata within the application;

obtaining, by the commerce platform from an application information system, data describing the application;

extracting an ID from metadata in the data obtained by the application information system; and

in response to determining that the ID extracted from the metadata matches the unique ID, associating the merchant with the application in a merchant account at the commerce platform and approving the application for interacting with the commerce platform.

2. The method of claim 1 , wherein the unique ID is a cryptographic nonce generated by the commerce platform, and comprises a 16-bit, 32-bit, 64-bit, or 128-bit nonce value.

3. The method of claim 1 , wherein the application is distributed to other systems via an online application marketplace.

4. The method of claim 3 , further comprising:

receiving, with the request, a name of the application, wherein the name uniquely identifiers the application to the online application marketplace.

5. The method of claim 4 , further comprising:

verifying the merchant system is associated with an existing account at the commerce platform based at least in part in the verification of an account password, an encryption key, or a combination therefor; and

associating, in an accounts data store maintained by the commerce platform, the name of the application in the request with the account of the merchant system at the commerce platform.

6. The method of claim 4 , wherein the metadata file is a manifest file of an application package for the application, wherein generating the unique ID comprises:

generating a snippet of code to be included in the manifest file of the application package, the snippet of code comprising a name, value pair to be included in the manifest file prior to the application package being uploaded by the merchant system to the online application marketplace.

7. The method of claim 6 , wherein the obtaining, from the application information system, data describing the application, and extracting the ID from metadata in the data obtained by the application information system, further comprises:

querying, with the received name of the application, the application information system for an application package associated with the name, wherein the application information system obtains the application package associated with the name of the application from the online application marketplace when the application is available for download from the online application marketplace;

receiving, from the application information system, the application package associated with the name;

locating a manifest file in the application package; and

extracting the unique ID from the snippet of code located in a metadata field in the manifest file of the application package.

8. The method of claim 1 , where approving the application for interacting with the commerce platform further comprises:

binding, in the merchant account, the application with the application name and the unique ID; and

enabling a transaction between the commerce platform and merchant user system executing the application in response to a verification by the commerce platform that the application has a name and a unique ID matching the name and unique ID within the merchant account.

9. The method of claim 1 , wherein the API component, the SDK component, or the combination thereof are executed by the application to interact with the commerce platform during a transaction initiated by the application with a customer of the merchant system.

10. The method of claim 1 , wherein the application is a mobile device application.

11. A non-transitory computer readable storage medium including instructions that, when executed by a processor, cause the processor to perform operations for providing proof of application ownership of a network distributable application by a commerce platform, the operations comprising:

receiving a request to approve an application developed by a merchant system, wherein the application includes an application programming interface (API) component, a software development kit (SDK) component, or a combination thereof provided by the commerce platform to the merchant system;

generating a unique identifier (ID) for the application to be included as metadata within the application;

obtaining, from an application information system, data describing the application;

extracting an ID from metadata in the data obtained by the application information system; and

in response to determining that the ID extracted from the metadata matches the unique ID, associating the merchant with the application in a merchant account at the commerce platform and approving the application for interacting with the commerce platform.

12. The non-transitory computer readable storage medium of claim 11 , wherein the unique ID is a cryptographic nonce generated by the commerce platform, and comprises a 16-bit, 32-bit, 64-bit, or 128-bit nonce value.

13. The non-transitory computer readable storage medium of claim 11 , wherein the application is distributed to other systems via an online application marketplace.

14. The non-transitory computer readable storage medium of claim 13 , further comprising:

receiving, with the request, a name of the application, wherein the name uniquely identifiers the application to the online application marketplace.

15. The non-transitory computer readable storage medium of claim 14 , further comprising:

verifying the merchant system is associated with an existing account at the commerce platform based at least in part in the verification of an account password, an encryption key, or a combination therefor; and

associating, in an accounts data store maintained by the commerce platform, the name of the application in the request with the account of the merchant system at the commerce platform.

16. The non-transitory computer readable storage medium of claim 14 , wherein the metadata file is a manifest file of an application package for the application, wherein generating the unique ID comprises:

generating a snippet of code to be included in the manifest file of the application package, the snippet of code comprising a name, value pair to be included in the manifest file prior to the application package being uploaded by the merchant system to the online application marketplace.

17. The non-transitory computer readable storage medium of claim 16 , wherein the obtaining, from the application information system, data describing the application, and extracting the ID from metadata in the data obtained by the application information system, further comprises:

querying, with the received name of the application, the application information system for an application package associated with the name, wherein the application information system obtains the application package associated with the name of the application from the online application marketplace when the application is available for download from the online application marketplace;

receiving, from the application information system, the application package associated with the name;

locating a manifest file in the application package; and

extracting the unique ID from the snippet of code located in a metadata field in the manifest file of the application package.

18. The non-transitory computer readable storage medium of claim 11 , where approving the application for interacting with the commerce platform further comprises:

binding, in the merchant account, the application with the application name and the unique ID; and

enabling a transaction between the commerce platform and merchant user system executing the application in response to a verification by the commerce platform that the application has a name and a unique ID matching the name and unique ID within the merchant account.

19. The non-transitory computer readable storage medium of claim 1 , wherein the API component, the SDK component, or the combination thereof are executed by the application to interact with the commerce platform during a transaction initiated by the application with a customer of the merchant system.

20. A commerce platform that provides proof of application ownership of a network distributable application, the commerce platform comprising:

a memory storing one or more instructions; and

a processor configured to execute the one or more instructions stored in the memory, which when executed by the processor cause the process to perform operations comprising:

receiving a request to approve an application developed by a merchant system, wherein the application includes an application programming interface (API) component, a software development kit (SDK) component, or a combination thereof provided by the commerce platform to the merchant system,

generating a unique identifier (ID) for the application to be included as metadata within the application,

obtaining, from an application information system, data describing the application,

extracting an ID from metadata in the data obtained by the application information system, and

in response to determining that the ID extracted from the metadata matches the unique ID, associating the merchant with the application in a merchant account at the commerce platform and approving the application for interacting with the commerce platform.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 074264/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2020
From: KIRWIN, JOSEPH PATRICK
To: STRIPE, INC.
Reel/Frame 051984/0479 →