Skip to main content

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 em server/ 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.
Faça o build no modo de teste, que simula pagamentos sem movimentar dinheiro real.
3

Configure Environment Variables

O app e o servidor leem, cada um, seu próprio arquivo .env. Copie os dois arquivos de exemplo:
Em server/.env, adicione sua chave de API. DODOPAYMENTS_RETURN_URL deve usar o scheme de app.json, que é dodoexpo no boilerplate:
server/.env
No arquivo .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_.
Nunca faça commit dos arquivos .env no controle de versão. O arquivo .gitignore raiz já exclui .env.Nunca coloque uma chave de API do Dodo Payments em uma variável EXPO_PUBLIC_*. O Expo incorpora essas variáveis ao bundle JavaScript, portanto qualquer pessoa que baixar seu app poderá lê-las. Mantenha a chave no servidor, como o boilerplate faz, e passe ao app apenas o checkout_url resultante. Consulte Mobile Integration.
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:
Última modificação em 26 de setembro de 2026