Skip to main content
यह Swift के लिए आधिकारिक Dodo Payments iOS checkout SDK है। यह Dodo का hosted checkout native browser view में खोलता है और typed result लौटाता है।

Checkout Sessions API

अपने backend से वह checkout_url बनाएँ जिसे यह SDK खोलेगा।

Mobile Integration Guide

देखें कि यह संपूर्ण mobile payment flow में कैसे शामिल होता है।
iOS SDK Dodo का hosted checkout SFSafariViewController में खोलता है, कोई API key नहीं रखता और Dodo API को सीधे कभी कॉल नहीं करता। Checkout का पूरा logic browser में चलता है; SDK केवल view lifecycle प्रबंधित करता है और return URL कैप्चर करता है। iOS 16+ और Swift 6 आवश्यक हैं।

इंस्टॉलेशन

1

Add the Package

Xcode में File → Add Package Dependencies पर जाएँ और दर्ज करें:
संस्करण 1.0.0 या उसके बाद का संस्करण चुनें।वैकल्पिक रूप से, इसे अपने Package.swift में जोड़ें:
Package.swift
2

Register a Callback URL Scheme

Checkout से return URL प्राप्त करने के लिए आपके ऐप को एक URL scheme पंजीकृत करनी होगी। इसे अपने Info.plist में जोड़ें:
Info.plist
आप इसे Xcode के Info → URL Types UI के माध्यम से भी जोड़ सकते हैं।

उपयोग

Return URL को forward करना

SFSafariViewController के पास अपने return URL को पकड़ने का कोई in-process तरीका नहीं है। आपके ऐप को आने वाले URLs को SDK में forward करना होगा।
यहाँ हर URL को forward करना सुरक्षित है। handleOpenURL केवल आपके पंजीकृत returnUrl से मेल खाने वाले URLs पर काम करता है और अन्य सभी के लिए false लौटाता है।

Result का अर्थ

result.status एक UI संकेत है, payment का प्रमाण नहीं। हर payment की पुष्टि अपने backend से, payment.succeeded / subscription.active webhook के माध्यम से करें।
CheckoutStatus
आवश्यक
इनमें से कोई एक: succeeded, failed, cancelled, pending, expired
String?
जब return URL में इनमें से कोई शामिल हो, तब सेट होता है। इसे UI में दिखाएँ, access देने के लिए इसका उपयोग न करें। नीचे Verify the Payment देखें।
String?
Subscription checkouts के लिए सेट होता है।
[String]?
जब checkout में license key products शामिल हों, तब सेट होता है।
String?
जब checkout में email कैप्चर हो, तब सेट होता है।
[String: String]
Return URL का हर query parameter, जैसा का तैसा।

Payment सत्यापित करें

Webhooks

Payment सफल होने या subscription सक्रिय होने पर Dodo Payments आपके backend को कॉल करता है।

Get Payment Detail

इसकी स्थिति सीधे जाँचने के लिए अपनी secret key से paymentId देखें।
इनमें से किसी एक से payment की पुष्टि होने के बाद access दें; केवल result.status के आधार पर कभी नहीं।

Errors

start केवल गलत उपयोग या platform failure के लिए CheckoutError throw करता है। Cancelled या declined payment हमेशा result होता है, exception नहीं।
  • invalidCheckoutUrl (INVALID_CHECKOUT_URL): यह कोई checkout.dodopayments.com session URL नहीं है।
  • invalidReturnUrl (INVALID_RETURN_URL): यह मान्य absolute URL नहीं है।
  • alreadyInProgress (ALREADY_IN_PROGRESS): कोई checkout पहले से चल रहा है।
  • platformError (PLATFORM_ERROR): अप्रत्याशित platform failure।

Abandoned Sessions

यदि checkout के बीच में ऐप बंद हो जाए, तो अगले launch पर session recover करें और अपने backend के साथ उसका reconciliation करें।

संबंधित

Mobile Integration Guide

Android, React Native और Flutter के लिए यही contract।

React Native SDK

iOS पर इसी Swift core को wrap करता है।
अंतिम संशोधन 31 जुलाई 2026