यह आधिकारिक 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 में कैसे फिट होता है।
SFSafariViewController और Android पर Chrome Custom Tab खोलता है, कोई API key नहीं रखता और Dodo API को सीधे कभी call नहीं करता। Checkout का पूरा logic browser में चलता है; SDK केवल view lifecycle को manage करता है और return URL को capture करता है।
Installation
1
Install the Package
- Android
- iOS
- Expo
Package autolinked है और Maven से किसी अतिरिक्त setup की आवश्यकता नहीं है; native dependency अपने-आप resolve हो जाती है।
com.dodopayments.api:checkout-android प्राप्त करता है।2
Register a Callback URL Scheme
आपके app को checkout से return URL प्राप्त करने के लिए एक URL scheme register करनी होगी।
- Android (Gradle)
- iOS (Info.plist)
- Expo (both platforms)
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 का अर्थ
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 करें।result.status के आधार पर कभी नहीं।
Errors
start केवल misuse या platform failure की स्थिति में CheckoutError के साथ reject होता है। Cancelled या declined payment हमेशा result होता है, exception नहीं।
INVALID_CHECKOUT_URL: validcheckout.dodopayments.comsession 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 करें।Related
Mobile Integration Guide
Android, iOS और Flutter के लिए वही contract।
Expo Boilerplate
checkout integration के साथ एक complete Expo example।