Integración del SDK de React Native
El SDK de Dodo Payments para React Native te permite crear experiencias de pago seguras en tus aplicaciones nativas de Android e iOS. Nuestro SDK proporciona componentes y pantallas de UI personalizables para recopilar detalles de pago.- 📦 Instala nuestro SDK desde NPM
- 📚 Consulta nuestro repositorio de demostración para ejemplos completos de implementación
- 🎥 Mira nuestro video de demostración para ver el SDK de Dodo Payments en acción
Características
Simplified Security
Recopila datos de pago sensibles de forma segura mientras cumples con PCI
Multiple Payment Methods
Acepta varios métodos de pago para ampliar el alcance global
Native UI
Pantallas y elementos nativos para Android e iOS
Actualmente, Apple Pay, Google Pay, Cash App y UPI no son compatibles con el SDK de React Native. Estamos trabajando activamente para añadir soporte para estos métodos de pago en futuras versiones.
Instalación
Configuración del lado del cliente
Get Publishable Key
Obtén tu clave publicable desde el panel de Dodo Payments. (Distinta para los modos de prueba y producción)
https://app.dodopayments.com/developer/others
Setup Payment Provider
Envuelve tu app con el
DodoPaymentProvider:App.tsx
Necesitarás generar claves API desde tu panel de Dodo Payments. Consulta nuestra guía de generación de claves API para instrucciones detalladas.
Create payment utility function
Crea una función auxiliar para obtener parámetros de pago desde tu API backend:
utils/fetchPaymentParams.ts
Esta función asume que tienes un endpoint de API backend que crea intents de pago y devuelve un client secret. Asegúrate de que tu backend esté correctamente configurado para manejar la creación de pagos. Consulta nuestro Tutorial de integración de API para ejemplos de configuración del backend.
Implement the payment screen
Crea tu pantalla de pago usando el hook
useCheckout. Aquí tienes una implementación completa:PaymentScreen.tsx
Para ejemplos completos con estilo, manejo de errores y opciones de personalización, consulta nuestros repositorios de demostración:
Opciones de Configuración
Parámetros de Sesión
El client secret de tu payment intent, obtenido de la API de pago único o suscripción.
El modo de la sesión de pago (prueba o producción).
Opciones de personalización para la apariencia del payment sheet
Modo de tema:
'light' o 'dark'Personalización de Apariencia
Puedes personalizar el React Native Unified Checkout para que coincida con el diseño de tu app modificando colores, fuentes y más mediante el parámetro appearance al llamar ainitPaymentSession().
Personalización de Color
Cada categoría de color determina el color de uno o más componentes en la UI. Por ejemplo,primary define el color del botón Pay.
| Categoría de color | Uso |
|---|---|
primary | Color primario para el botón Pay y elementos seleccionados |
background | Color de fondo de la página de pago |
componentBackground | Color de fondo para campos de entrada, pestañas y otros componentes |
componentBorder | Color del borde externo para campos de entrada, pestañas y otros componentes |
componentDivider | Color del borde interno (bordes compartidos) para componentes |
primaryText | Color del texto del encabezado |
secondaryText | Color del texto de etiquetas para campos de entrada |
componentText | Color del texto del campo (por ejemplo, número de tarjeta, código postal) |
placeholderText | Color del texto de marcador para campos de entrada |
icon | Color para iconos (por ejemplo, botón de cerrar) |
error | Color para mensajes de error y acciones destructivas |
Personalización de Forma
Puedes personalizar el radio de borde, el ancho de borde y la sombra utilizados en toda la interfaz de pago:Personalización Específica de Componentes
Puedes personalizar componentes específicos de la UI como el botón primario (botón de Pago). Estas configuraciones tienen prioridad sobre las configuraciones de apariencia globales:Manejo de Errores
Maneja diferentes estados de pago en tu función de checkout:Common Error Scenarios
Common Error Scenarios
- Problemas de conectividad de red: Asegura una conexión a Internet estable
- Client secret inválido: Verifica que el backend esté generando payment intents válidos
- Dependencias peer faltantes: Instala todas las dependencias requeridas
- Configuración específica por plataforma: Completa los pasos de configuración para iOS y Android
- Errores de API: Revisa nuestra Referencia de códigos de error para manejo detallado
Debugging Tips
Debugging Tips
- Activa el registro de depuración en desarrollo
- Revisa las peticiones de red a tu backend
- Verifica que las claves API estén configuradas correctamente
- Prueba en ambas plataformas iOS y Android
- Consulta nuestras Preguntas frecuentes técnicas para problemas comunes
- Utiliza correctamente el modo de Prueba vs Producción