Integração RevenueCat (compras na app iOS/Android)
Dar acesso automático aos compradores da RevenueCat (compras na app iOS/Android) e retirá-lo em reembolsos.
1. Criar a integração
- Painel → app → Vendas → Nova integração → escolha RevenueCat (compras na app iOS/Android).
- Preencha Authorization header (um segredo à sua escolha). Os campos secretos são guardados cifrados e servem para confirmar que cada aviso vem mesmo da plataforma.
- Guarde. O painel mostra o URL de webhook desta integração.
2. Configurar na RevenueCat (compras na app iOS/Android)
RevenueCat → Project settings → Integrations → Webhooks: cole a URL abaixo e defina o mesmo valor em "Authorization header". ID externo: o identificador do produto na App Store / Google Play (ou o entitlement).
https://www.zurianlab.com/api/webhooks/revenuecat/<token-da-integração>3. Associar produtos
Na integração, associe cada produto da RevenueCat (compras na app iOS/Android) (ID do produto na loja (ex.: curso_premium) ou entitlement) a um ou mais produtos da app. Compras de produtos sem associação aparecem em Vendas com erro para corrigir com um clique.
4. Testar
Faça uma compra de teste (ou use o botão de teste/reenvio da RevenueCat (compras na app iOS/Android)). Em Vendas vê cada evento recebido com o estado (processado, ignorado, falhou) e pode reprocessá-lo.
O que cada evento faz
| Evento | Efeito |
|---|---|
| Compra ou renovação aprovada | Cria o aluno (se não existir), dá acesso aos produtos associados e envia o email de acesso. |
| Reembolso, chargeback ou cancelamento | Retira o acesso dado por essa transação (os acessos dados por outras compras mantêm-se). |
| Pagamento pendente (transferência, voucher ou referência) | Cria um lead para recuperação; nunca dá acesso. |
| Pagamento recusado ou expirado, carrinho abandonado | Cria um lead e dispara as automações de recuperação. |
| Subscrição com pagamento em atraso | Inicia o período de tolerância definido nas Definições; depois retira o acesso. |
| Mudança de plano | Troca os produtos da subscrição. |
Segurança e fiabilidade
- Cada aviso é verificado (assinatura, token ou chave) antes de qualquer alteração; avisos não verificados são rejeitados.
- O processamento é idempotente: o mesmo evento repetido pela plataforma nunca dá acesso duas vezes.
- O acesso só é dado depois de a plataforma confirmar o pagamento — nunca a partir do navegador do comprador.