Este es el SDK oficial de checkout de Dodo Payments para React Native,
@dodopayments/react-native-checkout. Abre el checkout alojado de Dodo en una vista de navegador nativa y devuelve un resultado tipado. Nota: existe un paquete anterior no relacionado llamado dodopayments-react-native-sdk (sin ámbito) con una API completamente diferente. Esta página documenta únicamente el paquete oficial actual con ámbito.Checkout Sessions API
Crea checkout_url, que este SDK abre, desde tu backend.
Mobile Integration Guide
Consulta cómo encaja esto en el flujo de pago móvil completo.
SFSafariViewController en iOS y una pestaña personalizada de Chrome en Android, no contiene ninguna clave de API y nunca llama directamente a la API de Dodo. Toda la lógica del checkout se ejecuta en el navegador; el SDK simplemente administra el ciclo de vida de la vista y captura la URL de retorno.
Instalación
1
Install the Package
- Android
- iOS
- Expo
El paquete se enlaza automáticamente y obtiene No se necesita configuración adicional; la dependencia nativa se resuelve automáticamente.
com.dodopayments.api:checkout-android desde Maven.2
Register a Callback URL Scheme
Tu aplicación debe registrar un esquema de URL para recibir la URL de retorno del checkout.
- Android (Gradle)
- iOS (Info.plist)
- Expo (both platforms)
En Sustituye
android/app/build.gradle:android/app/build.gradle
"myapp" por el esquema de tu aplicación.Uso
Reenvío de la URL de retorno
El listenerLinking es necesario para el manejo de la URL de retorno en iOS. En Android, handleOpenURL no realiza ninguna operación y resuelve false porque el núcleo de Android gestiona su redirección de forma nativa. Es seguro registrar el listener incondicionalmente en ambas plataformas.
Qué significa el resultado
CheckoutStatus
requerido
Uno de
succeeded, failed, cancelled, pending, expired.string
Se establece cuando la URL de retorno incluía uno. Muéstralo en la interfaz de usuario; no lo uses para conceder acceso. Consulta Verificar el pago más abajo.
string
Se establece para los checkouts de suscripción.
string[]
Se establece cuando el checkout incluye productos con claves de licencia.
string
Se establece cuando el checkout captura un correo electrónico.
Record<string, string>
Cada parámetro de consulta de la URL de retorno, literalmente.
Verificar el pago
Webhooks
Dodo Payments llama a tu backend cuando un pago se completa correctamente o se activa una suscripción.
Get Payment Detail
Consulta
paymentId con tu clave secreta para comprobar su estado directamente.result.status.
Errores
start rechaza con un CheckoutError únicamente en caso de uso incorrecto o fallo de la plataforma. Un pago cancelado o rechazado siempre es un resultado, nunca una excepción.
INVALID_CHECKOUT_URL: no es una URL de sesión decheckout.dodopayments.com.INVALID_RETURN_URL: no es una URL absoluta válida.ALREADY_IN_PROGRESS: ya hay un checkout en ejecución.PLATFORM_ERROR: fallo inesperado de la plataforma.
Sesiones abandonadas
Si la aplicación o el bundle de JS se cierra durante el checkout, la promesa se pierde, pero la capa nativa conserva la sesión. Recupérala en el siguiente montaje y concíliala con tu backend.Relacionado
Mobile Integration Guide
El mismo contrato para Android, iOS y Flutter.
Expo Boilerplate
Un ejemplo completo de Expo con integración de checkout.