Integração do SDK React Native
O SDK React Native da Dodo Payments permite que você crie experiências de pagamento seguras em seus aplicativos nativos para Android e iOS. Nosso SDK fornece componentes e telas de UI personalizáveis para coletar detalhes de pagamento.- 📦 Instale nosso SDK pelo NPM
- 📚 Veja nosso repositório de demonstração para exemplos completos de implementação
- 🎥 Assista ao nosso vídeo de demonstração para ver o SDK de Pagamentos Dodo em ação
Recursos
Simplified Security
Colete dados sensíveis de pagamento com segurança mantendo a conformidade PCI
Multiple Payment Methods
Aceite diversos métodos de pagamento para expandir o alcance global
Native UI
Telas e elementos nativos para Android e iOS
Atualmente, Apple Pay, Google Pay, Cash App e UPI não são suportados no SDK React Native. Estamos trabalhando ativamente para adicionar suporte a esses métodos de pagamento em versões futuras.
Instalação
1
Install the SDK
Instale o SDK da Dodo Payments usando seu gerenciador de pacotes preferido:
- npm
- yarn
2
Platform-specific setup
- iOS
- Android
Execute pod install na pasta do iOS:
Configuração do Lado do Cliente
1
Get Publishable Key
Obtenha sua chave publicável no painel da Dodo Payments. (Distinta para os modos de teste e produção)
https://app.dodopayments.com/developer/others
2
Setup Payment Provider
Envolva seu app com o
DodoPaymentProvider:App.tsx
Será necessário gerar chaves de API no painel da Dodo Payments. Consulte nosso guia de geração de chaves de API para instruções detalhadas.
3
Create payment utility function
Crie uma função utilitária para buscar os parâmetros de pagamento na sua API de backend:
utils/fetchPaymentParams.ts
Esta função pressupõe que você tenha um endpoint de backend que cria intents de pagamento e retorna um client secret. Garanta que seu backend esteja configurado adequadamente para lidar com a criação de pagamentos. Veja nosso Tutorial de Integração da API para exemplos de configuração do backend.
4
Implement the payment screen
Crie sua tela de pagamento usando o hook
useCheckout. Aqui está uma implementação completa:PaymentScreen.tsx
Para exemplos completos com estilização, tratamento de erros e opções de personalização, confira nossos repositórios de demonstração:
Opções de Configuração
Parâmetros da Sessão
O client secret do seu payment intent, obtido pela API de pagamento único ou de assinatura.
O modo da sessão de pagamento (teste ou produção).
Opções de personalização para a aparência da folha de pagamento
Modo do tema:
'light' ou 'dark'Personalização da Aparência
Você pode personalizar o Checkout Unificado do React Native para combinar com o design do seu app modificando cores, fontes e mais por meio do parâmetro appearance ao chamarinitPaymentSession().
Personalização de Cores
Cada categoria de cor determina a cor de um ou mais componentes na interface do usuário. Por exemplo,primary define a cor do botão Pagar.
Exemplo de configuração com suporte a modos claro e escuro:
Personalização de Forma
Você pode personalizar o raio da borda, a largura da borda e a sombra usadas em toda a interface de pagamento:Personalização Específica de Componentes
Você pode personalizar componentes de UI específicos, como o botão primário (botão de Pagamento). Essas configurações têm precedência sobre as configurações de aparência globais:Tratamento de Erros
Trate diferentes estados de pagamento na sua função de checkout:Common Error Scenarios
Common Error Scenarios
- Problemas de conectividade de rede: garanta conexão de internet estável
- Client secret inválido: verifique se o backend está gerando intents de pagamento válidos
- Dependências peer faltando: instale todas as dependências necessárias
- Configuração específica da plataforma: conclua as etapas de configuração do iOS e Android
- Erros da API: consulte nossa Referência de Códigos de Erro para tratamento detalhado de erros
Debugging Tips
Debugging Tips
- Ative o registro de depuração no desenvolvimento
- Verifique as solicitações de rede para o seu backend
- Verifique se as chaves de API estão configuradas corretamente
- Teste em ambas as plataformas iOS e Android
- Revise nossas FAQs Técnicas para problemas comuns
- Use Modo de Teste vs Modo Ao Vivo adequadamente