VoidhashDocs
DocumentationAPI reference
Dashboard
Get started
Introduction
Quickstart
Setup
Setup overview
Create a project
Products and perks
Paywall locations
CLI
Paywall components
Components
Develop a component
Editor panels
Component definition
Publishing
Installing and capabilities
Mobile SDKs
Swift
Kotlin
React Native
Store setup
Connect the App Store
Connect Google Play
API libraries
Node.js
PHP
Rust
Go
Resources
MCP server
Meta ads
Migrate in observer mode
Delete a person's data

Create an In-App Purchase key

Generate the In-App Purchase key (Issuer ID, Key ID, and .p8 file) that Voidhash uses to verify StoreKit transactions.

The In-App Purchase key lets Voidhash verify StoreKit 2 transactions and look up purchase data through the App Store Server API. You collect three values from App Store Connect: the Issuer ID (a team-wide UUID), the Key ID (a 10-character identifier), and the .p8 private key file.

Open the Integrations keys

In App Store Connect, go to Users and Access, open the Integrations tab, and select In-App Purchase under Keys. You need the Account Holder or Admin role to generate keys.

Generate a key

Click Generate In-App Purchase Key, or the + icon if you already have one. Give the key a name such as Voidhash and create it. The name is for your reference only, and you cannot edit it afterwards.

Copy the Issuer ID and Key ID

The Key ID is the 10-character identifier shown in the key's row under Active. Copy it into the Key ID field in Voidhash.

The Issuer ID is shown at the top of the keys page. Copy it into the Issuer ID field.

If no Issuer ID is shown, generate any App Store Connect API key once under Integrations → App Store Connect API. The name and access level do not matter. The Issuer ID is a single team-wide value, and it appears on both tabs once that key exists.

Download the .p8 file

Click Download Key to save the .p8 private key, then upload that file to the P8 key file field in Voidhash.

You can only download the key once

Apple lets you download each private key a single time. Store it somewhere safe. If you lose it, you need to revoke the key and generate a new one.

On this page

Open the Integrations keysGenerate a keyCopy the Issuer ID and Key IDDownload the .p8 file