Esta es una aplicación de ejemplo que demuestra cómo usar el SDK de Yuno para React Native.
- Node.js >= 16
- React Native development environment configurado
- Para iOS: Xcode y CocoaPods
- Para Android: Android Studio y JDK 11
- Instalar dependencias:
npm install- Para iOS - Instalar pods:
cd ios && pod install && cd ..- Compilar el SDK principal (si es necesario):
cd .. && npm run prepack && cd examplenpm run androidO desde Android Studio:
- Abre
android/en Android Studio - Ejecuta la app en un emulador o dispositivo
npm run iosO desde Xcode:
- Abre
ios/YunoSDKExample.xcworkspaceen Xcode - Selecciona un simulador o dispositivo
- Presiona el botón Run
Al abrir la app, verás una pantalla de configuración donde debes:
- API Key: Ingresa tu API key de Yuno
- Country Code: Código del país (ej: CO para Colombia)
Presiona "Inicializar SDK" para comenzar.
Para usar las funcionalidades de pago, necesitas proporcionar:
- Customer Session: Token de sesión del cliente
- Checkout Session: Token de sesión de checkout
Estos tokens los obtienes desde tu backend usando la API de Yuno.
Inicia el flujo completo de pago con la UI de Yuno.
Flujo de pago simplificado usando un método de pago previamente guardado.
Permite al usuario guardar un nuevo método de pago.
Flujo de pago seamless (sin UI) para procesar pagos en segundo plano.
Oculta manualmente el loader de Yuno.
- Interfaz moderna y fácil de usar
- Indicadores de estado en tiempo real
- Mensajes de error claros
La app muestra en tiempo real:
- Estado del SDK (inicializado o no)
- Estado del último pago
- Estado del enrollment
- Tokens OTT generados
Todos los eventos se registran en la consola:
- Android:
adb logcat | grep -i yuno - iOS: Ver consola en Xcode
En App.tsx, puedes modificar la configuración del SDK:
await YunoSdk.initialize({
apiKey: apiKey,
countryCode: countryCode,
yunoConfig: {
lang: YunoLanguage.ES, // Idioma de la UI
cardFlow: CardFlow.MULTI_STEP, // Flujo de tarjetas
saveCardEnabled: true, // Permitir guardar tarjetas
keepLoader: false, // Mantener loader visible
isDynamicViewEnabled: true, // Vistas dinámicas
},
});Puedes modificar los estilos en App.tsx. La app usa StyleSheet de React Native.
Solución:
cd ..
npm run prepack
cd example
rm -rf node_modules
npm installSolución:
cd android
./gradlew clean
cd ..
npm run androidSolución:
cd ios
rm -rf Pods Podfile.lock
pod install --repo-update
cd ..Verifica que:
- El API Key sea válido
- Tengas conexión a internet
- Los repositorios de Yuno estén accesibles
Si encuentras un problema o tienes una sugerencia, por favor abre un issue en el repositorio.
MIT - Ver LICENSE para más detalles.
Hecho con ❤️ usando React Native