आवश्यकताएँ
Dodo Payments API को एकीकृत करने के लिए, आपको आवश्यकता होगी:- एक Dodo Payments merchant account
- dashboard से API Credentials (API key और webhook secret key)
Dashboard सेटअप
- Dodo Payments Dashboard पर जाएँ
- उत्पाद बनाएँ (one-time payment या subscription)। Subscription products की कीमत कम से कम $1 (या आपकी चुनी हुई currency में इसके समतुल्य) होनी चाहिए; इससे कम राशि समर्थित नहीं है।
-
अपनी API key जनरेट करें:
- Developer > API पर जाएँ
- विस्तृत मार्गदर्शिका
- env में DODO_PAYMENTS_API_KEY नाम वाली API key कॉपी करें
-
Webhooks कॉन्फ़िगर करें:
- Developer > Webhooks पर जाएँ
- payment notifications के लिए एक webhook URL बनाएँ
- env में webhook secret key कॉपी करें
एकीकरण
Payment Links
अपने उपयोग-केस के लिए उपयुक्त integration path चुनें:- Checkout Sessions (recommended): अधिकांश integrations के लिए सर्वोत्तम। अपने server पर एक session बनाएँ और customers को सुरक्षित, hosted checkout पर redirect करें।
- Overlay Checkout: जब आपको अपनी site पर in-page अनुभव चाहिए, जो checkout को modal overlay के रूप में खोले।
- Inline Checkout: पूरी तरह integrated और branded checkout अनुभवों के लिए checkout को सीधे अपने page layout में embed करें।
- Static Payment Links: तेज़ी से payment collection के लिए no-code, तुरंत share किए जा सकने वाले URLs।
- Dynamic Payment Links: Programmatically बनाए गए links। हालाँकि, Checkout Sessions recommended हैं और अधिक flexibility प्रदान करते हैं।
- Mobile Checkout SDKs: native Android, iOS, React Native और Flutter apps के लिए। ऊपर बताए अनुसार अपने server पर session बनाएँ, फिर
checkout_urlको SDK को दें।
Overlay और Inline Checkout केवल browser पर काम करते हैं — ये checkout को web
page में embed करते हैं। यदि आप native mobile app बना रहे हैं, तो अपने
server पर checkout session बनाएँ और इसके बजाय उसे
Mobile Checkout SDKs से खोलें।
1. Checkout Sessions
One-time payments या subscriptions के लिए सुरक्षित, hosted checkout अनुभव बनाने हेतु Checkout Sessions का उपयोग करें। अपने server पर एक session बनाएँ, फिर customer को लौटाए गएcheckout_url पर redirect करें।
Checkout sessions डिफ़ॉल्ट रूप से 24 घंटे तक valid रहते हैं। यदि आप
confirm=true pass करते हैं, तो sessions 15 मिनट तक valid रहते हैं और सभी आवश्यक fields प्रदान किए जाने चाहिए।1
Create a checkout session
अपना पसंदीदा SDK चुनें या REST API call करें।
- Node.js SDK
- Python SDK
- REST API
2
Redirect customer to checkout
Session बनाने के बाद, hosted flow शुरू करने के लिए
checkout_url पर redirect करें।2. Overlay Checkout
Seamless in-page checkout अनुभव के लिए हमारा Overlay Checkout integration देखें, जो customers को आपकी website छोड़े बिना payments पूरा करने देता है।3. Inline Checkout
अपने page में सीधे embedded पूरी तरह integrated checkout अनुभवों के लिए हमारा Inline Checkout integration उपयोग करें। इससे आप custom order summaries बना सकते हैं और checkout layout पर पूरा control रख सकते हैं, जबकि Dodo Payments payment collection को सुरक्षित रूप से संभालता है।4. Static Payment Links
Static payment links आपको एक सरल URL share करके तेज़ी से payments स्वीकार करने देते हैं। Customer details को pre-fill करने, form fields को नियंत्रित करने और custom metadata जोड़ने के लिए query parameters pass करके checkout अनुभव को customize कर सकते हैं।1
Construct your payment link
Base URL से शुरू करें और अपना product ID जोड़ें:
2
Add core parameters
आवश्यक query parameters शामिल करें:
-
integerडिफ़ॉल्ट:"1"खरीदी जाने वाली items की संख्या।
-
stringआवश्यकPayment पूरा होने के बाद redirect करने के लिए URL।
Redirect URL में query parameters के रूप में payment details शामिल होंगी, उदाहरण के लिए:
यदि product में license keys enabled हैं, तो एक
https://example.com/?payment_id=pay_ts2ySpzg07phGeBZqePbH&status=succeeded&email=customer%40example.comयदि product में license keys enabled हैं, तो एक
license_key parameter भी जोड़ा जाता है (multiple keys के लिए comma-separated):https://example.com/?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com3
Pre-fill customer information (optional)
Checkout को सरल बनाने के लिए customer या billing fields को query parameters के रूप में जोड़ें।
Supported Customer Fields
Supported Customer Fields
-
stringCustomer का पूरा नाम (यदि firstName या lastName प्रदान किया गया हो तो ignore किया जाता है)।
-
stringCustomer का first name।
-
stringCustomer का last name।
-
stringCustomer का email address।
-
stringCustomer का country।
-
stringStreet address।
-
stringCity।
-
stringState या province।
-
stringPostal/ZIP code।
-
booleantrue या false
4
Control form fields (optional)
आप specific fields को disable करके उन्हें customer के लिए read-only बना सकते हैं। यह तब उपयोगी है जब आपके पास customer की details पहले से हों (जैसे logged-in users)।
disable… flag को true पर set करें:- Disable Flags Table
showDiscounts=false set करने से checkout form में discounts section disable और hide हो जाएगा। यदि आप checkout के दौरान customers को coupon या promo codes enter करने से रोकना चाहते हैं, तो इसका उपयोग करें।5
Add advanced controls (optional)
-
stringभुगतान की currency निर्दिष्ट करता है। डिफ़ॉल्ट रूप से billing country की currency का उपयोग होता है।
-
booleanडिफ़ॉल्ट:"true"currency selector दिखाएँ या छिपाएँ।
-
numberचार्ज की जाने वाली राशि को major currency units में निर्धारित करता है (जैसे, $12.50 के लिए
12.5)। केवल Pay What You Want products के लिए। यदि value product की minimum price से कम है, तो इसे अनदेखा कर दिया जाता है। -
stringCustom metadata fields (जैसे,
metadata_orderId=123)।
6
Share the link
पूर्ण किए गए payment link को अपने customer को भेजें। उनके इसे खोलने पर, सभी query parameters एकत्र करके session ID के साथ store किए जाते हैं। इसके बाद URL को सरल बनाकर केवल session parameter शामिल किया जाता है (जैसे,
?session=sess_1a2b3c4d)। Store की गई जानकारी page refresh होने पर भी बनी रहती है और पूरे checkout process के दौरान accessible रहती है।अब customer का checkout experience आपके parameters के आधार पर streamlined और personalized है।
4. Dynamic Payment Links
customer details के साथ API call या हमारे SDK के माध्यम से बनाया गया। यहाँ एक उदाहरण है: Dynamic payment links बनाने के लिए दो APIs हैं:- One-time Payment Link API API reference
- Subscription Payment Link API API reference
Payment link प्राप्त करने के लिए
payment_link = true pass करना सुनिश्चित करें - Node.js SDK
- Python SDK
- Go SDK
- Api Reference
Payment link बनाने के बाद, अपने customers को payment पूरा करने के लिए redirect करें।
Webhooks लागू करना
Payment notifications प्राप्त करने के लिए एक API endpoint सेट अप करें। यहाँ Next.js का उपयोग करने वाला एक उदाहरण है:सुनने योग्य Events
payload.type को enable करें और one-time payment flow से संबंधित events को handle करें। कम से कम, इन events को listen करें:
यदि आप license keys वाले digital products बेचते हैं, तो
license_key.created को भी handle करें। Events की पूरी सूची — जिसमें subscription, entitlement, credit, recovery और dunning events शामिल हैं — के लिए Webhook Event Guide देखें।
आप Next.js और TypeScript का उपयोग करने वाले demo implementation वाले इस project को GitHub पर देख सकते हैं।
Live implementation यहाँ देखें।
Checkout और Currency के बारे में जानने योग्य मुख्य बातें
Checkout sessions 24 घंटे में expire हो जाते हैं (जब
confirm: true हो, तब 15 मिनट में), और प्रत्येक checkout_url single-use होता है — link को reuse करने के बजाय प्रत्येक customer और प्रत्येक payment attempt के लिए नया session generate करें।One-click repeat purchase। Saved payment method वाले returning customer के लिए, तुरंत charge करने और method selection को पूरी तरह skip करने हेतु
payment_method_id को confirm: true के साथ pass करें।संबंधित API Reference
Create Checkout Session
One-time payments और subscriptions के लिए secure, hosted checkout sessions बनाने हेतु API reference
Create Payment Link
Programmatically dynamic payment links बनाने हेतु API reference