Integração Direta com a App Store do iOS
Suportamos assinaturas e compras únicas, incluindo consumíveis, não consumíveis e assinaturas não renováveis.
As compras únicas chegam pela notificação ONE_TIME_CHARGE da Apple, que a Apple disponibilizou em produção em maio de 2025. Não é preciso ativar nada a mais: a configuração das App Store Server Notifications abaixo cobre os dois casos.
1. Notificações de Servidor da Apple App Store
As Notificações Servidor a Servidor da Apple são necessárias para permitir que o Insert Affiliate rastreie eventos de assinatura.
Você precisa ter uma das seguintes funções na conta da App Store: Account Holder, Admin, App Manager ou Marketing para fazer essas alterações.
- Nas configurações do Insert Affiliate (aba Integrations), defina seu In-App Purchase Verification Method como "I don't use a Receipt Validatior (Native App Store / Google Play Integration)."
- Após alterar essa configuração, uma nova seção chamada "App Store Server Notifications" aparecerá, contendo uma URL — você precisará dela no passo 5.

Clique para ver em tamanho real
- Faça login no App Store Connect, selecionando seu app.
- Na navegação à esquerda, selecione App Information.
- Role para baixo até a seção App Store Server Notifications.
- Defina a Sandbox Sever URL e a Production Server URL como a URL de App Store Server Notifications fornecida nas configurações do Insert Affiliate.
Já usa essas URLs no seu próprio servidor?
A Apple permite uma URL de produção e uma URL de sandbox por app. Se o seu próprio servidor já recebe as App Store Server Notifications, mantenha a Apple apontando para o seu servidor e faça com que ele encaminhe cada notificação para o Insert Affiliate. Seu processamento de cobrança e de direitos de acesso continua exatamente como está.
Para encaminhar uma notificação, envie o corpo da requisição que a Apple enviou a você, sem alterações, para a sua URL de App Store Server Notifications do Insert Affiliate:
- Use
POSTcomContent-Type: application/json. - O corpo é o JSON
{ "signedPayload": "..." }da Apple. Não decodifique, não reassine e não altere esse conteúdo. - Use a URL completa das suas configurações, incluindo a query string, pois é ela que identifica a sua conta.
- Encaminhe as notificações de produção e de sandbox para a mesma URL.
Verificamos cada signedPayload com o certificado raiz da Apple, então uma notificação encaminhada é tratada como se a Apple a tivesse enviado diretamente. Respondemos com 200 quando ela é processada. Se receber qualquer outra resposta, tente novamente. Entregas duplicadas são seguras, pois uma notificação que já processamos não é contabilizada duas vezes.
Faça o encaminhamento em segundo plano, depois de responder à Apple, para que um encaminhamento lento ou com falha nunca atrase a sua própria confirmação.
// Exemplo com Express: depois de tratar a notificação da Apple
app.post('/apple-notifications', express.json(), async (req, res) => {
await handleNotification(req.body.signedPayload) // sua lógica atual
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('Falha ao encaminhar ao Insert Affiliate', err))
})
2. Defina o Seu iOS Bundle Identifier
O Insert Affiliate vincula cada recibo da Apple ao identificador de bundle do seu app, para que um recibo genuíno de outro app não possa ser creditado à sua conta. Isso precisa estar configurado para que a verificação Native funcione com segurança.
- Acesse Settings → aba Business & Profile.
- Encontre o campo iOS Bundle Identifier e insira o identificador de bundle do seu app (por exemplo,
com.suaempresa.seuapp). - Clique em Save.
Você pode encontrar o identificador de bundle no Xcode: selecione seu projeto → selecione o alvo do seu app → aba General → campo Bundle Identifier.
Até que isso seja configurado, seu painel exibirá um aviso lembrando você de adicioná-lo.
3. Integre o SDK do Insert Affiliate
Para concluir a integração, siga os passos finais de integração detalhados no SDK do Insert Affiliate para a sua plataforma específica:
