Skip to main content
Detta är det officiella iOS checkout SDK:t från Dodo Payments för Swift. Det öppnar Dodos hosted checkout i en inbyggd webbläsarvy och returnerar ett typat resultat.

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.
iOS SDK:t öppnar Dodos hosted checkout i SFSafariViewController, lagrar ingen API key och anropar aldrig Dodo API direkt. All checkout-logik körs i webbläsaren; SDK:t hanterar endast vylivscykeln och fångar upp return URL. Kräver iOS 16+, Swift 6.

Installation

1

Add the Package

I Xcode går du till File → Add Package Dependencies och anger:
Välj version 1.0.0 eller senare.Alternativt kan du lägga till detta i din Package.swift:
Package.swift
2

Register a Callback URL Scheme

Din app måste registrera ett URL scheme för att ta emot return URL från checkout. Lägg till detta i din Info.plist:
Info.plist
Du kan också lägga till detta via Xcodes Info → URL Types-gränssnitt.

Användning

Vidarebefordra Return URL

SFSafariViewController har inget sätt i processen att fånga upp sin egen return URL. Din app måste vidarebefordra inkommande URL:er till SDK:t.
Det är säkert att vidarebefordra varje URL här. handleOpenURL agerar endast på URL:er som matchar ditt registrerade returnUrl och returnerar false för allt annat.

Vad resultatet betyder

result.status är en UI-hint, 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 return URL innehöll en sådan. Visa den i gränssnittet, men använd den inte för att ge åtkomst. Se Verifiera betalningen nedan.
String?
Anges för subscription-checkouts.
[String]?
Anges när checkout inkluderar license key-produkter.
String?
Anges när checkout samlar in en e-postadress.
[String: String]
Alla query-parametrar från return URL, 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.
Ge åtkomst efter att en av dessa bekräftar betalningen, aldrig enbart från result.status.

Fel

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

Övergivna sessioner

Om appen avslutas mitt under checkout återställer du sessionen vid nästa start och stämmer av den mot din backend.

Relaterat

Mobile Integration Guide

Samma kontrakt för Android, React Native och Flutter.

React Native SDK

Wrappat runt samma Swift-kärna på iOS.
Senast ändrad 31 juli 2026