The stores

Set up the App Store

About 15 minutes the first time. You need the Account Holder or Admin role in App Store Connect for the first step; the rest works with App Manager.

1Sign the Paid Apps agreement

  1. Open App Store Connect, then Business.
  2. Sign the Paid Apps agreement and fill in your bank account and tax forms.
Until it says Active, your products load as empty in the app, in TestFlight too. This is the most common reason a buy button does nothing.

2Turn on In-App Purchase for the app

In Xcode, select your app target, then Signing and Capabilities, + Capability, In-App Purchase. Capacitor, React Native and Flutter apps do this in their ios project too.

3Create your products

One-off purchases

  1. Choose your app, then Monetization, In-App Purchases, and +.
  2. Pick the type: Consumable (coins, credits: bought again and again) or Non-Consumable (unlock it once, keep it forever).
  3. Give it a reference name and a Product ID, for example coins_100. Your code uses this ID, and it can never be reused.
  4. Set a price, add a display name and description under App Store Localization, and add a review screenshot of where it’s sold in your app.

Subscriptions

  1. Under Monetization, choose Subscriptions and create a subscription group (for example “Pro”). A person can only have one subscription per group at a time.
  2. Add a subscription to the group with its Product ID (for example pro_monthly), the duration, a price and a localisation.
New products are submitted with your next app version. Until then they work in TestFlight and in Xcode’s sandbox, which is all you need to test.

4Point Apple’s notifications at us

This is how Vend16 hears about renewals, cancellations and refunds while your app is closed.

  1. Choose your app, then App Information (under General).
  2. Find App Store Server Notifications.
  3. Set the Production Server URL to your app’s Apple notifications URL, from your app’s Setup page in Vend16. It looks like this:
Apple notifications URL
https://vend16.com/v1/notifications/apple/app_your_app_id
  1. Choose Version 2, and save.
  2. Do the same for the Sandbox Server URL, with the same address.
Set the sandbox one too. TestFlight testers and Apple’s app reviewers buy in sandbox, so without it you can’t test renewals or refunds before launch.

That’s all for Apple. There’s no Apple API key to upload: every purchase is signed by Apple, and Vend16 checks the signature against Apple’s own certificates. Make sure your iOS bundle ID is saved on your app’s Setup page, so we can check each purchase is yours.

5Add a sandbox tester

  1. Go to Users and Access, then Sandbox, then Test Accounts, and add one with an email address that isn’t already an Apple Account.
  2. On the test iPhone: Settings, Developer (or App Store), Sandbox Account, and sign in with it. TestFlight builds use your own Apple Account and are never charged.

Next: make a test purchase.

Stuck? Email hello@spruik.co and a real person replies.