Black Lives Matter. Support the Equal Justice Initiative and read our statement here.

Electron Documentation


In-app purchases on Mac App Store.

Process: Main


The inAppPurchase module emits the following events:

Event: 'transactions-updated'

Emitted when one or more transactions have been updated.


  • event Event
  • transactions Transaction[] - Array of Transaction objects.


The inAppPurchase module has the following methods:

inAppPurchase.purchaseProduct(productID[, quantity])

  • productID String - The identifiers of the product to purchase. (The identifier of is product1).
  • quantity Integer (optional) - The number of items the user wants to purchase.

Returns Promise<Boolean> - Returns true if the product is valid and added to the payment queue.

You should listen for the transactions-updated event as soon as possible and certainly before you call purchaseProduct.


  • productIDs String[] - The identifiers of the products to get.

Returns Promise<Product[]> - Resolves with an array of Product objects.

Retrieves the product descriptions.


Returns Boolean - whether a user can make a payment.


Restores finished transactions. This method can be called either to install purchases on additional devices, or to restore purchases for an application that the user deleted and reinstalled.

The payment queue delivers a new transaction for each previously completed transaction that can be restored. Each transaction includes a copy of the original transaction.


Returns String - the path to the receipt.


Completes all pending transactions.


  • date String - The ISO formatted date of the transaction to finish.

Completes the pending transactions corresponding to the date.

Keyboard Shortcuts

Key Action
/ Focus the search bar
Esc Focus the search bar and cleans it
Select the next search result
Select the previous search result
Enter Open the selected search result
cmdEnter Ctrl+Enter Open the selected search result in a new tab