अवलोकन
इनलाइन चेकआउट आपको पूरी तरह से एकीकृत चेकआउट अनुभव बनाने की अनुमति देता है जो आपकी वेबसाइट या एप्लिकेशन के साथ सहजता से मिश्रित होता है। ओवरले चेकआउट के विपरीत, जो आपकी पृष्ठ पर एक मोडल के रूप में खुलता है, इनलाइन चेकआउट भुगतान फॉर्म को सीधे आपकी पृष्ठ लेआउट में एम्बेड करता है। इनलाइन चेकआउट का उपयोग करके, आप:- ऐसे चेकआउट अनुभव बनाएं जो आपके ऐप या वेबसाइट के साथ पूरी तरह से एकीकृत हों
- डोडो पेमेंट्स को सुरक्षित रूप से ग्राहक और भुगतान जानकारी एक अनुकूलित चेकआउट फ्रेम में कैप्चर करने दें
- अपनी पृष्ठ पर डोडो पेमेंट्स से आइटम, कुल और अन्य जानकारी प्रदर्शित करें
- उन्नत चेकआउट अनुभव बनाने के लिए SDK विधियों और घटनाओं का उपयोग करें

यह कैसे काम करता है
इनलाइन चेकआउट आपकी वेबसाइट या ऐप में एक सुरक्षित डोडो पेमेंट्स फ्रेम को एम्बेड करके काम करता है। चेकआउट फ्रेम ग्राहक जानकारी एकत्र करने और भुगतान विवरण कैप्चर करने का काम करता है। आपकी पृष्ठ पर आइटम सूची, कुल और चेकआउट पर जो कुछ है उसे बदलने के विकल्प प्रदर्शित होते हैं। SDK आपकी पृष्ठ और चेकआउट फ्रेम के बीच बातचीत करने की अनुमति देता है। डोडो पेमेंट्स स्वचालित रूप से एक चेकआउट पूरा होने पर एक सदस्यता बनाता है, जिसे आप प्रावधान करने के लिए तैयार कर सकते हैं।इनलाइन चेकआउट फ्रेम सभी संवेदनशील भुगतान जानकारी को सुरक्षित रूप से संभालता है, आपके पक्ष पर अतिरिक्त प्रमाणपत्र के बिना PCI अनुपालन सुनिश्चित करता है।
एक अच्छा इनलाइन चेकआउट क्या बनाता है?
यह महत्वपूर्ण है कि ग्राहकों को पता हो कि वे किससे खरीद रहे हैं, वे क्या खरीद रहे हैं, और वे कितना भुगतान कर रहे हैं। एक इनलाइन चेकआउट बनाने के लिए जो अनुपालन में हो और रूपांतरण के लिए अनुकूलित हो, आपकी कार्यान्वयन में शामिल होना चाहिए:
- दोहराने की जानकारी: यदि यह दोहराने वाला है, तो यह कितनी बार दोहराता है और नवीनीकरण पर कुल कितना भुगतान करना है। यदि यह एक परीक्षण है, तो परीक्षण कितने समय तक चलता है।
- आइटम विवरण: जो खरीदा जा रहा है उसका विवरण।
- लेनदेन कुल: लेनदेन कुल, जिसमें उप-योग, कुल कर, और समग्र कुल शामिल हैं। सुनिश्चित करें कि मुद्रा भी शामिल है।
- डोडो पेमेंट्स फ़ुटर: पूरा इनलाइन चेकआउट फ्रेम, जिसमें चेकआउट फ़ुटर शामिल है जिसमें डोडो पेमेंट्स, हमारी बिक्री की शर्तें, और हमारी गोपनीयता नीति के बारे में जानकारी है।
- रिफंड नीति: आपकी रिफंड नीति का एक लिंक, यदि यह डोडो पेमेंट्स की मानक रिफंड नीति से भिन्न है।
ग्राहक यात्रा
चेकआउट प्रवाह आपकी चेकआउट सत्र कॉन्फ़िगरेशन द्वारा निर्धारित होता है। जिस तरह से आप चेकआउट सत्र को कॉन्फ़िगर करते हैं, उसके आधार पर, ग्राहक एक चेकआउट का अनुभव करेंगे जो एक ही पृष्ठ पर सभी जानकारी प्रस्तुत कर सकता है या कई चरणों में।Customer opens checkout
आप आइटम या एक मौजूदा लेनदेन पास करके इनलाइन चेकआउट खोल सकते हैं। पृष्ठ पर जानकारी दिखाने और अपडेट करने के लिए SDK का उपयोग करें, और ग्राहक इंटरैक्शन के आधार पर आइटम अपडेट करने के लिए SDK विधियों का उपयोग करें।

Customer enters their details
इनलाइन चेकआउट पहले ग्राहकों से उनके ईमेल पते, उनके देश का चयन करने, और (जहां आवश्यक हो) उनके ZIP या पोस्टल कोड दर्ज करने के लिए कहता है। यह चरण सभी आवश्यक जानकारी एकत्र करता है ताकि कर और उपलब्ध भुगतान विकल्पों का निर्धारण किया जा सके।आप ग्राहक विवरण को पूर्व-भर सकते हैं और अनुभव को सरल बनाने के लिए सहेजे गए पते प्रस्तुत कर सकते हैं।
Customer selects payment method
अपने विवरण दर्ज करने के बाद, ग्राहकों को उपलब्ध भुगतान विधियों और भुगतान फॉर्म के साथ प्रस्तुत किया जाता है। विकल्पों में क्रेडिट या डेबिट कार्ड, PayPal, Apple Pay, Google Pay, और उनके स्थान के आधार पर अन्य स्थानीय भुगतान विधियाँ शामिल हो सकती हैं।यदि उपलब्ध हो तो चेकआउट को तेज़ करने के लिए सहेजे गए भुगतान विधियों को प्रदर्शित करें।

Checkout completed
डोडो पेमेंट्स हर भुगतान को उस बिक्री के लिए सबसे अच्छे अधिग्रहणकर्ता के पास रूट करता है ताकि सफलता की सबसे अच्छी संभावना मिल सके। ग्राहक एक सफलता कार्यप्रवाह में प्रवेश करते हैं जिसे आप बना सकते हैं।

त्वरित प्रारंभ
कुछ कोड की पंक्तियों में Dodo Payments इनलाइन चेकआउट के साथ शुरू करें:चरण-दर-चरण एकीकरण गाइड
Initialize the SDK for Inline Display
SDK को इनिशियलाइज़ करें और
displayType: 'inline' निर्दिष्ट करें। आपको checkout.breakdown इवेंट को भी सुनना चाहिए ताकि आप अपने UI को वास्तविक समय के कर और कुल गणनाओं के साथ अपडेट कर सकें।Open the Checkout
अपने कंटेनर के
checkoutUrl और elementId के साथ DodoPayments.Checkout.open() कॉल करें:Test Your Integration
- अपने विकास सर्वर को प्रारंभ करें:
- चेकआउट प्रवाह का परीक्षण करें:
- इनलाइन फ्रेम में अपना ईमेल और पता विवरण दर्ज करें।
- सत्यापित करें कि आपका कस्टम ऑर्डर सारांश वास्तविक समय में अपडेट होता है।
- परीक्षण क्रेडेंशियल्स का उपयोग करके भुगतान प्रवाह का परीक्षण करें।
- पुष्टि करें कि रीडायरेक्ट सही ढंग से काम करते हैं।
यदि आपने
onEvent कॉलबैक में एक कंसोल लॉग जोड़ा है, तो आपको ब्राउज़र कंसोल में checkout.breakdown इवेंट्स लॉग होते हुए दिखने चाहिए।पूर्ण React उदाहरण
यह उदाहरण दिखाता है कि कैसे इनलाइन चेकआउट के साथ एक कस्टम ऑर्डर सारांश को लागू किया जाए,checkout.breakdown इवेंट का उपयोग करके उन्हें सिंक में रखा जाए।
API संदर्भ
कॉन्फ़िगरेशन
प्रारंभिक विकल्प
| विकल्प | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
mode | "test" | "live" | Yes | Environment mode. |
displayType | "inline" | "overlay" | Yes | Must be set to "inline" to embed the checkout. |
onEvent | function | Yes | Callback function for handling checkout events. |
चेकआउट विकल्प
| विकल्प | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
checkoutUrl | string | हाँ | चेकआउट सेशन URL। |
elementId | string | हाँ | उस DOM एलिमेंट का id जहां चेकआउट रेंडर किया जाना चाहिए। |
options.showTimer | boolean | नहीं | चेकआउट टाइमर को दिखाएँ या छिपाएँ। डिफ़ॉल्ट true है। जब अक्षम हो, तो SESSION समाप्त होने पर checkout.link_expired इवेंट प्राप्त होगा। |
options.showSecurityBadge | boolean | नहीं | सुरक्षा बैज को दिखाएँ या छिपाएँ। डिफ़ॉल्ट true है। |
options.manualRedirect | boolean | नहीं | सक्षम होने पर, चेकआउट पूरा होने के बाद स्वचालित रूप से रीडायरेक्ट नहीं करेगा। इसके बजाय, आप स्वयं रीडायरेक्ट संभालने के लिए checkout.status और checkout.redirect_requested इवेंट्स प्राप्त करेंगे। |
options.payButtonText | string | नहीं | पे बटन पर दिखाने के लिए कस्टम टेक्स्ट। |
options.fontSize | FontSize | नहीं | चेकआउट के लिए ग्लोबल फॉन्ट साइज। |
options.fontWeight | FontWeight | नहीं | चेकआउट के लिए ग्लोबल फॉन्ट वेट। |
विधियाँ
चेकआउट खोलें
निर्दिष्ट कंटेनर में चेकआउट फ्रेम खोलता है।manualRedirect का उपयोग करते समय, अपने onEvent कॉलबैक में चेकआउट पूर्णता को संभालें:
चेकआउट बंद करें
प्रोग्रामेटिक रूप से चेकआउट फ्रेम को हटा देता है और इवेंट लिस्नर्स को साफ करता है।स्थिति की जांच करें
यह लौटाता है कि चेकआउट फ्रेम वर्तमान में इंजेक्ट किया गया है या नहीं।घटनाएँ
SDKonEvent कॉलबैक के माध्यम से वास्तविक समय की घटनाएँ प्रदान करता है। इनलाइन चेकआउट के लिए, checkout.breakdown आपका UI सिंक करने में विशेष रूप से उपयोगी है।
| घटना प्रकार | विवरण |
|---|---|
checkout.opened | चेकआउट फ़्रेम लोड हो चुका है। |
checkout.form_ready | चेकआउट फ़ॉर्म उपयोगकर्ता इनपुट लेने के लिए तैयार है। लोडिंग स्टेट्स छिपाने और चेकआउट UI दिखाने के लिए उपयोगी। |
checkout.breakdown | जब कीमतें, कर या छूट अपडेट होती हैं तो ट्रिगर होता है। |
checkout.customer_details_submitted | ग्राहक विवरण सबमिट हो चुके हैं। |
checkout.pay_button_clicked | जब ग्राहक पे बटन पर क्लिक करता है तो ट्रिगर होता है। एनालिटिक्स और कन्वर्शन फ़नलों की ट्रैकिंग के लिए उपयोगी। |
checkout.redirect | चेकआउट रीडायरेक्ट करेगा (जैसे बैंक पेज पर)। |
checkout.error | चेकआउट के दौरान त्रुटि हुई। |
checkout.link_expired | जब चेकआउट सत्र समाप्त हो जाता है तब ट्रिगर होता है। केवल तब प्राप्त होता है जब showTimer false पर सेट हो। |
checkout.status | जब manualRedirect सक्षम होता है तो ट्रिगर होता है। इसमें चेकआउट स्थिति (succeeded, failed, या processing) शामिल होती है। |
checkout.redirect_requested | जब manualRedirect सक्षम होता है तो ट्रिगर होता है। इसमें ग्राहक को रीडायरेक्ट करने के लिए URL शामिल होता है। |
चेकआउट ब्रेकडाउन डेटा
checkout.breakdown इवेंट निम्न डेटा प्रदान करता है:
चेकआउट स्थिति घटना डेटा
जबmanualRedirect सक्षम होता है, तो आपको निम्न डेटा के साथ checkout.status इवेंट प्राप्त होता है:
चेकआउट पुनर्निर्देशन अनुरोध की गई घटना डेटा
जबmanualRedirect सक्षम होता है, तो आपको निम्न डेटा के साथ checkout.redirect_requested इवेंट प्राप्त होता है:
ब्रेकडाउन घटना को समझना
checkout.breakdown इवेंट आपके एप्लिकेशन के UI को Dodo Payments चेकआउट स्थिति के साथ सिंक में रखने का प्राथमिक तरीका है।
जब यह फायर होता है:
- प्रारंभ में: चेकआउट फ्रेम लोड होने और तैयार होने के तुरंत बाद।
- पता परिवर्तन पर: जब भी ग्राहक एक देश का चयन करता है या एक पोस्टल कोड दर्ज करता है जो कर पुनर्गणना का परिणाम देता है।
| फील्ड | विवरण |
|---|---|
subTotal | सत्र में सभी लाइन आइटम्स का योग, किसी भी छूट या कर लागू होने से पहले। |
discount | लागू की गई सभी छूटों का कुल मूल्य। |
tax | गणना किया गया कर राशि। inline मोड में, जैसे-जैसे उपयोगकर्ता पता फ़ील्ड के साथ इंटरैक्ट करता है यह गतिशील रूप से अपडेट होता है। |
total | सत्र की बेस करेंसी में subTotal - discount + tax का गणितीय परिणाम। |
currency | ISO मुद्रा कोड (उदा., "USD") मानक सबटोटल, छूट, और कर मानों के लिए। |
finalTotal | वास्तविक राशि जो ग्राहक से चार्ज की जाती है। इसमें अतिरिक्त विदेशी विनिमय समायोजन या स्थानीय भुगतान विधि शुल्क शामिल हो सकते हैं जो मूल मूल्य ब्रेकडाउन का हिस्सा नहीं होते। |
finalTotalCurrency | वह मुद्रा जिसमें ग्राहक वास्तव में भुगतान कर रहा है। यदि क्रय शक्ति समता या स्थानीय मुद्रा रूपांतरण सक्रिय है, तो यह currency से अलग हो सकती है। |
- Currency Formatting: Prices are always returned as integers in the smallest currency unit (e.g., cents for USD, yen for JPY). To display them, divide by 100 (or the appropriate power of 10) or use a formatting library like
Intl.NumberFormat. - Handling Initial States: When the checkout first loads,
taxanddiscountmay be0ornulluntil the user provides their billing information or applies a code. Your UI should handle these states gracefully (e.g., showing a dash—or hiding the row). - The “Final Total” vs “Total”: While
totalgives you the standard price calculation,finalTotalis the source of truth for the transaction. IffinalTotalis present, it reflects exactly what will be charged to the customer’s card, including any dynamic adjustments. - Real-time Feedback: Use the
taxfield to show users that taxes are being calculated in real-time. This provides a “live” feel to your checkout page and reduces friction during the address entry step.
कार्यान्वयन विकल्प
पैकेज प्रबंधक स्थापना
npm, yarn, या pnpm के माध्यम से स्थापना करें जैसा कि चरण-दर-चरण एकीकरण गाइड में दिखाया गया है।CDN कार्यान्वयन
बिना किसी निर्माण चरण के त्वरित एकीकरण के लिए, आप हमारे CDN का उपयोग कर सकते हैं:भुगतान विधि अपडेट करें
इनलाइन चेकआउट सबस्क्रिप्शन के लिए भुगतान विधि अपडेट का समर्थन करता है। जब किसी ग्राहक को अपनी भुगतान विधि अपडेट करनी हो — चाहे वह सक्रिय सबस्क्रिप्शन के लिए हो या ऑन-होल्ड सबस्क्रिप्शन को पुनः सक्रिय करने के लिए — आप अपडेट फ्लो को सीधे अपने पेज लेआउट में रेंडर कर सकते हैं।यह कैसे काम करता है
- Update Payment Method API को कॉल करें ताकि आप
payment_linkप्राप्त कर सकें:
- लौटाए गए
payment_linkकोcheckoutUrlके रूप में पास करें ताकि इनलाइन चेकआउट खुल जाए:
ऑन-होल्ड सबस्क्रिप्शनों के लिए
जबon_hold स्थिति में किसी सबस्क्रिप्शन के लिए भुगतान विधि अपडेट की जाती है, तो Dodo Payments स्वचालित रूप से किसी भी शेष बकाया के लिए चार्ज बनाता है। पुनक्रियान्वयन की पुष्टि के लिए payment.succeeded और subscription.active वेबहुक्स की निगरानी करें।
त्रुटि प्रबंधन
SDK इवेंट सिस्टम के माध्यम से विस्तृत त्रुटि जानकारी प्रदान करता है। अपनेonEvent कॉलबैक में हमेशा उचित त्रुटि प्रबंधन लागू करें:
सर्वोत्तम अभ्यास
- रिस्पॉन्सिव डिज़ाइन: सुनिश्चित करें कि आपके कंटेनर एलिमेंट की चौड़ाई और ऊँचाई पर्याप्त हो। iframe आमतौर पर अपने कंटेनर को भरने के लिए फैलता है।
- सिंक:
checkout.breakdownइवेंट का उपयोग करके अपने कस्टम ऑर्डर सारांश या प्राइसिंग टेबल को चेकआउट फ्रेम में दिख रही चीज़ों के साथ सिंक में रखें। - स्केलेटन स्टेट्स:
checkout.openedइवेंट फायर होने तक अपने कंटेनर में लोडिंग संकेत दिखाएँ। - क्लीनअप: अपने कंपोनेंट के अनमाउंट होने पर
DodoPayments.Checkout.close()कॉल करें ताकि iframe और इवेंट लिसनर्स साफ़ हो जाएँ।
डार्क मोड कार्यान्वयन के लिए, इनलाइन चेकआउट फ्रेम के साथ बेहतर दृश्य एकीकरण के लिए पृष्ठभूमि रंग के रूप में
#0d0d0d का उपयोग करने की सिफारिश की जाती है।भुगतान स्थिति सत्यापन
सर्वर-साइड सत्यापन क्यों आवश्यक है
checkout.status जैसी इनलाइन चेकआउट इवेंट्स वास्तविक समय प्रतिक्रिया देती हैं, फिर भी वे भुगतान स्थिति के लिए आपका एकमात्र सत्यता स्रोत नहीं होनी चाहिए। नेटवर्क समस्याएँ, ब्राउज़र क्रैश या उपयोगकर्ता पेज बंद करने से इवेंट्स छूट सकती हैं। विश्वसनीय भुगतान सत्यापन सुनिश्चित करने के लिए:
- आपका सर्वर वेबहुक इवेंट्स सुनना चाहिए - Dodo Payments भुगतान स्थिति परिवर्तनों के लिए वेबहुक्स भेजता है
- एक पोलिंग मैकेनिज़्म लागू करें - आपका फ्रंटएंड स्थिति अपडेट्स के लिए आपके सर्वर को पोल करे
- दोनों तरीकों को मिलाएं - वेबहुक्स को प्राथमिक स्रोत के रूप में उपयोग करें और पोलिंग को बैकअप के रूप में
अनुशंसित संरचना
कार्यान्वयन चरण
1. चेकआउट इवेंट्स सुनें - जब उपयोगकर्ता पे पर क्लिक करे, तो स्थिति की पुष्टि की तैयारी शुरू करें:payment.succeeded या payment.failed वेबहुक्स भेजे, तो अपने डेटाबेस को अपडेट करें। विस्तृत जानकारी के लिए हमारी Webhooks documentation देखें।
रीडायरेक्ट्स संभालना (3DS, Google Pay, UPI)
जबmanualRedirect: true का उपयोग कर रहे हों, तो कुछ भुगतान विधियों को प्रमाणीकरण के लिए उपयोगकर्ता को आपके पेज से दूर रीडायरेक्ट करने की आवश्यकता होती है:
- 3D Secure (3DS) - कार्ड प्रमाणीकरण
- Google Pay - कुछ फ्लो में वॉलेट प्रमाणीकरण
- UPI - भारतीय भुगतान विधि रीडायरेक्ट्स
checkout.redirect_requested इवेंट प्राप्त होगा। दिए गए URL पर उपयोगकर्ता को रीडायरेक्ट करें:
- जांचें कि क्या उपयोगकर्ता किसी रीडायरेक्ट से लौट रहा है (उदा.
sessionStorageके माध्यम से) - पुष्टि किए गए भुगतान स्थिति के लिए अपने सर्वर को पोल करना शुरू करें
- पोलिंग के दौरान “भुगतान की पुष्टि कर रहे हैं…” स्थिति दिखाएँ
- सर्वर-पुष्टि की गई स्थिति के आधार पर सफलता/विफलता UI दिखाएँ
समस्या निवारण
Checkout frame is not appearing
Checkout frame is not appearing
- सत्यापित करें कि
elementIdउसidसे मेल खाता है जो DOM में वास्तव में मौजूदdivसे संबंधित है। - सुनिश्चित करें कि
displayType: 'inline'Initializeको पास किया गया था। - चेक करें कि
checkoutUrlमान्य है।
Taxes are not updating in my UI
Taxes are not updating in my UI
- सुनिश्चित करें कि आप
checkout.breakdownइवेंट सुन रहे हैं। - कर केवल तभी गणना किए जाते हैं जब उपयोगकर्ता चेकआउट फ्रेम में एक मान्य देश और पोस्टल कोड दर्ज करे।
डिजिटल वॉलेट सक्षम करना
Apple Pay, Google Pay और अन्य डिजिटल वॉलेट्स सेटअप के बारे में विस्तृत जानकारी के लिए Digital Wallets पेज देखें।Apple Pay के लिए त्वरित सेटअप
Download domain association file
Apple Pay domain association file डाउनलोड करें।
Request activation
अपने प्रोडक्शन डोमेन URL के साथ support@dodopayments.com को ईमेल करें और Apple Pay सक्रियण का अनुरोध करें।
ब्राउज़र समर्थन
Dodo Payments Checkout SDK निम्न ब्राउज़रों का समर्थन करता है:- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- IE11+
इनलाइन बनाम ओवरले चेकआउट
अपने उपयोग के मामले के लिए सही चेकआउट प्रकार चुनें:| विशेषता | इनलाइन चेकआउट | ओवरले चेकआउट |
|---|---|---|
| एकीकरण की गहराई | पेज में पूरी तरह एम्बेडेड | पेज के ऊपर मोडल |
| लेआउट नियंत्रण | पूरा नियंत्रण | सीमित |
| ब्रांडिंग | सहज | पेज से अलग |
| कार्यान्वयन प्रयास | अधिक | कम |
| सर्वश्रेष्ठ के लिए | कस्टम चेकआउट पेज, उच्च कन्वर्ज़न फ्लो | त्वरित एकीकरण, मौजूदा पेज |
संबंधित संसाधन
Overlay Checkout
त्वरित मॉडलकृत एकीकरण के लिए ओवरले चेकआउट का उपयोग करें।
Checkout Sessions API
अपने चेकआउट अनुभवों को चलाने के लिए चेकआउट सेशन बनाएं।
Webhooks
वेबहुक्स के साथ सर्वर-साइड पर भुगतान इवेंट्स संभालें।
Integration Guide
Dodo Payments को एकीकृत करने के लिए पूर्ण मार्गदर्शिका।
