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

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

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

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

5
डोडो पेमेंट्स सदस्यता बनाता है
डोडो पेमेंट्स स्वचालित रूप से ग्राहक के लिए एक सदस्यता बनाता है, जिसे आप प्रावधान करने के लिए तैयार कर सकते हैं। ग्राहक द्वारा उपयोग की गई भुगतान विधि नवीनीकरण या सदस्यता परिवर्तनों के लिए फ़ाइल पर रखी जाती है।

त्वरित प्रारंभ
कुछ कोड की पंक्तियों में Dodo Payments इनलाइन चेकआउट के साथ शुरू करें:चरण-दर-चरण एकीकरण गाइड
1
SDK स्थापित करें
Dodo Payments चेकआउट SDK स्थापित करें:
2
इनलाइन डिस्प्ले के लिए SDK प्रारंभ करें
SDK को प्रारंभ करें और
displayType: 'inline' निर्दिष्ट करें। आपको अपने UI को वास्तविक समय में कर और कुल गणनाओं के साथ अपडेट करने के लिए checkout.breakdown इवेंट के लिए भी सुनना चाहिए।3
एक कंटेनर तत्व बनाएं
अपने HTML में एक तत्व जोड़ें जहाँ चेकआउट फ्रेम इंजेक्ट किया जाएगा:
4
चेकआउट खोलें
DodoPayments.Checkout.open() को checkoutUrl और आपके कंटेनर के elementId के साथ कॉल करें:5
अपने एकीकरण का परीक्षण करें
- अपने विकास सर्वर को प्रारंभ करें:
- चेकआउट प्रवाह का परीक्षण करें:
- इनलाइन फ्रेम में अपना ईमेल और पता विवरण दर्ज करें।
- सत्यापित करें कि आपका कस्टम ऑर्डर सारांश वास्तविक समय में अपडेट होता है।
- परीक्षण क्रेडेंशियल्स का उपयोग करके भुगतान प्रवाह का परीक्षण करें।
- पुष्टि करें कि रीडायरेक्ट सही ढंग से काम करते हैं।
यदि आपने
onEvent कॉलबैक में कंसोल लॉग जोड़ा है, तो आपको अपने ब्राउज़र कंसोल में checkout.breakdown इवेंट्स लॉग होते हुए दिखाई देंगे।6
लाइव जाएं
जब आप उत्पादन के लिए तैयार हों:
- मोड को
'live'में बदलें:
- अपने चेकआउट URLs को अपने बैकएंड से लाइव चेकआउट सत्रों का उपयोग करने के लिए अपडेट करें।
- उत्पादन में पूरे प्रवाह का परीक्षण करें।
पूर्ण React उदाहरण
यह उदाहरण दिखाता है कि कैसे इनलाइन चेकआउट के साथ एक कस्टम ऑर्डर सारांश को लागू किया जाए, उन्हेंcheckout.breakdown इवेंट का उपयोग करके समन्वयित रखा जाए।
API संदर्भ
कॉन्फ़िगरेशन
प्रारंभिक विकल्प
| विकल्प | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
mode | "test" | "live" | हाँ | पर्यावरण मोड। |
displayType | "inline" | "overlay" | हाँ | चेकआउट को एम्बेड करने के लिए "inline" पर सेट किया जाना चाहिए। |
onEvent | function | हाँ | चेकआउट इवेंट्स को संभालने के लिए कॉलबैक फ़ंक्शन। |
चेकआउट विकल्प
| विकल्प | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
checkoutUrl | string | हाँ | चेकआउट सत्र URL। |
elementId | string | हाँ | वह id DOM तत्व का स्थान जहाँ चेकआउट प्रदर्शित होना चाहिए। |
options.showTimer | boolean | नहीं | चेकआउट टाइमर को दिखाना या छिपाना। डिफ़ॉल्ट true है। जब अक्षम किया जाता है, तो आपको सत्र समाप्त होने पर checkout.link_expired घटना प्राप्त होगी। |
options.showSecurityBadge | boolean | नहीं | सुरक्षा बैज को दिखाना या छिपाना। डिफ़ॉल्ट true है। |
options.manualRedirect | boolean | नहीं | जब सक्षम किया जाता है, तो चेकआउट पूरा होने के बाद स्वचालित रूप से पुनर्निर्देशित नहीं होगा। इसके बजाय, आपको checkout.status और checkout.redirect_requested घटनाएँ प्राप्त होंगी ताकि आप पुनर्निर्देशन को स्वयं संभाल सकें। |
options.payButtonText | string | नहीं | भुगतान बटन पर प्रदर्शित करने के लिए कस्टम पाठ। |
विधियाँ
चेकआउट खोलें
निर्दिष्ट कंटेनर में चेकआउट फ्रेम खोलता है।manualRedirect का उपयोग करते समय, अपने onEvent कॉलबैक में चेकआउट पूर्णता को संभालें:
चेकआउट बंद करें
प्रोग्रामेटिक रूप से चेकआउट फ्रेम को हटा देता है और इवेंट लिस्नर्स को साफ करता है।स्थिति की जांच करें
यह लौटाता है कि चेकआउट फ्रेम वर्तमान में इंजेक्ट किया गया है या नहीं।घटनाएँ
SDK वास्तविक समय की घटनाएँ प्रदान करता हैonEvent कॉलबैक के माध्यम से। इनलाइन चेकआउट के लिए, checkout.breakdown विशेष रूप से आपके UI को समन्वयित करने के लिए उपयोगी है।
| घटना प्रकार | विवरण |
|---|---|
checkout.opened | चेकआउट फ्रेम लोड हो गया है। |
checkout.breakdown | जब कीमतें, कर या छूट अपडेट होती हैं, तब फायर किया जाता है। |
checkout.customer_details_submitted | ग्राहक विवरण प्रस्तुत किए गए हैं। |
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 से भिन्न हो सकता है। |
- मुद्रा प्रारूपण: कीमतें हमेशा सबसे छोटे मुद्रा इकाई (जैसे, USD के लिए सेंट, JPY के लिए येन) में पूर्णांक के रूप में लौटाई जाती हैं। उन्हें प्रदर्शित करने के लिए, 100 (या उपयुक्त 10 की शक्ति) से विभाजित करें या
Intl.NumberFormatजैसी प्रारूपण पुस्तकालय का उपयोग करें। - प्रारंभिक राज्यों को संभालना: जब चेकआउट पहली बार लोड होता है,
taxऔरdiscount0याnullहो सकते हैं जब तक उपयोगकर्ता अपनी बिलिंग जानकारी प्रदान नहीं करता या कोड लागू नहीं करता। आपका UI इन राज्यों को सुचारू रूप से संभालना चाहिए (जैसे, एक डैश—दिखाना या पंक्ति को छिपाना)। - “अंतिम कुल” बनाम “कुल”: जबकि
totalआपको मानक मूल्य गणना देता है,finalTotalलेनदेन के लिए सत्य का स्रोत है। यदिfinalTotalमौजूद है, तो यह ठीक वही दर्शाता है जो ग्राहक के कार्ड पर चार्ज किया जाएगा, जिसमें कोई भी गतिशील समायोजन शामिल है। - वास्तविक समय की प्रतिक्रिया: उपयोगकर्ताओं को दिखाने के लिए
taxफ़ील्ड का उपयोग करें कि कर वास्तविक समय में गणना किए जा रहे हैं। यह आपके चेकआउट पृष्ठ को “लाइव” अनुभव प्रदान करता है और पते के प्रवेश चरण के दौरान घर्षण को कम करता है।
कार्यान्वयन विकल्प
पैकेज प्रबंधक स्थापना
npm, yarn, या pnpm के माध्यम से स्थापना करें जैसा कि चरण-दर-चरण एकीकरण गाइड में दिखाया गया है।CDN कार्यान्वयन
बिना किसी निर्माण चरण के त्वरित एकीकरण के लिए, आप हमारे CDN का उपयोग कर सकते हैं:थीम कस्टमाइजेशन
आप चेकआउट के रूप को कस्टमाइज़ कर सकते हैं, जब चेकआउट खोलते समयthemeConfig ऑब्जेक्ट को options पैरामीटर में पास करके। थीम कॉन्फ़िगरेशन लाइट और डार्क मोड दोनों का समर्थन करता है, जिससे आप रंग, बॉर्डर, टेक्स्ट, बटन और बॉर्डर रेडियस को कस्टमाइज़ कर सकते हैं।
बेसिक थीम कॉन्फ़िगरेशन
पूर्ण थीम कॉन्फ़िगरेशन
सभी उपलब्ध थीम प्रॉपर्टीज़:केवल लाइट मोड
यदि आप केवल लाइट थीम को कस्टमाइज़ करना चाहते हैं:केवल डार्क मोड
यदि आप केवल डार्क थीम को कस्टमाइज़ करना चाहते हैं:आंशिक थीम ओवरराइड
आप केवल विशिष्ट प्रॉपर्टीज़ को ओवरराइड कर सकते हैं। चेकआउट उन प्रॉपर्टीज़ के लिए डिफ़ॉल्ट मानों का उपयोग करेगा जिन्हें आप निर्दिष्ट नहीं करते:अन्य विकल्पों के साथ थीम कॉन्फ़िगरेशन
आप थीम कॉन्फ़िगरेशन को अन्य चेकआउट विकल्पों के साथ संयोजित कर सकते हैं:TypeScript प्रकार
TypeScript उपयोगकर्ताओं के लिए, सभी थीम कॉन्फ़िगरेशन प्रकार निर्यात किए गए हैं:त्रुटि प्रबंधन
SDK इवेंट सिस्टम के माध्यम से विस्तृत त्रुटि जानकारी प्रदान करता है। हमेशा अपनेonEvent कॉलबैक में उचित त्रुटि प्रबंधन लागू करें:
सर्वोत्तम प्रथाएँ
- उत्तरदायी डिज़ाइन: सुनिश्चित करें कि आपके कंटेनर तत्व की चौड़ाई और ऊँचाई पर्याप्त है। iframe आमतौर पर अपने कंटेनर को भरने के लिए विस्तारित होगा।
- सिंक्रनाइज़ेशन: अपने कस्टम ऑर्डर सारांश या मूल्य निर्धारण तालिकाओं को चेकआउट फ्रेम में उपयोगकर्ता जो देखता है, के साथ समन्वय में रखने के लिए
checkout.breakdownइवेंट का उपयोग करें। - स्केलेटन स्टेट्स:
checkout.openedइवेंट फायर होने तक अपने कंटेनर में लोडिंग संकेतक दिखाएँ। - साफ़ करना: जब आपका घटक अनमाउंट होता है, तो iframe और इवेंट लिसनर्स को साफ़ करने के लिए
DodoPayments.Checkout.close()को कॉल करें।
डार्क मोड कार्यान्वयन के लिए, इन्लाइन चेकआउट फ्रेम के साथ अनुकूल दृश्य एकीकरण के लिए बैकग्राउंड रंग के रूप में
#0d0d0d का उपयोग करने की सिफारिश की जाती है।समस्या निवारण
चेकआउट फ्रेम दिखाई नहीं दे रहा है
चेकआउट फ्रेम दिखाई नहीं दे रहा है
- सुनिश्चित करें कि
elementIdएक ऐसेidसे मेल खाता है जो वास्तव में DOM में मौजूद है। - सुनिश्चित करें कि
displayType: 'inline'कोInitializeमें पास किया गया था। - जांचें कि
checkoutUrlमान्य है।
मेरी UI में कर अपडेट नहीं हो रहे हैं
मेरी UI में कर अपडेट नहीं हो रहे हैं
- सुनिश्चित करें कि आप
checkout.breakdownइवेंट के लिए सुन रहे हैं। - कर केवल तब गणना किए जाते हैं जब उपयोगकर्ता चेकआउट फ्रेम में एक मान्य देश और डाक कोड दर्ज करता है।
एप्पल पे सक्षम करना
एप्पल पे ग्राहकों को उनके सहेजे गए भुगतान विधियों का उपयोग करके तेजी से और सुरक्षित रूप से भुगतान पूरा करने की अनुमति देता है। जब सक्षम किया जाता है, तो ग्राहक समर्थित उपकरणों पर चेकआउट ओवरले से सीधे एप्पल पे मोडल लॉन्च कर सकते हैं।एप्पल पे iOS 17+, iPadOS 17+, और macOS पर Safari 17+ पर समर्थित है।
1
एप्पल पे डोमेन एसोसिएशन फ़ाइल डाउनलोड और अपलोड करें
एप्पल पे डोमेन एसोसिएशन फ़ाइल डाउनलोड करें।फ़ाइल को अपने वेब सर्वर पर
/.well-known/apple-developer-merchantid-domain-association पर अपलोड करें। उदाहरण के लिए, यदि आपकी वेबसाइट example.com है, तो फ़ाइल को https://example.com/well-known/apple-developer-merchantid-domain-association पर उपलब्ध कराएँ।2
एप्पल पे सक्रियण का अनुरोध करें
[email protected] पर निम्नलिखित जानकारी के साथ ईमेल करें:
- आपका उत्पादन डोमेन URL (जैसे,
https://example.com) - अपने डोमेन के लिए एप्पल पे सक्षम करने का अनुरोध
आपको 1-2 कार्यदिवसों के भीतर पुष्टि प्राप्त होगी जब एप्पल पे आपके डोमेन के लिए सक्षम किया गया हो।
3
एप्पल पे उपलब्धता की पुष्टि करें
पुष्टि प्राप्त करने के बाद, अपने चेकआउट में एप्पल पे का परीक्षण करें:
- समर्थित उपकरण (iOS 17+, iPadOS 17+, या macOS पर Safari 17+) पर अपने चेकआउट को खोलें
- सत्यापित करें कि एप्पल पे बटन एक भुगतान विकल्प के रूप में दिखाई देता है
- पूर्ण भुगतान प्रवाह का परीक्षण करें
ब्राउज़र समर्थन
Dodo Payments Checkout SDK निम्नलिखित ब्राउज़रों का समर्थन करता है:- क्रोम (नवीनतम)
- फ़ायरफ़ॉक्स (नवीनतम)
- सफारी (नवीनतम)
- एज (नवीनतम)
- IE11+
इनलाइन बनाम ओवरले चेकआउट
अपने उपयोग के मामले के लिए सही चेकआउट प्रकार चुनें:| विशेषता | इनलाइन चेकआउट | ओवरले चेकआउट |
|---|---|---|
| एकीकरण गहराई | पृष्ठ में पूरी तरह से एम्बेडेड | पृष्ठ के शीर्ष पर मोडल |
| लेआउट नियंत्रण | पूर्ण नियंत्रण | सीमित |
| ब्रांडिंग | निर्बाध | पृष्ठ से अलग |
| कार्यान्वयन प्रयास | उच्च | कम |
| के लिए सबसे अच्छा | कस्टम चेकआउट पृष्ठ, उच्च-परिवर्तन प्रवाह | त्वरित एकीकरण, मौजूदा पृष्ठ |
संबंधित संसाधन
ओवरले चेकआउट
त्वरित मोडल-आधारित एकीकरण के लिए ओवरले चेकआउट का उपयोग करें।
चेकआउट सत्र API
अपने चेकआउट अनुभवों को शक्ति देने के लिए चेकआउट सत्र बनाएं।
वेबहुक
वेबहुक के साथ सर्वर-साइड भुगतान घटनाओं को संभालें।
एकीकरण गाइड
Dodo Payments को एकीकृत करने के लिए पूर्ण गाइड।