Skip to main content
Detta är det officiella Dodo Payments React Native checkout-SDK:t, @dodopayments/react-native-checkout. Det öppnar Dodo’s hosted checkout i en inbyggd webbläsarvy och returnerar ett typat resultat. Obs! Det finns ett äldre, orelaterat paket med namnet dodopayments-react-native-sdk (utan scope) med ett helt annat API. Den här sidan dokumenterar endast det aktuella officiella paketet med scope.

Checkout Sessions API

Skapa checkout_url som detta SDK öppnar från din backend.

Mobile Integration Guide

Se hur detta passar in i det fullständiga mobila betalningsflödet.
React Native SDK är ett tunt Turbo Module-omslag runt samma inbyggda Swift- och Kotlin-kärnor. Det öppnar SFSafariViewController på iOS och en Chrome Custom Tab på Android, innehåller ingen API-nyckel och anropar aldrig Dodo API direkt. All checkout-logik körs i webbläsaren; SDK:t hanterar bara vyernas livscykel och fångar upp retur-URL:en.
Detta SDK kräver endast New Architecture, React Native 0.76+, iOS 16+ och Android minSdk 24.

Installation

1

Install the Package

Paketet länkas automatiskt och hämtar com.dodopayments.api:checkout-android från Maven.
Ingen ytterligare konfiguration krävs; den inbyggda beroendet löses automatiskt.
2

Register a Callback URL Scheme

Din app måste registrera ett URL-schema för att ta emot retur-URL:en från checkout.
I android/app/build.gradle:
android/app/build.gradle
Ersätt "myapp" med din apps schema.

Användning

Vidarebefordra retur-URL:en

Lyssnaren Linking krävs för iOS-hantering av retur-URL:er. På Android är handleOpenURL en no-op som löser false, eftersom Android-kärnan hanterar omdirigeringen inbyggt. Det är säkert att registrera lyssnaren ovillkorligen på båda plattformarna.

Vad resultatet betyder

result.status är en UI-ledtråd, inte ett bevis på betalning. Bekräfta varje betalning från din backend via webhooken payment.succeeded / subscription.active.
CheckoutStatus
obligatorisk
En av succeeded, failed, cancelled, pending, expired.
string
Anges när retur-URL:en innehöll en sådan. Visa den i UI:t, men använd den inte för att bevilja åtkomst. Se Verifiera betalningen nedan.
string
Anges för subscription-checkouts.
string[]
Anges när checkout innehåller produkter med license keys.
string
Anges när checkout samlar in en e-postadress.
Record<string, string>
Varje query-parameter från retur-URL:en, ordagrant.

Verifiera betalningen

Webhooks

Dodo Payments anropar din backend när en betalning lyckas eller en subscription aktiveras.

Get Payment Detail

Slå upp paymentId med din secret key för att kontrollera dess status direkt.
Bevilja åtkomst först när någon av dessa bekräftar betalningen, aldrig enbart från result.status.

Fel

start avvisar med ett CheckoutError endast vid felaktig användning eller ett plattformsfel. En avbruten eller nekad betalning är alltid ett resultat, aldrig ett undantag.
  • INVALID_CHECKOUT_URL: inte en session-URL för checkout.dodopayments.com.
  • INVALID_RETURN_URL: inte en giltig absolut URL.
  • ALREADY_IN_PROGRESS: en checkout körs redan.
  • PLATFORM_ERROR: oväntat plattformsfel.

Övergivna sessioner

Om appen eller JS-bundlen avslutas mitt under checkout går promiset förlorat, men det inbyggda lagret behåller sessionen. Återställ den vid nästa mount och stäm av den mot din backend.

Relaterat

Mobile Integration Guide

Samma kontrakt för Android, iOS och Flutter.

Expo Boilerplate

Ett komplett Expo-exempel med checkout-integration.
Senast ändrad 31 juli 2026