GitHub Repository
O boilerplate de Expo, React Native e Dodo Payments.
Visão geral
O boilerplate Expo é um app Expo funcional que vende um plano de assinatura por meio do checkout hospedado do Dodo Payments. Ele tem duas partes: um app Expo Router em TypeScript e um pequeno servidor Express emserver/ que cria sessões de checkout com sua chave de API. O app solicita uma URL de checkout ao servidor, abre essa URL no navegador do sistema com expo-web-browser e recebe o resultado por meio de um deep link.
O boilerplate usa Expo SDK 54, Expo Router e TypeScript. A chave de API permanece no servidor. O app conhece apenas a URL do servidor.
Pré-requisitos
- Node.js 18 ou posterior.
- Expo CLI ou EAS CLI.
- Uma conta do Dodo Payments com um produto. Crie o produto em Products no dashboard.
- Um iOS Simulator, um Android Emulator ou um dispositivo físico.
Início rápido
1
Clone the Repository
Clone o repositório do boilerplate e acesse o diretório do projeto:
2
Get Your API Credentials
Obtenha sua chave de API no dashboard do Dodo Payments no modo de teste:
- API Key: acesse Developer → API Keys no seu dashboard.
3
Configure Environment Variables
O app e o servidor leem, cada um, seu próprio arquivo Em No arquivo
.env. Copie os dois arquivos de exemplo:server/.env, adicione sua chave de API. DODOPAYMENTS_RETURN_URL deve usar o scheme de app.json, que é dodoexpo no boilerplate:server/.env
.env raiz, defina EXPO_PUBLIC_BACKEND_URL como a URL do servidor, por exemplo, http://localhost:3000. O app envia solicitações de checkout para EXPO_PUBLIC_BACKEND_URL/checkout.Em seguida, abra server/server.js e substitua your-product-id pelo ID do seu produto. Os IDs de produto começam com pdt_.4
Install Dependencies
Instale os pacotes do app e do servidor:
5
Start the Development Server
Inicie o backend em um terminal e, em seguida, inicie o Expo em um segundo terminal:Pressione
i para o iOS Simulator ou a para o Android Emulator, ou escaneie o código QR no seu dispositivo. O projeto inclui expo-dev-client, e o link de retorno dodoexpo:// precisa do próprio scheme do seu app; portanto, execute o app em um development build (npx expo run:ios ou npx expo run:android), em vez do Expo Go.Um dispositivo físico não consegue acessar localhost no seu computador. Para testar em um dispositivo, defina EXPO_PUBLIC_BACKEND_URL como o endereço da rede local do seu computador, por exemplo, http://192.168.1.10:3000.A tela inicial mostra um cartão do plano com um botão de checkout. Toque nele para abrir o checkout, pague com o cartão de teste
4242 4242 4242 4242, e o app abrirá sua tela de resultado do pagamento.O que está incluído
O boilerplate inclui:Checkout Integration
Um servidor de demonstração que cria sessões de checkout e um serviço do app que as solicita e abre.
Payment Handling
Uma tela de resultado que lê o
status do deep link dodoexpo://payment/result e mostra sucesso ou falha.TypeScript Support
Configuração do TypeScript com tipos para a solicitação e a resposta do checkout.
Expo Router
Navegação baseada em arquivos com Expo Router, incluindo um layout de abas e a rota de resultado do pagamento.
Estrutura do projeto
Estes são os principais arquivos do repositório:Próximas etapas
Depois que o boilerplate estiver funcionando:1
Create Your Products
Adicione produtos ao seu dashboard do Dodo Payments e use os IDs deles em
server/server.js.2
Customize the Integration
Altere o texto do plano em
config/product.ts e altere o nome do app, scheme e os bundle identifiers em app.json. Se você alterar scheme, atualize DODOPAYMENTS_RETURN_URL para corresponder.3
Test on Real Devices
Teste o fluxo de pagamento e o retorno por deep link em dispositivos físicos iOS e Android.
4
Go Live
Substitua o servidor de demonstração pelo seu próprio backend, que autentica usuários e concede acesso a partir de webhooks. Em seguida, mude para uma chave de API de modo live e faça o build do seu app para produção.
Build para produção
Crie binários prontos para as lojas com o EAS Build:1
Install EAS CLI
2
Configure EAS
O repositório não tem um
eas.json. Este comando cria um:3
Build Your App
Para iOS:Para Android:
Recursos adicionais
Mobile Integration Guide
Os SDKs de checkout para dispositivos móveis, a configuração de deep links e as configurações de checkout para dispositivos móveis.
Integration Guide
Sessões de checkout, links de pagamento e webhooks.
API Reference
Todos os endpoints da API do Dodo Payments.
Suporte
Para obter ajuda com o boilerplate:- Faça perguntas na comunidade do Discord.
- Relate problemas no repositório do GitHub.
- Envie um e-mail para a equipe de suporte.