Skip to main content

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.
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 enda start(...)-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+.
status som du får tillbaka är en UI-indikation, inte ett bevis på betalning. Bekräfta varje betalning från din backend via payment.succeeded / subscription.active webhook, eller genom att hämta betalningen med din secret key.

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 exempel myapp://checkout/return. Registrera det en gång per plattform:
android/app/build.gradle
SDK:ets eget manifest deklarerar redan redirect-aktiviteten, så det finns ingen manifest-XML att lägga till.
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_url till klienten.
  • Auktoritet: Behandla CheckoutResult.status som 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 cancelled som 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 returnUrl måste matcha det du registrerade. På Android är det dodoCallbackScheme i manifest-platshållaren; på iOS och React Native är det Info.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 en Linking-lyssnare i React Native.
  • PLATFORM_ERROR på Android: Oftast beror det på att schemat inte matchar. Det kan också visas om din MainActivity anger android:taskAffinity="" (standardvärdet i flutter 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.
Senast ändrad 31 juli 2026