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, callback)

  • productID String - The identifiers of the product to purchase. (The identifier of com.example.app.product1 is product1).
  • quantity Integer (optional) - The number of items the user wants to purchase.
  • callback Function (optional) - The callback called when the payment is added to the PaymentQueue.

    • isProductValid Boolean - Determine 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.

inAppPurchase.getProducts(productIDs, callback)

  • productIDs String[] - The identifiers of the products to get.
  • callback Function - The callback called with the products or an empty array if the products don't exist.

    • products Product[] - Array of Product objects

Retrieves the product descriptions.


Returns Boolean, whether a user can make a payment.


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