Skip to main content
Detta är det officiella Android checkout SDK (com.dodopayments.api:checkout-android), för att öppna Dodos hosted checkout. Det skiljer sig från backend Kotlin SDK, som anropar Dodo Payments API från din server.

Checkout Sessions API

Skapa checkout_url som detta SDK öppnar

Mobile Integration Guide

Bästa praxis för mobila checkout-flöden
Android SDK öppnar Dodos hosted checkout i en Chrome Custom Tab med androidx.browser.customtabs. Det innehåller ingen nätverkskod och lagrar ingen API key. Du skickar en checkoutUrl från checkout session på din backend, och SDK:t returnerar en typad CheckoutResult när användaren slutför eller avbryter flödet. Krav: minSdk 23, Kotlin, Java 17.

Installation

1

Add the Dependency

build.gradle.kts
2

Register a Callback URL Scheme

Ange ditt callback scheme som en Gradle manifest placeholder. Bibliotekets eget manifest deklarerar redan redirect activity:s intent filter med token ${dodoCallbackScheme}, så den här enda egenskapen är hela konfigurationen — du behöver inte lägga till någon manifest-XML:
build.gradle.kts
Värdet måste matcha schemat i CheckoutParams.returnUrl (t.ex. myapp://checkout/return).
Om du utelämnar placeholder helt misslyckas bygget omedelbart med ett fel om olöst placeholder, i stället för att misslyckas tyst vid checkout. Om du anger den men den inte matchar schemat för returnUrl, kastar DodoCheckout.start PLATFORM_ERROR innan något visas.

Användning

SDK:t stöder två sätt att anropa det.

Vad resultatet betyder

Fältet status är en UI-hint, inte ett bevis på betalning. Verifiera alltid betalningen på din backend med webhooks eller endpointen Get Payment Detail innan du beviljar åtkomst.
CheckoutStatus
obligatorisk
En av SUCCEEDED, FAILED, CANCELLED, PENDING, EXPIRED.
String?
Anges när return URL innehöll en sådan. Visa den i UI:t, men använd den inte för att bevilja åtkomst. Se Verify the Payment nedan.
String?
Anges för subscription checkouts.
List<String>?
Anges när checkouten innehåller license key-produkter.
String?
Anges när checkouten samlar in en e-postadress.
Map<String, String>
Varje query parameter från return URL, ordagrant.

Verifiera betalningen

Webhooks

Lyssna på betalningshändelser i realtid

Get Payment Detail

Fråga efter betalningsstatus vid behov
Bevilja användaren åtkomst först efter att något av dessa har bekräftat betalningen. Förlita dig inte enbart på CheckoutResult.status.

Fel

DodoCheckout.start kastar CheckoutError endast vid felaktig användning eller ett plattformsfel. Läs koden från CheckoutError.code:
  • INVALID_CHECKOUT_URL: inte en checkout.dodopayments.com session URL.
  • INVALID_RETURN_URL: inte en giltig absolut URL.
  • ALREADY_IN_PROGRESS: en checkout körs redan.
  • PLATFORM_ERROR: oväntat plattformsfel, inklusive en returnUrl vars schema inte matchar din dodoCallbackScheme placeholder.
Om en användare avbryter eller en betalning nekas är resultatet alltid ett resultat (CANCELLED eller FAILED), aldrig ett kastat fel. Med launcher-sättet kastas valideringsfel ut från launcher.launch(...).

Övergivna sessioner

Om appen avslutas eller användaren tvångsstoppar den under checkout lagrar SDK:t sessionen lokalt. Nästa gång appen startas kontrollerar du om det finns en övergiven session och synkroniserar den med din backend:
abandoned.createdAt är en epoch-tidsstämpel i millisekunder.

Relaterat

Mobile Integration Guide

Bästa praxis för mobila checkout-flöden

Kotlin SDK

Backend SDK för server-side-operationer
Senast ändrad 31 juli 2026