For RevenueCat to securely authenticate and validate a [Subscription Offer](πŸ”—ο»Ώ) request with Apple, you'll need to upload an in-app purchase key. In order to enable [customer lookup](πŸ”—ο»Ώ) via Order ID for iOS apps, you'll also need to provide an Issuer ID.

## 1. Generating an In-App Purchase Key

In-app purchase keys are generated in the _Users and Access_ section of App Store Connect. You can use the same in-app purchase key for all of your offers.


Select _Generate In-App Purchase Key_, or – if you've generated an In-App Purchase Key in the past – click on the "+" symbol behind the _Active_ header. You'll be prompted to enter a name for the key.

Once your key is generated, it will appear in _Active Keys_ and you get one shot to download it.

Select _Download API Key_ and store the file in a safe place, you'll need to upload this to RevenueCat in the next step.


## 2. Uploading the In-App Purchase Key to RevenueCat

Once everything is set up in App Store Connect, you need to upload the In-App Purchase Key from the previous step to RevenueCat. RevenueCat will handle all the server-side authentication and validation of the Subscription Offers.

In the RevenueCat dashboard, select your iOS app from the **Apps** tab in your project settings.

Within your app settings, under the tab **In-app purchase key configuration**, you'll see an area to upload your In-App Purchase Key .p8 file that you downloaded from App Store Connect.


## 3. Providing the Issuer ID to RevenueCat

Once you uploaded the in-app purchase .p8 file, you'll see an area to input 'Issuer ID'.

You can find this Issuer ID in App Store Connect, under Keys > App Store Connect API.

If you haven't done so yet, you'll need to request access to the App Store Connect API. In that case, you will also need to generate a random App Store Connect API key. Access level or name of the key here doesn't matter, but the Issuer ID will not show unless a key has been generated.

Copy the Issuer ID, which is now shown at the top of the page, and paste into the RevenueCat 'Issuer ID' field.



Remember to select 'Save changes'.