Skip to main content
Questo è l’SDK ufficiale per il checkout iOS di Dodo Payments, per Swift. Apre il checkout ospitato di Dodo in una vista browser nativa e restituisce un risultato tipizzato.

Checkout Sessions API

Crea checkout_url dal tuo backend, che sarà aperto da questo SDK.

Mobile Integration Guide

Scopri come si integra nel flusso completo dei pagamenti mobile.
L’SDK iOS apre il checkout ospitato di Dodo in SFSafariViewController, non contiene alcuna API key e non chiama mai direttamente la Dodo API. 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. Richiede iOS 16+ e Swift 6.

Installazione

1

Add the Package

In Xcode, vai a File → Add Package Dependencies e inserisci:
Seleziona la versione 1.0.0 o una successiva.In alternativa, aggiungi al tuo Package.swift:
Package.swift
2

Register a Callback URL Scheme

La tua app deve registrare uno schema URL per ricevere l’URL di ritorno dal checkout. Aggiungi questo al tuo Info.plist:
Info.plist
Puoi anche aggiungerlo tramite l’interfaccia Info → URL Types di Xcode.

Utilizzo

Inoltro dell’URL di ritorno

SFSafariViewController non dispone di un modo in-process per intercettare il proprio URL di ritorno. La tua app deve inoltrare gli URL in ingresso all’SDK.
È sicuro inoltrare ogni URL qui. handleOpenURL agisce solo sugli URL che corrispondono al tuo returnUrl registrato e restituisce false per qualsiasi altro URL.

Significato del risultato

result.status è un’indicazione per l’interfaccia, non una prova di pagamento. Conferma ogni pagamento dal tuo backend tramite il webhook payment.succeeded / subscription.active.
CheckoutStatus
obbligatorio
Uno tra succeeded, failed, cancelled, pending, expired.
String?
Impostato quando l’URL di ritorno ne include uno. Visualizzalo nell’interfaccia, ma non usarlo per concedere l’accesso. Consulta la sezione Verifica del pagamento qui sotto.
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’email.
[String: String]
Ogni parametro di query dell’URL di ritorno, invariato.

Verifica del 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.
Concedi l’accesso dopo che uno di questi ha confermato il pagamento, mai basandoti solo su result.status.

Errori

start genera CheckoutError solo in caso di uso improprio o di un errore della piattaforma. Un pagamento annullato o rifiutato restituisce sempre un risultato, mai un’eccezione.
  • invalidCheckoutUrl (INVALID_CHECKOUT_URL): URL della sessione non appartenente a checkout.dodopayments.com.
  • invalidReturnUrl (INVALID_RETURN_URL): URL assoluto non valido.
  • alreadyInProgress (ALREADY_IN_PROGRESS): un checkout è già in esecuzione.
  • platformError (PLATFORM_ERROR): errore imprevisto della piattaforma.

Sessioni abbandonate

Se l’app viene terminata durante il checkout, recupera la sessione al successivo avvio e riconciliala con il tuo backend.

Correlati

Mobile Integration Guide

Lo stesso contratto per Android, React Native e Flutter.

React Native SDK

Incapsula questo stesso core Swift su iOS.
Ultima modifica il 31 luglio 2026