Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
Entitlements सफल भुगतान या सक्रिय सब्सक्रिप्शन को वास्तविक पहुंच में बदल देते हैं: आपके ग्राहक के इनबॉक्स में एक लाइसेंस कुंजी, एक Discord भूमिका, एक GitHub रिपॉजिटरी, एक Notion टेम्पलेट, एक Framer रिमिक्स लिंक, एक Telegram चैट इनवाइट, या एक डाउनलोड करने योग्य फ़ाइल बंडल। भुगतान जीवनचक्र में बदलाव के साथ Dodo Payments स्वचालित रूप से उस पहुंच को जारी करता है, ट्रैक करता है, और वापस ले लेता है।

Entitlements क्या हैं?
एक entitlement वह पुनः उपयोग योग्य परिभाषा है जिसे आप ग्राहक को वितरित करते हैं: एक प्रो लाइसेंस कुंजी, एक “Patrons” Discord भूमिका, आपके निजी GitHub रिपॉजिटरी का एक्सेस, डाउनलोड करने योग्य e-book बंडल। आप Entitlements को उत्पादों से संलग्न करते हैं, और Dodo Payments बाकी काम संभालता है। जब कोई ग्राहक उत्पाद खरीदता है, तो Dodo Payments एक grant बनाता है, जो कि उस entitlement की ग्राहक की एकल जारीगी होती है। ग्रांट्स कुछ स्थिति के सेट के माध्यम से चलते हैं:pending जब डिलीवरी प्रगति पर होती है, delivered एक बार जब ग्राहक को पहुंच प्राप्त हो जाती है, failed यदि डिलीवरी पूरी नहीं हो सकी, और revoked जब पहुंच वापस ले ली जाती है।
उपलब्ध इंटीग्रेशन
Dodo Payments प्रत्येक entitlement को समर्पित इंटीग्रेशन के माध्यम से वितरित करता है। उस इंटीग्रेशन को चुनें जो आपके बेच के सामान के साथ मेल खाता है।License Keys
सक्रियन सीमा और समाप्ति के साथ अद्वितीय लाइसेंस कुंजियाँ उत्पन्न करें। सॉफ़्टवेयर, प्लगइन्स, और CLIs के लिए सबसे अच्छा।
Digital Files
डाउनलोड करने योग्य फाइलें (e-books, टेम्पलेट्स, मीडिया) प्रीसाइनिंग डाउनलोड URLs और वैकल्पिक निर्देशों के साथ वितरित करें।
Discord
जब वे खरीदारी करें तो एक ग्राहक को आपके Discord सर्वर में एक भूमिका प्रदान करें। रद्द करने पर स्वचालित रूप से रद्द करें।
GitHub
आपके द्वारा चुने गए अनुमति स्तर पर एक निजी रिपॉजिटरी में ग्राहकों को सहयोगी के रूप में जोड़ें।
Telegram
खरीदारी के बाद ग्राहकों को एक निजी Telegram चैट या चैनल में जोड़ें।
Framer
भुगतान करने वाले ग्राहकों के लिए एक Framer टेम्पलेट रिमिक्स लिंक अनलॉक करें।
Notion
क्रय पर ग्राहक के कार्यस्थल में एक Notion टेम्पलेट को डुप्लिकेट करें।
ग्रांट्स कैसे काम करते हैं
ग्रांट्स उन्हीं भुगतान और सब्सक्रिप्शन घटनाओं द्वारा संचालित होते हैं जिन्हें आप पहले ही वेबहुक्स के रूप में प्राप्त कर चुके हैं। आपको खुद खरीद के लिए ग्रांट API कॉल करने की जरूरत नहीं है। Dodo Payments भुगतान जीवनचक्र के आधार पर स्वचालित रूप से ग्रांट्स बनाता और रद्द करता है।ग्रांट जीवनचक्र
Created
एक ग्रांट तब बनाया जाता है जब भुगतान पूरा होता है या सब्सक्रिप्शन सक्रिय हो जाता है। लाइसेंस कुंजियाँ सीधे
delivered पर जाती हैं। हर अन्य इंटीग्रेशन pending में शुरू होता है। OAuth-आधारित इंटीग्रेशन (Discord, GitHub, Notion) एक oauth_url शामिल करते हैं जिसे ग्राहक को सहमति पूरी करने के लिए जाना पड़ता है। प्लेटफॉर्म-सीधे इंटीग्रेशन (Telegram, Framer, Digital Files) थोड़े समय के लिए pending में रहते हैं जबकि डिलीवरी प्रदान की जाती है, फिर delivered में ट्रांजिशन करते हैं।Delivered
एक बार जब डिलीवरी पूरी हो जाती है (लाइसेंस कुंजी उत्पन्न होती है, भूमिका असाइन की जाती है, रिपॉजिटरी एक्सेस प्रदान किया जाता है, फ़ाइल लिंक हल किए जाते हैं, OAuth पूरा होता है), तो ग्रांट
delivered में चला जाता है और delivered_at सेट होता है।Failed
यदि इंटीग्रेशन कॉल एक गैर-पुनः प्रयास योग्य त्रुटि लौटाता है (रद्द Oauth टोकन, डिनाइड परमिशन, फ़ाइल अब मौजूद नहीं है), तो ग्रांट
failed पर चला जाता है। error_code और error_message फ़ील्ड्स कारण को कैप्चर करते हैं।इवेंट द्वारा ग्रांट व्यवहार
| इवेंट | व्यवहार |
|---|---|
payment.succeeded (वन-टाइम भुगतान) | संलग्न प्रत्येक entitlement के लिए एक ग्रांट जारी करें। |
payment.succeeded (सब्सक्रिप्शन-लिंक्ड भुगतान) | नो-ऑप। ग्रांट्स नीचे दिए गए सब्सक्रिप्शन इवेंट द्वारा संचालित होते हैं। |
subscription.active | उन किसी भी संलग्न Entitlements के लिए ग्रांट्स जारी करें जिनके पास पहले से एक नहीं है। अगर वही सब्सक्रिप्शन के लिए पहले रद्द ग्रांट्स हों तो उन्हें फिर से अनुदान दें। |
subscription.renewed | नो-ऑप। मौजूदा ग्रांट्स नवीनीकरण के दौरान बरकरार रहते हैं। |
subscription.on_hold | सभी वितरित और लंबित ग्रांट्स को रद्द करें। revocation_reason: subscription_on_hold। |
subscription.cancelled | सभी रद्द करें। revocation_reason: subscription_cancelled। |
subscription.expired | सभी रद्द करें। revocation_reason: subscription_expired। |
subscription.plan_changed | वर्तमान ग्रांट्स को रद्द करें, फिर नए योजना की Entitlements के लिए ग्रांट्स जारी करें। revocation_reason: plan_changed। |
refund.succeeded (वन-टाइम भुगतान) | उस भुगतान के लिए ग्रांट्स को रद्द करें। revocation_reason: refund। |
| मैनुअल API रद्द करें | revocation_reason: manual के साथ रद्द करें। मै |
revocation_reason: license_key_disabled के साथ रद्द करता है। अगर कुंजी को पुनः सक्षम किया जाता है तो ग्रांट स्वत: पुनः सक्रिय हो जाता है। |
| प्लेटफ़ॉर्म बहाव का पता चला | अगर किसी इंटीग्रेशन का प्लेटफॉर्म हिस्सा सिंक से बाहर हो जाता है (एक Discord भूमिका को मैन्युअली हटा दिया गया, GitHub ऐप ने रिपॉजिटरी एक्सेस खो दी, या एक समन्वयन पास एक गायब लक्ष्य का पता लगाता है), तो ग्रांट को revocation_reason: platform_external के साथ रद्द किया जाता है। प्लेटफार्म मुद्दे के हल होने तक सब्सक्रिप्शन नवीनीकरण पर स्वतः पुन:अनुदानित नहीं होता। |
सब्सक्रिप्शन-द्वारा संचालित ग्रांट्स
(entitlement, customer, subscription) पर नामांकन होते हैं; नवीनीकरण और पुनःसक्रियण डुप्लिकेट ग्रांट्स नहीं बनाते। वन-टाइम ग्रांट्स (entitlement, customer, payment) पर नामांकन होते हैं।अपना पहला Entitlement बनाएं
Open Entitlements
अपने Dodo Payments डैशबोर्ड में Entitlements पर जाएं और एक नया entitlement बनाने के लिए + पर क्लिक करें।
Pick an integration
इंटीग्रेशन प्रकार चुनें: लाइसेंस कुंजी, डिजिटल फ़ाइलें, Discord, GitHub, Telegram, Framer, या Notion। प्लेटफार्म इंटीग्रेशन के लिए, पहले अपना खाता कनेक्ट करें अगर आपने पहले से नहीं किया है।
Configure delivery
इंटीग्रेशन-विशिष्ट फ़ील्ड भरें। उदाहरण के लिए, GitHub एक रिपॉजिटरी और एक अनुमति स्तर पूछता है; Discord एक सर्वर और एक वैकल्पिक भूमिका पूछता है; लाइसेंस कुंजी सक्रियता सीमा और समाप्ति पूछती है।

उत्पादों से Entitlements संलग्न करें
किसी उत्पाद को खोलें, Advanced Settings → Entitlements & Credits को बढ़ाएं, और उन entitlements का चयन करें जिन्हें उत्पाद खरीदने पर वितरित किया जाना चाहिए। एकल उत्पाद एक बार में कई entitlements वितरित कर सकता है। उदाहरण के लिए, एक प्रो योजना में लाइसेंस कुंजी, GitHub एक्सेस, और एक Discord भूमिका शामिल हो सकती है।
ग्राहक अनुभव
ईमेल और ग्राहक पोर्टल
ग्राहकों को खरीदारी के बाद एक वितरण ईमेल प्राप्त होता है जिसमें लाइसेंस कुंजी, डाउनलोड लिंक, OAuth निमंत्रण लिंक, या प्लेटफार्म निमंत्रण शामिल होते हैं, जो भी उत्पाद पर लागू होता है entitlements के लिए। वही विवरण अनंत समय तक Customer Portal से उनके ऑर्डर इतिहास के तहत उपलब्ध रहते हैं।OAuth-आधारित डिलीवरी
Discord, GitHub, और Notion सब्सक्राइबर एक्सेस ग्राहकों को Dodo Payments को उन्हें एक्सेस देने के लिए प्रमाणीकरण करना पड़ता है। ये Entitlements तब तकpending स्थिति में रहते हैं जब तक ग्राहक ईमेल या ग्राहक पोर्टल के लिंक का उपयोग करके OAuth फ्लो को पूरा नहीं करते हैं। एक बार जब वे प्रमाणीकरण कर लेते हैं, ग्रांट delivered की ओर चला जाता है और प्लेटफार्म एक्सेस तुरंत प्रदान किया जाता है।
रद्दीकरण
रद्द किए गए ग्रांट्स प्लेटफ़ॉर्म स्तर पर हटा दिए जाते हैं: Discord भूमिका हटा दी जाती है, GitHub सहयोगकर्ता हटा दिया जाता है, लाइसेंस कुंजी अक्षम कर दी जाती है। ग्राहकों को ग्राहक पोर्टल में यह परिवर्तन प्रतिबिंबित होता हुआ दिखाई देता है।ग्रांट्स प्रबंधन
किसी भी Entitlement को डैशबोर्ड से खोलें ताकि उसके ग्रांट्स देख सकें। ग्रांट विवरण पैनल में कुल ग्रांट्स, स्थिति फिल्टर, ग्राहक जानकारी, वितरण तिथियाँ, और एक रद्द कार्रवाई दिखाई जाती है। आप ग्रांट्स को प्रोग्रामेटिकली भी प्रबंधित कर सकते हैं:एपीआई प्रबंधन
Create Entitlement
किसी भी इंटीग्रेशन प्रकार का एक नया Entitlement बनाएं।
List Entitlements
इंटीग्रेशन प्रकार के अनुसार Entitlements की सूची बनाएं।
Get Entitlement
किसी Entitlement को प्राप्त करें और उसका हल किया गया कॉन्फिगरेशन प्राप्त करें।
Update Entitlement
नाम, विवरण, या इंटीग्रेशन कॉन्फिगरेशन अपडेट करें।
Delete Entitlement
किसी Entitlement को सॉफ़्ट-डिलीट करें; मौजूदा ग्रांट्स अप्रभावित रहते हैं।
Upload File
किसी डिजिटल फ़ाइल Entitlement में फ़ाइल अपलोड करें (100 MB तक)।
List Grants
किसी Entitlement के लिए सभी ग्रांट्स की स्थिति और ग्राहक फिल्टर के साथ सूची बनाएं।
Revoke Grant
हस्तकृति से किसी एक ग्रांट को रद्द करें।
Webhooks
Dodo Payments चार webhook घटनाएं ग्रांट जीवनचक्र के लिए भेजता है। इन घटनाओं की सदस्यता लें ताकि आपकी एप्लिकेशन प्रत्येक ग्राहक के एक्सेस के साथ सिंक में रहे।| इवेंट | फायर होता है जब |
|---|---|
entitlement_grant.created | एक नया grant बनाया जाता है। लाइसेंस-कुंजी ग्रांट्स delivered पर आते हैं; सभी अन्य इंटीग्रेशन pending पर आते हैं और delivered पर परिवर्तित होते हैं जब प्लेटफॉर्म कॉल सफल होता है (या, OAuth-आधारित इंटीग्रेशन के लिए, जब ग्राहक प्रमाणीकरण करते हैं)। |
entitlement_grant.delivered | ग्रांट डिलीवर पर परिवर्तित होता है। ग्राहक को अब एक्सेस मिलता है। |
entitlement_grant.failed | ग्रांट डिलीवर नहीं हो सका। error_code और error_message देखें। |
entitlement_grant.revoked | एक्सेस वापस ले लिया गया है। revocation_reason देखें। |
Entitlement Grant Webhook Payloads
पूर्ण पेलोड स्कीमा, नमूना घटनाएं, और
revocation_reason संदर्भ देखें।सर्वोत्तम अभ्यास
- प्रत्येक वितरण चैनल के लिए एक ही Entitlement का उपयोग करें। विभिन्न भूमिका इरादों के साथ उत्पादों के बीच एकल Discord Entitlement साझा न करें; स्वच्छ रद्दीकरण के लिए एक भूमिका प्रति एक बनाएँ।
- पहले परीक्षा मोड में परीक्षण करें। Entitlement बनाएँ, इसे एक परीक्षण उत्पाद से संलग्न करें, एक चेकआउट चलाएं, और देखे ग्रांट
pending → deliveredके माध्यम से संक्रमण करता है। सुनिश्चित करें कि परीक्षण सब्सक्रिप्शन रद्द करना ग्रांट को रद्द करता है। entitlement_grant.deliveredसुनें,payment.succeededनहीं। एक भुगतान सफल हो सकता है, जब तक फुलफिलमेंट पूरा नहीं हो जाता (विशेषकर OAuth प्रवाह के लिए)। आपके अपने सिस्टम में निर्भर सुविधाओं को अनलॉक करने से पहले डिलीवर इवेंट की प्रतीक्षा करें।entitlement_grant.failedको क्रियात्मक मानें। एक विफल ग्रांट का मतलब है कि एक ग्राहक ने भुगतान किया लेकिन एक्सेस नहीं मिला। इन्हें अपनी सहायता टीम को सतह पर लाएं या पुन: अनुदान ट्रिगर करें।- अपने प्रतिधारण प्रवाह के लिए
revocation_reasonको मैप करें। एकsubscription_on_holdरद्द करना पुनःप्राप्त करने योग्य है (ग्राहक अपने कार्ड को अपडेट कर सकते हैं)। एकmanualरद्द करना इरादित है। उन्हें ग्राहक संचार में भिन्न रूप से संभालें।