Prerequisites
- App Store Connect access with the Admin or Account Holder role.
- A PNLight project with the correct iOS bundle ID and App Store ID.
- At least one in-app purchase or subscription created in App Store Connect.
Open AppStore settings in PNLight
Create an in-app purchase key
The in-app purchase key is a.p8 private key from App Store Connect. PNLight uses it to verify StoreKit 2 purchases, decode App Store Server Notifications, and recover subscription history.
Save credentials in PNLight
In Integration → AppStore, fill in:| Field | What to enter |
|---|---|
| Issuer ID | The issuer ID from Users and Access → Integrations → In-App Purchase in App Store Connect. |
| App Store shared secret | The app-specific or primary shared secret used for legacy receipt validation. |
| In-App Purchase Key | The downloaded .p8 in-app purchase key. Keep the original file name. |
.p8 file with the Upload *.p8 button.
Configure server notifications
App Store Server Notifications let PNLight receive subscription renewals, cancellations, refunds, billing retry events, and other subscription lifecycle changes without waiting for the app to open.Copy the PNLight notification URL
In Integration → AppStore, copy the AppStore Connect notification URL.
Open the app in App Store Connect
In App Store Connect, open My Apps and select the iOS app that matches this PNLight project.
If the App Store Server Notifications section is missing in App Store Connect, create at least one in-app purchase or subscription for the app and check again.
What to verify before testing
- The
.p8file belongs to the same App Store Connect account. - The bundle ID matches the app that includes the SDK.
- The App Store ID matches the app listing.
- The notification URL is copied from the same PNLight project.
- The notification URL is saved for both production and sandbox.
- App Store Server Notifications use version 2.
App Store changes can take time to affect sandbox and production events. Test with a fresh sandbox purchase after saving the integration settings.