Skip to main content
यह आधिकारिक Dodo Payments Flutter package है (dodopayments_checkout pub.dev पर)। एक अलग, community-built package भी उपलब्ध है, देखें Community Projects

Checkout Sessions API

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

Mobile Integration Guide

देखें कि यह पूरे mobile payment flow में कैसे शामिल होता है।
dodopayments_checkout, iOS पर Dodo का hosted checkout SFSafariViewController में और Android पर Chrome Custom Tab में खोलता है — वही native cores जिन्हें standalone iOS और Android SDKs इस्तेमाल करते हैं। Checkout का पूरा logic उन्हीं native cores में रहता है; Dart layer typed Pigeon channel के माध्यम से call आगे भेजती है। इसमें कोई API key नहीं होती और यह कभी भी Dodo Payments API को call नहीं करता। इसके लिए Flutter 3.44+ / Dart 3.12+, iOS 16+ और Android minSdk 23 आवश्यक हैं।

Installation

1

Add the Dependency

pubspec.yaml
2

Register a Callback URL Scheme

अपने scheme के लिए ios/Runner/Info.plist में URL type जोड़ें:
ios/Runner/Info.plist
इसके बाद आने वाले URLs को (उदाहरण के लिए app_links के माध्यम से) SDK में forward करें, क्योंकि SFSafariViewController अपना return URL स्वयं catch नहीं कर सकता:
यहाँ हर URL को forward करना सुरक्षित है। handleOpenURL केवल उन URLs पर काम करता है जो आपके registered returnUrl से match करते हैं और अन्य सभी के लिए false resolve करता है।

Usage

Result का अर्थ

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

Payment की पुष्टि करें

Webhooks

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

Get Payment Detail

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

Errors

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

Abandoned Sessions

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

संबंधित सामग्री

Mobile Integration Guide

Android, iOS और React Native के लिए वही contract।

Community Projects

एक अलग, community-built Flutter package भी उपलब्ध है।
अंतिम संशोधन 31 जुलाई 2026