Skip to main content
यह आधिकारिक Dodo Payments React Native checkout SDK है, @dodopayments/react-native-checkout। यह Dodo’s hosted checkout को native browser view में खोलता है और typed result लौटाता है। ध्यान दें: dodopayments-react-native-sdk (unscoped) नाम का एक पुराना, असंबंधित package मौजूद है, जिसका API पूरी तरह अलग है। यह पेज केवल वर्तमान आधिकारिक scoped package का documentation है।

Checkout Sessions API

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

Mobile Integration Guide

देखें कि यह पूरे mobile payment flow में कैसे फिट होता है।
React Native SDK उसी native Swift और Kotlin cores के ऊपर एक thin Turbo Module wrapper है। यह iOS पर SFSafariViewController और Android पर Chrome Custom Tab खोलता है, कोई API key नहीं रखता और Dodo API को सीधे कभी call नहीं करता। Checkout का पूरा logic browser में चलता है; SDK केवल view lifecycle को manage करता है और return URL को capture करता है।
इस SDK के लिए केवल New Architecture, React Native 0.76+, iOS 16+ और Android minSdk 24 आवश्यक हैं।

Installation

1

Install the Package

Package autolinked है और Maven से com.dodopayments.api:checkout-android प्राप्त करता है।
किसी अतिरिक्त setup की आवश्यकता नहीं है; native dependency अपने-आप resolve हो जाती है।
2

Register a Callback URL Scheme

आपके app को checkout से return URL प्राप्त करने के लिए एक URL scheme register करनी होगी।
android/app/build.gradle में:
android/app/build.gradle
"myapp" को अपने app की scheme से बदलें।

Usage

Return URL को Forward करना

iOS के return-URL handling के लिए Linking listener आवश्यक है। Android पर handleOpenURL एक no-op है जो false resolve करता है, क्योंकि Android core अपने redirect को native रूप से handle करता है। दोनों platforms पर listener को unconditional रूप से register करना सुरक्षित है।

Result का अर्थ

result.status एक UI hint है, payment का प्रमाण नहीं। हर payment को अपने backend से payment.succeeded / subscription.active webhook के माध्यम से confirm करें।
CheckoutStatus
आवश्यक
succeeded, failed, cancelled, pending या expired में से कोई एक।
string
जब return URL में कोई शामिल हो, तब set होता है। इसे UI में display करें, access देने के लिए इसका उपयोग न करें। नीचे Verify the Payment देखें।
string
Subscription checkouts के लिए set होता है।
string[]
Checkout में license key products शामिल होने पर set होता है।
string
Checkout द्वारा email capture किए जाने पर set होता है।
Record<string, string>
Return URL के सभी query parameters, verbatim।

Payment Verify करें

Webhooks

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

Get Payment Detail

इसकी status सीधे जाँचने के लिए अपने secret key से paymentId को look up करें।
इनमें से कोई payment confirm करने के बाद access दें; केवल result.status के आधार पर कभी नहीं।

Errors

start केवल misuse या platform failure की स्थिति में CheckoutError के साथ reject होता है। Cancelled या declined payment हमेशा result होता है, exception नहीं।
  • INVALID_CHECKOUT_URL: valid checkout.dodopayments.com session URL नहीं है।
  • INVALID_RETURN_URL: valid absolute URL नहीं है।
  • ALREADY_IN_PROGRESS: checkout पहले से चल रहा है।
  • PLATFORM_ERROR: unexpected platform failure।

Abandoned Sessions

यदि checkout के बीच में app या JS bundle kill हो जाता है, तो promise खो जाता है लेकिन native layer session को बनाए रखता है। अगले mount पर इसे recover करें और अपने backend के साथ reconcile करें।

Mobile Integration Guide

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

Expo Boilerplate

checkout integration के साथ एक complete Expo example।
अंतिम संशोधन 31 जुलाई 2026