Directe integratie met de iOS App Store

We ondersteunen abonnementen en eenmalige aankopen, waaronder consumables, non-consumables en niet-verlengende abonnementen.

Eenmalige aankopen komen binnen via Apple's ONE_TIME_CHARGE-melding, die Apple in mei 2025 in productie heeft uitgebracht. Je hoeft niets extra's te doen om dit in te schakelen: de instelling van App Store Server Notifications hieronder dekt beide.

1. Apple App Store Server Notifications

Apple Server to Server Notifications zijn vereist zodat Insert Affiliate abonnementsgebeurtenissen kan bijhouden.

Je hebt een van deze App Store-accountrollen nodig om deze wijzigingen te maken: Account Holder, Admin, App Manager of Marketing.

  1. Stel in de Insert Affiliate-instellingen (tabblad Integraties) je Verificatiemethode voor in-app-aankopen in op "Ik gebruik geen Receipt Validator (native App Store-/Google Play-integratie)".
  • Nadat je deze instelling hebt gewijzigd, verschijnt er een nieuw onderdeel met de naam "App Store Server Notifications" met daarin een URL. Die heb je nodig voor stap 5.
Onderdeel Aankoopverificatie in de instellingen van het Insert Affiliate-dashboard, met de keuzelijst voor de verificatiemethode gemarkeerd

Klik om op volledige grootte te bekijken

  1. Log in bij App Store Connect en selecteer je app.
  2. Selecteer in de navigatie aan de linkerkant App Information.
  3. Scrol omlaag naar het onderdeel App Store Server Notifications.
  4. Stel de Sandbox Server URL en de Production Server URL in op de App Store Server Notifications-URL uit de Insert Affiliate-instellingen.

Gebruik je deze URL's al voor je eigen server?

Apple staat per app één Production-URL en één Sandbox-URL toe. Ontvangt je eigen server al App Store Server Notifications, laat Apple dan naar je server blijven wijzen en laat je server elke melding doorsturen naar Insert Affiliate. Je afhandeling van facturatie en entitlements blijft precies zoals die is.

Om een melding door te sturen, stuur je de request body die Apple je stuurde ongewijzigd naar je Insert Affiliate-URL voor App Store Server Notifications:

  • Gebruik POST met Content-Type: application/json.
  • De body is Apple's { "signedPayload": "..." }-JSON. Decodeer deze niet, onderteken deze niet opnieuw en wijzig deze niet.
  • Gebruik de volledige URL uit je instellingen, inclusief de querystring, want die identificeert je account.
  • Stuur zowel productie- als sandboxmeldingen door naar dezelfde URL.

We verifiëren elke signedPayload tegen het rootcertificaat van Apple, dus een doorgestuurde melding wordt precies zo vertrouwd alsof Apple deze rechtstreeks had verstuurd. We antwoorden met 200 zodra de melding is verwerkt. Krijg je een ander antwoord, probeer het dan opnieuw. Dubbele leveringen zijn veilig, omdat een melding die we al hebben verwerkt niet twee keer wordt meegeteld.

Stuur door op de achtergrond, nadat je Apple hebt geantwoord, zodat een trage of mislukte doorsturing je eigen bevestiging nooit vertraagt.

// Express example: after handling Apple's notification yourself
app.post('/apple-notifications', express.json(), async (req, res) => {
  await handleNotification(req.body.signedPayload) // your existing logic
  res.sendStatus(200)

  fetch(process.env.INSERT_AFFILIATE_NOTIFICATION_URL, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ signedPayload: req.body.signedPayload }),
  }).catch((err) => console.error('Insert Affiliate forward failed', err))
})

2. Stel je iOS Bundle Identifier in

Insert Affiliate koppelt elk Apple-receipt aan de bundle identifier van je app, zodat een echt receipt van een andere app niet aan jouw account kan worden toegekend. Dit moet ingesteld zijn om Native-verificatie veilig te laten werken.

  1. Ga naar Instellingen → tabblad Bedrijf en profiel.
  2. Zoek het veld iOS Bundle Identifier en vul de bundle identifier van je app in (bijv. com.yourcompany.yourapp).
  3. Klik op Opslaan.

Je vindt je bundle identifier in Xcode: selecteer je project → selecteer je app-target → tabblad General → veld Bundle Identifier.

Zolang dit niet is ingesteld, toont je dashboard een waarschuwingsbanner die je eraan herinnert dit toe te voegen.

3. Integreer de Insert Affiliate SDK

Volg om de integratie af te ronden de laatste integratiestappen die worden beschreven in de Insert Affiliate SDK voor jouw platform: