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 öppnarMobile Integration Guide
Bästa praxis för mobila checkout-flöden
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 Värdet måste matcha schemat i
${dodoCallbackScheme}, så den här enda egenskapen är hela konfigurationen —
du behöver inte lägga till någon manifest-XML:build.gradle.kts
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.- Launcher (Recommended)
- Suspend Function
Registrera kontraktet med
registerForActivityResult och starta det sedan:Vad resultatet betyder
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
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 encheckout.dodopayments.comsession URL.INVALID_RETURN_URL: inte en giltig absolut URL.ALREADY_IN_PROGRESS: en checkout körs redan.PLATFORM_ERROR: oväntat plattformsfel, inklusive enreturnUrlvars schema inte matchar dindodoCallbackSchemeplaceholder.
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