Quick Start
Få din mobilbetalningsintegration igång i 4 enkla steg
Platform Examples
Kompletta kodexempel för Android, iOS, React Native och Flutter
Dodo Payments tillhandahåller ett officiellt checkout-SDK för Android, iOS, React Native,
och Flutter. Var och en kapslar in mönstret som dokumenteras nedan (öppna checkout-
URL:en, fånga returen, tolka resultatet) bakom ett enda typat
start(...)
-anrop, med inbyggd återställning av övergivna sessioner. Använd en manuell WebView endast
om inget av dem passar din stack.Förutsättningar
Innan du integrerar Dodo Payments i din mobilapp ska du se till att du har:- Dodo Payments-konto: Ett aktivt merchant-konto med API-åtkomst
- API-autentiseringsuppgifter: API key och webhook secret key från din dashboard
- Mobilappsprojekt: En Android-, iOS-, React Native- eller Flutter-applikation
- Backend-server: För att säkert hantera skapandet av checkout-sessioner
Integrationsarbetsflöde
Mobilintegrationen följer en säker process i fyra steg där din backend hanterar API-anropen och din mobilapp hanterar användarupplevelsen.1
Backend: Create Checkout Session
Checkout Session API Docs
Lär dig hur du skapar en checkout-session i din backend med Node.js, Python med flera. Se kompletta exempel och parameterreferenser i den dedikerade dokumentationen för Checkout Sessions API.
Säkerhet: Checkout-sessioner måste skapas på din backend-server, aldrig i mobilappen. Detta skyddar dina API keys och säkerställer korrekt validering.
2
Mobile: Get Checkout URL
Din mobilapp anropar din backend för att hämta checkout-URL:en. Autentisera
denna begäran med den inloggade användarens eget sessionstoken.
- iOS (Swift)
- Android (Kotlin)
- React Native (JavaScript)
- Flutter (Dart)
Säkerhet: Mobilappar kommunicerar endast med din backend, aldrig direkt med Dodo Payments API.
3
Mobile: Open Checkout in Browser
Öppna checkout-URL:en i en säker webbläsare i appen för betalningshantering.
Eller hoppa över den manuella konfigurationen helt med det officiella checkout-SDK:t för din
plattform.
Pick your mobile SDK
Installationssteg och konfigurationsinstruktioner för Android, iOS, React Native och Flutter.
4
Backend: Handle Payment Completion
Hantera slutförandet av betalningen via webhooks och redirect-URL:er för att bekräfta betalningsstatus.
Välj ditt SDK
Varje mobilt SDK exponerar samma kontrakt: ett endastart(...)-anrop öppnar Dodos
hostade checkout i plattformens inbyggda webbläsaryta och returnerar en typad
CheckoutResult vars status är succeeded, failed, cancelled,
pending eller expired. Inget av dem innehåller en API key eller anropar Dodo
Payments API, och alla fyra stöder återställning av övergivna sessioner.
Android
com.dodopayments.api:checkout-android öppnar en Chrome Custom Tab. Kräver minSdk 23.iOS
dodopayments-mobile-sdk-ios öppnar SFSafariViewController. Kräver iOS 16+.React Native
@dodopayments/react-native-checkout, en Turbo Module över båda de inbyggda kärnorna. Kräver React Native 0.76+.Flutter
dodopayments_checkout, en Pigeon-kanal över båda de inbyggda kärnorna. Kräver Flutter 3.44+.Registrera ett callback-URL-schema
Alla fyra SDK:er lämnar tillbaka kontrollen till din app via ett anpassat URL-schema som du väljer, till exempelmyapp://checkout/return. Registrera det en gång per
plattform:
- Android
- iOS
- Expo
android/app/build.gradle
Vill du bygga det själv? Öppna
checkout_url i en WebView och fånga
navigeringen till din return_url, och läs sedan status och payment_id
query-parametrarna. SDK:erna ovan gör detta åt dig i plattformens riktiga webbläsaryta,
vilket är anledningen till att Apple Pay och Google Pay fortsätter att fungera.Bästa praxis
- Säkerhet: Skicka aldrig en API key i appen. Skapa checkout-sessioner på din backend och skicka endast den resulterande
checkout_urltill klienten. - Auktoritet: Behandla
CheckoutResult.statussom en UI-indikation. Bevilja åtkomst först efter att din backend har bekräftat betalningen. - Användarupplevelse: Visa ett laddningstillstånd medan din backend skapar sessionen och hantera
cancelledsom ett normalt resultat, inte som ett fel. - Testning: Använd testläge och testkort och verifiera retur-URL-flödet på en riktig enhet såväl som i en simulator.
Felsökning
Vanliga problem
- Callback anländer aldrig: Schemat i
returnUrlmåste matcha det du registrerade. På Android är detdodoCallbackSchemei manifest-platshållaren; på iOS och React Native är detInfo.plist-URL-typen. - Checkout återgår till webbläsaren i stället för till din app (iOS): Du har inte vidarebefordrat den inkommande URL:en. Anropa
DodoCheckout.handleOpenURL(url)från.onOpenURL,scene(_:openURLContexts:)eller enLinking-lyssnare i React Native. PLATFORM_ERRORpå Android: Oftast beror det på att schemat inte matchar. Det kan också visas om dinMainActivityangerandroid:taskAffinity=""(standardvärdet iflutter create), vilket kan göra att vissa OEM-builds tappar den pågående checkouten.ALREADY_IN_PROGRESS: En checkout är fortfarande öppen. Vänta på eller avfärda den föregående innan du startar en ny.- Build misslyckas med en olöst platshållare: Du lade till Android SDK men angav aldrig
manifestPlaceholders["dodoCallbackScheme"]. - Betalningen lyckades men åtkomst beviljades inte: Förväntat om du utgår från mobilresultatet. Bevilja åtkomst från
payment.succeeded/subscription.active-webhooken i stället.
Ytterligare resurser
Om du har frågor eller behöver support kan du kontakta support@dodopayments.com.