Questo è l’SDK ufficiale per il checkout React Native di Dodo Payments,
@dodopayments/react-native-checkout. Apre il checkout ospitato di Dodo in una vista browser nativa e restituisce un risultato tipizzato. Nota: esiste un pacchetto meno recente e non correlato denominato dodopayments-react-native-sdk (senza scope), con un’API completamente diversa. Questa pagina documenta esclusivamente l’attuale pacchetto ufficiale con scope.Checkout Sessions API
Crea checkout_url, che questo SDK apre, dal tuo backend.
Mobile Integration Guide
Scopri come si inserisce nel flusso completo dei pagamenti mobile.
SFSafariViewController su iOS e una Chrome Custom Tab su Android, non conserva alcuna chiave API e non chiama mai direttamente l’API di Dodo. Tutta la logica del checkout viene eseguita nel browser; l’SDK gestisce semplicemente il ciclo di vita della vista e acquisisce l’URL di ritorno.
Installazione
1
Install the Package
- Android
- iOS
- Expo
Il pacchetto viene collegato automaticamente e recupera Non è necessaria alcuna configurazione aggiuntiva; la dipendenza nativa viene risolta automaticamente.
com.dodopayments.api:checkout-android da Maven.2
Register a Callback URL Scheme
La tua app deve registrare uno schema URL per ricevere l’URL di ritorno dal checkout.
- Android (Gradle)
- iOS (Info.plist)
- Expo (both platforms)
In Sostituisci
android/app/build.gradle:android/app/build.gradle
"myapp" con lo schema della tua app.Utilizzo
Inoltro dell’URL di ritorno
Il listenerLinking è necessario per la gestione dell’URL di ritorno su iOS. Su Android, handleOpenURL è un no-op che risolve false, poiché il core Android gestisce il redirect in modo nativo. È sicuro registrare il listener incondizionatamente su entrambe le piattaforme.
Significato del risultato
CheckoutStatus
obbligatorio
Uno tra
succeeded, failed, cancelled, pending, expired.string
Impostato quando l’URL di ritorno ne includeva uno. Visualizzalo nell’interfaccia, ma non usarlo per concedere l’accesso. Vedi Verificare il pagamento di seguito.
string
Impostato per i checkout degli abbonamenti.
string[]
Impostato quando il checkout include prodotti con chiavi di licenza.
string
Impostato quando il checkout acquisisce un indirizzo email.
Record<string, string>
Ogni parametro di query dell’URL di ritorno, senza modifiche.
Verificare il pagamento
Webhooks
Dodo Payments chiama il tuo backend quando un pagamento va a buon fine o un abbonamento viene attivato.
Get Payment Detail
Cerca
paymentId con la tua secret key per verificarne direttamente lo stato.result.status.
Errori
start restituisce un errore CheckoutError solo in caso di uso errato o di un errore della piattaforma. Un pagamento annullato o rifiutato è sempre un risultato, mai un’eccezione.
INVALID_CHECKOUT_URL: non è un URL di sessionecheckout.dodopayments.com.INVALID_RETURN_URL: non è un URL assoluto valido.ALREADY_IN_PROGRESS: è già in esecuzione un checkout.PLATFORM_ERROR: errore imprevisto della piattaforma.
Sessioni abbandonate
Se l’app o il bundle JS viene terminato durante il checkout, la promise viene persa, ma il livello nativo mantiene la sessione. Recuperala al successivo mount e riconcíliala con il tuo backend.Correlati
Mobile Integration Guide
Lo stesso contratto per Android, iOS e Flutter.
Expo Boilerplate
Un esempio Expo completo con integrazione del checkout.