سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.
تحوّل Entitlements عملية الدفع الناجحة أو الاشتراك النشط إلى إمكانية وصول: مفتاح ترخيص في صندوق وارد العميل، أو feature flag يفحصه تطبيقك، أو دور في Discord، أو مستودع GitHub، أو قالب Notion، أو رابط remix في Framer، أو دعوة إلى محادثة Telegram، أو حزمة ملفات قابلة للتنزيل. يتولى Dodo Payments إصدار إمكانية الوصول هذه وتتبعها وإبطالها تلقائيًا مع تغيّر دورة حياة الدفع.
The Entitlements dashboard. Each entitlement is a reusable template; the right pane shows individual customer grants.
ما هي Entitlements؟
إن entitlement هو تعريف قابل لإعادة الاستخدام لشيء تسلّمه إلى العميل، مثل مفتاح ترخيص Pro، أو دور Discord باسم “Patrons”، أو إمكانية الوصول إلى مستودع GitHub خاص بك، أو حزمة كتب إلكترونية قابلة للتنزيل. تربط Entitlements بالمنتجات، ويسلّمها Dodo Payments عندما يدفع العميل.عندما يشتري العميل المنتج، ينشئ Dodo Payments grant: أي إصدار هذا entitlement لعميل واحد. يكون للـ grant إحدى أربع حالات: Pending أثناء تقدم التسليم، وDelivered بمجرد حصول العميل على إمكانية الوصول، وFailed إذا تعذر إكمال التسليم، وRevoked عند سحب إمكانية الوصول.
تتحكم Entitlements في التنفيذ (هل يملك العميل إمكانية الوصول؟). أما Credits فتتحكم في الاستهلاك (ما المقدار الذي يمكنه استخدامه؟). يمكنك ربط كليهما بالمنتج نفسه. راجع الفوترة القائمة على Credits لمعرفة المزيد عن Credits.
عمليات دمج متاحة
يتم تسليم كل entitlement من خلال تكامل واحد. اختر التكامل الذي يتوافق مع ما تبيعه.
License Keys
إنشاء مفاتيح ترخيص فريدة مع حدود تفعيل وانتهاء. الأفضل للبرامج، الملحقات، و CLIs.
Digital Files
سلّم الملفات القابلة للتنزيل، مثل الكتب الإلكترونية والقوالب والوسائط، باستخدام روابط تنزيل موقعة مسبقًا وتعليمات اختيارية.
Feature Flags
تحكّم في ميزات تطبيقك الخاص بناءً على عملية شراء. يتم التسليم عند الإنشاء، والتحقق من خلال API، والإبطال عند الإلغاء.
Discord
امنح العميل دورًا في خادم Discord الخاص بك عند الشراء. تتم إزالة الدور تلقائيًا عند الإلغاء.
GitHub
أضف العملاء كمتعاونين في مستودع خاص بمستوى الإذن الذي تختاره.
Telegram
أضف العملاء إلى دردشة أو قناة Telegram خاصة بعد الشراء.
Framer
افتح رابط قالب Remix في Framer للعملاء الذين يدفعون.
Notion
انسخ قالب Notion إلى مساحة عمل العميل عند الشراء.
كيف تعمل المنح
تتبع Grants أحداث الدفع والاشتراك نفسها التي تتلقاها باعتبارها webhooks. ينشئ Dodo Payments Grants لعمليات الشراء ويبطلها تلقائيًا، استنادًا إلى دورة حياة الدفع، لذلك لا تحتاج إلى استدعاء Grant API بنفسك.
دورة حياة المنحة
يمر Grant بالحالات التالية:
1
Created
ينشئ Dodo Payments Grant عند اكتمال الدفع أو عند تفعيل الاشتراك. تبدأ Grants الخاصة بـ feature flags بالحالة Delivered. كما تبدأ Grants الخاصة بمفاتيح التراخيص بالحالة Delivered عندما يستخدم entitlement القيمة fulfillment_mode: auto (وهي القيمة الافتراضية). في ظل fulfillment_mode: manual، يبدأ Grant بالحالة Pending من دون مفتاح إلى أن توفّر واحدًا باستخدام Fulfill License Key Grant. يبدأ كل تكامل آخر بالحالة Pending.تكاملات OAuth (Discord وGitHub وNotion) تعرض oauth_url يزوره العميل لمنح الموافقة. يحاول Dodo Payments إنشاء هذا الرابط عند إنشاء Grant. وإذا فشل ذلك، يبقى الحقل null إلى أن يبدأ العميل تدفق القبول من رسالة التسليم الإلكترونية أو من Customer Portal. أما التكاملات المباشرة مع المنصة (Telegram وFramer وDigital Files) فتبقى في الحالة Pending فقط أثناء تجهيز التسليم، ثم تنتقل إلى Delivered.
2
Delivered
عند اكتمال التسليم، ينتقل Grant إلى Delivered ويتم تعيين delivered_at. يكتمل التسليم عند إنشاء مفتاح الترخيص، أو تعيين الدور، أو منح الوصول إلى المستودع، أو حل روابط الملفات، أو إنهاء تدفق OAuth.
3
Failed
إذا أعاد استدعاء التكامل خطأً غير قابل لإعادة المحاولة، مثل رمز OAuth مُلغى، أو إذن مرفوض، أو ملف لم يعد موجودًا، ينتقل Grant إلى Failed. ويسجل الحقلان error_code وerror_message السبب.
4
Revoked
عند سحب إمكانية الوصول، مثلًا بسبب إلغاء اشتراك أو إصدار رد أموال أو إبطالك Grant، ينتقل Grant إلى Revoked. ويسجل الحقل revocation_reason المُشغّل.
سلوك Grant حسب الحدث
يغيّر كل حدث دفع واشتراك Grants كما يلي:
الحدث
السلوك
payment.succeeded (دفع لمرة واحدة)
يصدر Grant واحدًا لكل entitlement مرتبط. ويصدر entitlement من نوع License Key Grant واحدًا لكل مفتاح.
payment.succeeded (دفع مرتبط باشتراك)
لا تغيير. تتولى أحداث الاشتراك أدناه قيادة هذه Grants.
subscription.active
يصدر Grants لأي Entitlements مرتبطة لا تملك Grant بعد، ويعيد منح Grants التي أُبطلت سابقًا للاشتراك نفسه. لا تتم إعادة منح Grants التي أُبطلت باستخدام manual أو refund أو platform_external.
subscription.renewed
لا تغيير. تستمر Grants الحالية عبر عمليات التجديد.
يبطل جميع Grants المسلّمة والمعلّقة التي تحمل revocation_reason: subscription_on_hold.
subscription.paused
يبطل جميع Grants المسلّمة والمعلّقة التي تحمل revocation_reason: SubscriptionPaused. بخلاف أسباب الاشتراك الأخرى، تستخدم هذه القيمة PascalCase، لذا طابقها تمامًا.
subscription.unpaused
يعيد منح Grants التي أُبطلت سابقًا للاشتراك نفسه، بالطريقة نفسها التي يعمل بها subscription.active.
subscription.cancelled
يبطل جميع Grants التي تحمل revocation_reason: subscription_cancelled.
subscription.expired
يبطل جميع Grants التي تحمل revocation_reason: subscription_expired.
subscription.plan_changed
يبطل جميع Grants الحالية التي تحمل revocation_reason: plan_changed، ثم يصدر Grants لـ Entitlements الخطة الجديدة.
refund.succeeded (دفع لمرة واحدة)
يبطل Grants الخاصة بذلك الدفع التي تحمل revocation_reason: refund.
إبطال يدوي عبر API
يبطل Grant باستخدام revocation_reason: manual. لا تتم إعادة منح عمليات الإبطال اليدوية تلقائيًا عند تجديد الاشتراك.
تعطيل مفتاح الترخيص
بالنسبة إلى Grants الخاصة بمفاتيح التراخيص، يؤدي تعطيل المفتاح الأساسي إلى إبطال Grant باستخدام revocation_reason: license_key_disabled. تؤدي إعادة تفعيل المفتاح إلى استعادة Grant تلقائيًا.
اكتشاف اختلاف في المنصة
إذا خرج جانب المنصة من التكامل عن المزامنة، مثل إزالة دور Discord يدويًا، أو فقدان GitHub App للوصول إلى المستودع، أو اكتشاف عملية تسوية لهدف مفقود، فإن Dodo Payments يبطل Grant باستخدام revocation_reason: platform_external. ولا تتم إعادة منحه تلقائيًا عند تجديد الاشتراك إلى أن تُحل مشكلة المنصة.
تكون Grants المدفوعة بالاشتراك idempotent لكل (entitlement, customer, subscription)، لذلك لا تنشئ عمليات التجديد وإعادة التفعيل Grants مكررة. أما Grants لمرة واحدة فتكون idempotent لكل (entitlement, customer, payment).
أنشئ أول Entitlement لك
1
Open Entitlements
انتقل إلى Entitlements في لوحة التحكم وانقر على + لإنشاء entitlement.
2
Pick an Integration
اختر نوع التكامل: License Key أو Digital Files أو Feature Flag أو Discord أو GitHub أو Telegram أو Figma أو Framer أو Notion. بالنسبة إلى تكاملات المنصات، صِل حسابك أولًا إذا لم تكن قد فعلت ذلك من قبل.
3
Configure Delivery
املأ الحقول الخاصة بالتكامل. على سبيل المثال، يطلب GitHub مستودعًا ومستوى إذن، ويطلب Discord خادمًا ودورًا اختياريًا، بينما يطلب License Key حدًا لعدد عمليات التفعيل ومدة الترخيص.
Creating a GitHub entitlement. Each integration shows the fields it needs.
4
Save
انقر على Create Entitlement. يمكنك الآن ربط entitlement بأي منتج.
ربط Entitlements بالمنتجات
افتح منتجًا، وانتقل إلى قسم Entitlements، وحدد Entitlements التي تريد تسليمها عند شراء المنتج. يمكن لمنتج واحد تسليم عدة Entitlements في الوقت نفسه. على سبيل المثال، يمكن أن تتضمن خطة Pro مفتاح ترخيص وإمكانية وصول إلى GitHub ودورًا في Discord.
Attaching entitlements to a product. Selected entitlements are delivered on every successful purchase or active subscription.
تجربة العميل
البريد الإلكتروني وCustomer Portal
بعد الشراء، يتلقى العميل رسالة تسليم إلكترونية تتضمن مفتاح الترخيص أو روابط التنزيل أو روابط دعوة OAuth أو دعوة المنصة التي تنطبق على Entitlements الموجودة في المنتج. وتظل التفاصيل نفسها متاحة في Customer Portal، ضمن سجل الطلبات، ما دام Grant نشطًا.
التسليم المستند إلى OAuth
يتطلب وصول المشتركين إلى Discord وGitHub وNotion أن يسمح العميل لـ Dodo Payments بمنح هذا الوصول. تبقى هذه Grants في الحالة Pending إلى أن يكمل العميل تدفق OAuth من الرابط الموجود في بريده الإلكتروني أو في Customer Portal. بعد منح العميل الموافقة، ينتقل Grant إلى Delivered ويجهّز Dodo Payments إمكانية الوصول إلى المنصة.
الإبطال
عند إبطال Grant، يزيل Dodo Payments إمكانية الوصول من المنصة: إذ يزيل دور Discord أو يزيل متعاون GitHub أو يعطّل مفتاح الترخيص. ويرى العميل التغيير في Customer Portal.
بالنسبة إلى Digital Files، يمنع الإبطال إنشاء روابط تنزيل موقعة مسبقًا جديدة، لكنه لا يبطل النسخ التي نزّلها العميل بالفعل. خطط للتحكم في الوصول إلى محتواك مع مراعاة ذلك.
إدارة Grants
افتح أي entitlement من لوحة التحكم لعرض Grants الخاصة به. تعرض لوحة التفاصيل إجمالي Grants الممنوحة، وفلترًا للحالة، وصفًا واحدًا لكل Grant يتضمن العميل وتاريخ الوصول والحالة وإجراء Revoke.لإدارة Grants برمجيًا، أدرجها باستخدام فلتر status وأبطل Grant واحدًا باستخدام معرّفه:
import DodoPayments from 'dodopayments';const client = new DodoPayments({ bearerToken: process.env['DODO_PAYMENTS_API_KEY'],});// List grants for an entitlementconst grants = await client.entitlements.grants.list('ent_abc123', { status: 'Delivered',});// Revoke a single grantawait client.entitlements.grants.revoke('entg_xyz789', { id: 'ent_abc123',});
احذف entitlement حذفًا ناعمًا. لا يتم إبطال Grants الحالية، لكن Dodo Payments لم يعد يديرها.
Upload File
ارفع ملفًا بحجم يصل إلى 500 MiB إلى entitlement من نوع Digital Files.
List Grants
أدرج Grants الخاصة بـ entitlement، مع تصفيتها حسب الحالة والعميل.
Revoke Grant
أبطل Grant واحدًا يدويًا.
Webhooks
يرسل Dodo Payments أربعة أحداث webhook لدورة حياة Grant. اشترك فيها للحفاظ على مزامنة تطبيقك مع ما يمكن لكل عميل الوصول إليه.
الحدث
يحدث عند
entitlement_grant.created
إنشاء Grant. تصل Grants الخاصة بمفاتيح التراخيص التي تم تنفيذها تلقائيًا وGrants الخاصة بـ feature flags بالحالة Delivered. أما Grants الخاصة بمفاتيح التراخيص التي تم تنفيذها يدويًا وكل تكامل آخر فتصل بالحالة Pending، ثم تنتقل إلى Delivered بعد نجاح استدعاء المنصة أو، بالنسبة إلى التكاملات المستندة إلى OAuth، بعد منح العميل الموافقة.
entitlement_grant.delivered
انتقال Grant موجود إلى Delivered، بحيث يحصل العميل الآن على إمكانية الوصول. لا يطلق Grant الموجود بالحالة Delivered عند الإنشاء سوى created.
اعرض مخطط الحمولة الكامل والأحداث النموذجية ومرجع revocation_reason.
أفضل الممارسات
استخدم entitlement واحدًا لكل قناة تسليم. لا تشارك entitlement واحدًا لـ Discord بين منتجات ذات نوايا مختلفة للأدوار. أنشئ entitlement واحدًا لكل دور حتى يظل الإبطال نظيفًا.
اختبر في وضع الاختبار أولًا. أنشئ entitlement، واربطه بمنتج اختباري، ونفّذ عملية checkout، وراقب انتقال Grant من Pending إلى Delivered. ثم ألغِ الاشتراك الاختباري وتأكد من إبطال Grant.
استمع إلى entitlement_grant.delivered، وليس payment.succeeded. قد تنجح عملية الدفع قبل اكتمال التنفيذ، خصوصًا في تدفقات OAuth. انتظر وصول Grant إلى Delivered قبل فتح الميزات التابعة في أنظمتك الخاصة. أما Grant الذي يتم تسليمه عند الإنشاء، مثل مفتاح ترخيص يتم تنفيذه تلقائيًا أو feature flag، فيصل كـ entitlement_grant.created مع status: "Delivered" بدلًا من ذلك.
تعامل مع entitlement_grant.failed باعتباره قابلًا للإجراء. يعني Grant الفاشل أن العميل دفع لكنه لم يحصل على إمكانية الوصول. اعرض هذه Grants على فريق الدعم أو شغّل إعادة منح.
اربط revocation_reason بتدفقات الاحتفاظ بالعملاء لديك. يمكن استرداد إبطال subscription_on_hold، لأن العميل قد يحدّث بطاقته. أما إبطال manual فهو مقصود. تعامل معهما بشكل مختلف في رسائل العملاء.
لا تبطل إمكانية الوصول عند subscription.past_due. يفتح ذلك الحدث فترة سماح، ويحتفظ العميل بإمكانية الوصول حتى انتهاء المدة. انتظر subscription.on_hold أو subscription.cancelled.
آخر تعديل في ٢٦ سبتمبر ٢٠٢٦
هل كانت هذه الصفحة مفيدة؟
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Dodo Payments Documentation","description":"Documentation for Dodo Payments — the all-in-one payments, billing, and merchant of record platform for SaaS, AI, and digital products.","colors":{"primary":"#779812","light":"#C6FE1E","dark":"#166534"},"logo":{"light":"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/light.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=23f7a052f7ecb9d6570b7c95ee359a97","dark":"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/dark.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=cd6c20238a54526436f21c43fee51b26"},"favicon":"https://mintcdn.com/dodopayments/doYQc9oUE-WNz0cs/favicon.svg?fit=max\u0026auto=format\u0026n=doYQc9oUE-WNz0cs\u0026q=85\u0026s=271c6cc8ce7d6bf4d7f2b9cca029e004","background":{"color":{"light":"#FFFFFF","dark":"#0D0D0D"}},"navbar":{"links":[{"icon":"link","href":"https://docs.dodopayments.com/llms-full.txt","label":"llms-full.txt"},{"icon":"discord","href":"https://discord.gg/bYqAp4ayYh","label":"Community"},{"icon":"house","href":"https://app.dodopayments.com/","label":"Dashboard"}]},"footer":{"socials":{"x":"https://x.com/dodopayments","linkedin":"https://linkedin.com/company/dodopayments","website":"https://dodopayments.com","discord":"https://discord.gg/bYqAp4ayYh","github":"https://github.com/dodopayments","instagram":"https://www.instagram.com/dodo.payments","facebook":"https://www.facebook.com/profile.php?id=61565515607280"}},"seo":{"metatags":{"og:site_name":"Dodo Payments Documentation","twitter:card":"summary_large_image"},"indexing":"navigable"},"fonts":{"heading":{"family":"ApfelGrotezk","weight":400,"source":"fonts/ApfelGrotezk-Regular.woff2","format":"woff2"},"body":{"family":"Inter","weight":400,"source":"fonts/Inter-Variable.woff2","format":"woff2"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"introduction"},{"language":"es","href":"es/introduction"},{"language":"ar","href":"ar/introduction"},{"language":"fr","href":"fr/introduction"},{"language":"de","href":"de/introduction"},{"language":"id","href":"id/introduction"},{"language":"ja","href":"ja/introduction"},{"language":"ko","href":"ko/introduction"},{"language":"pt-BR","href":"pt-BR/introduction"},{"language":"vi","href":"vi/introduction"},{"language":"cn","href":"cn/introduction"},{"language":"hi","href":"hi/introduction"},{"language":"it","href":"it/introduction"},{"language":"sv","href":"sv/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dodopayments","hasAudioNarration":false,"actualSubdomain":"dodopayments","customDomains":["docs.dodopayments.com"],"gitSource":{"type":"github","owner":"dodopayments","repo":"dodo-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af61516aad23a11c9aa58ca","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"en","tag":"API Reference","count":181},{"language":"en","tag":"Docs","count":178},{"language":"ar","tag":"Docs","count":153},{"language":"cn","tag":"Docs","count":153},{"language":"de","tag":"Docs","count":153},{"language":"es","tag":"Docs","count":153},{"language":"fr","tag":"Docs","count":153},{"language":"hi","tag":"Docs","count":153},{"language":"id","tag":"Docs","count":153},{"language":"it","tag":"Docs","count":153},{"language":"ja","tag":"Docs","count":153},{"language":"ko","tag":"Docs","count":153},{"language":"pt-BR","tag":"Docs","count":153},{"language":"sv","tag":"Docs","count":153},{"language":"vi","tag":"Docs","count":153},{"language":"ar","tag":"API Reference","count":151},{"language":"cn","tag":"API Reference","count":151},{"language":"de","tag":"API Reference","count":151},{"language":"es","tag":"API Reference","count":151},{"language":"fr","tag":"API Reference","count":151},{"language":"hi","tag":"API Reference","count":151},{"language":"id","tag":"API Reference","count":151},{"language":"it","tag":"API Reference","count":151},{"language":"ja","tag":"API Reference","count":151},{"language":"ko","tag":"API Reference","count":151},{"language":"pt-BR","tag":"API Reference","count":151},{"language":"sv","tag":"API Reference","count":151},{"language":"vi","tag":"API Reference","count":151},{"language":"en","tag":"Features","count":87},{"language":"ar","tag":"Features","count":81},{"language":"cn","tag":"Features","count":81},{"language":"de","tag":"Features","count":81},{"language":"es","tag":"Features","count":81},{"language":"fr","tag":"Features","count":81},{"language":"hi","tag":"Features","count":81},{"language":"id","tag":"Features","count":81},{"language":"it","tag":"Features","count":81},{"language":"ja","tag":"Features","count":81},{"language":"ko","tag":"Features","count":81},{"language":"pt-BR","tag":"Features","count":81},{"language":"sv","tag":"Features","count":81},{"language":"vi","tag":"Features","count":81},{"language":"en","tag":"Integrate","count":75},{"language":"en","tag":"Changelog","count":66},{"language":"ar","tag":"Changelog","count":65},{"language":"cn","tag":"Changelog","count":65},{"language":"de","tag":"Changelog","count":65},{"language":"es","tag":"Changelog","count":65},{"language":"fr","tag":"Changelog","count":65},{"language":"hi","tag":"Changelog","count":65},{"language":"id","tag":"Changelog","count":65},{"language":"it","tag":"Changelog","count":65},{"language":"ja","tag":"Changelog","count":65},{"language":"ko","tag":"Changelog","count":65},{"language":"pt-BR","tag":"Changelog","count":65},{"language":"sv","tag":"Changelog","count":65},{"language":"vi","tag":"Changelog","count":65},{"language":"ar","tag":"Integrate","count":59},{"language":"cn","tag":"Integrate","count":59},{"language":"de","tag":"Integrate","count":59},{"language":"es","tag":"Integrate","count":59},{"language":"fr","tag":"Integrate","count":59},{"language":"hi","tag":"Integrate","count":59},{"language":"id","tag":"Integrate","count":59},{"language":"it","tag":"Integrate","count":59},{"language":"ja","tag":"Integrate","count":59},{"language":"ko","tag":"Integrate","count":59},{"language":"pt-BR","tag":"Integrate","count":59},{"language":"sv","tag":"Integrate","count":59},{"language":"vi","tag":"Integrate","count":59},{"language":"en","tag":"External Integrations","count":33},{"language":"ar","tag":"External Integrations","count":30},{"language":"cn","tag":"External Integrations","count":30},{"language":"de","tag":"External Integrations","count":30},{"language":"es","tag":"External Integrations","count":30},{"language":"fr","tag":"External Integrations","count":30},{"language":"hi","tag":"External Integrations","count":30},{"language":"id","tag":"External Integrations","count":30},{"language":"it","tag":"External Integrations","count":30},{"language":"ja","tag":"External Integrations","count":30},{"language":"ko","tag":"External Integrations","count":30},{"language":"pt-BR","tag":"External Integrations","count":30},{"language":"sv","tag":"External Integrations","count":30},{"language":"vi","tag":"External Integrations","count":30},{"language":"en","tag":"Webhooks","count":24},{"language":"ar","tag":"Webhooks","count":23},{"language":"cn","tag":"Webhooks","count":23},{"language":"de","tag":"Webhooks","count":23},{"language":"es","tag":"Webhooks","count":23},{"language":"fr","tag":"Webhooks","count":23},{"language":"hi","tag":"Webhooks","count":23},{"language":"id","tag":"Webhooks","count":23},{"language":"it","tag":"Webhooks","count":23},{"language":"ja","tag":"Webhooks","count":23},{"language":"ko","tag":"Webhooks","count":23},{"language":"pt-BR","tag":"Webhooks","count":23},{"language":"sv","tag":"Webhooks","count":23},{"language":"vi","tag":"Webhooks","count":23},{"language":"en","tag":"Guides","count":22},{"language":"ar","tag":"Guides","count":22},{"language":"cn","tag":"Guides","count":22},{"language":"de","tag":"Guides","count":22},{"language":"es","tag":"Guides","count":22},{"language":"fr","tag":"Guides","count":22},{"language":"hi","tag":"Guides","count":22},{"language":"id","tag":"Guides","count":22},{"language":"it","tag":"Guides","count":22},{"language":"ja","tag":"Guides","count":22},{"language":"ko","tag":"Guides","count":22},{"language":"pt-BR","tag":"Guides","count":22},{"language":"sv","tag":"Guides","count":22},{"language":"vi","tag":"Guides","count":22},{"language":"en","tag":"Entitlements","count":20},{"language":"ar","tag":"Entitlements","count":20},{"language":"cn","tag":"Entitlements","count":20},{"language":"de","tag":"Entitlements","count":20},{"language":"es","tag":"Entitlements","count":20},{"language":"fr","tag":"Entitlements","count":20},{"language":"hi","tag":"Entitlements","count":20},{"language":"id","tag":"Entitlements","count":20},{"language":"it","tag":"Entitlements","count":20},{"language":"ja","tag":"Entitlements","count":20},{"language":"ko","tag":"Entitlements","count":20},{"language":"pt-BR","tag":"Entitlements","count":20},{"language":"sv","tag":"Entitlements","count":20},{"language":"vi","tag":"Entitlements","count":20},{"language":"en","tag":"Invoices","count":17},{"language":"ar","tag":"Customers","count":16},{"language":"cn","tag":"Customers","count":16},{"language":"de","tag":"Customers","count":16},{"language":"es","tag":"Customers","count":16},{"language":"fr","tag":"Customers","count":16},{"language":"hi","tag":"Customers","count":16},{"language":"id","tag":"Customers","count":16},{"language":"it","tag":"Customers","count":16},{"language":"ja","tag":"Customers","count":16},{"language":"ko","tag":"Customers","count":16},{"language":"pt-BR","tag":"Customers","count":16},{"language":"sv","tag":"Customers","count":16},{"language":"vi","tag":"Customers","count":16}]},"assistantConfig":{"deflection":{"enabled":false,"email":"support@dodopayments.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#content-area{max-width:60rem}h1,h2,h3,h4,h5,h6{letter-spacing:0.05em!important}.welcome-page .card-group{margin:3rem auto 8rem;max-width:70rem;padding-left:1.25rem;padding-right:1.25rem}.welcome-page .card-group .card{padding:1rem}.welcome-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:20vh;text-align:center;margin-top:3rem;margin-bottom:2.5rem}.welcome-hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2;color:#fff}.welcome-hero p{font-size:1.25rem;max-width:600px;margin:0 auto}.welcome-hero h1{color:rgb(41 42 37 / 1)}.dark .welcome-hero h1{color:rgb(255 255 255 / 1)}.welcome-hero p{color:rgb(83 85 79 / 1)}.dark .welcome-hero p{color:rgb(162 164 158 / 1)}"}],"page":{"pagePath":"ar/features/entitlements/introduction","slug":"/ar/features/entitlements/introduction","pageMetadata":{"title":"مقدمة","sidebarTitle":"مقدمة","description":"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.","icon":"box-archive","keywords":["Dodo Payments","الاستحقاقات","الوفاء","مفاتيح الترخيص","التسليم الرقمي","الوصول إلى المنصة"],"href":"/ar/features/entitlements/introduction"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,CodeGroup,Frame,Heading,Info,Note,OptimizedImage,Step,Steps,Table,Tip,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsx(_components.p,{children:`تحوّل Entitlements عملية الدفع الناجحة أو الاشتراك النشط إلى إمكانية وصول: مفتاح ترخيص في صندوق وارد العميل، أو feature flag يفحصه تطبيقك، أو دور في Discord، أو مستودع GitHub، أو قالب Notion، أو رابط remix في Framer، أو دعوة إلى محادثة Telegram، أو حزمة ملفات قابلة للتنزيل. يتولى Dodo Payments إصدار إمكانية الوصول هذه وتتبعها وإبطالها تلقائيًا مع تغيّر دورة حياة الدفع.`})}),`\n`,_jsx(Frame,{caption:`The Entitlements dashboard. Each entitlement is a reusable template; the right pane shows individual customer grants.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/list.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=12a326205f64d1e71485bce46114d296`,alt:`لوحة معلومات الاستحقاقات مع قائمة بالاستحقاقات على اليسار ونشاط المنح على اليمين`,style:{maxHeight:`500px`,width:`auto`},\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1195`,height:`1195`,\"data-path\":`images/entitlements/list.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/list.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=d12b37e6f3daedbb84e544d08513207e 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/list.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=70afcf57fcdd38039179d3054a5eb73f 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/list.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=b1cb6ba70f564db87c9bd19f50b21f44 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/list.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=463a9ba560357d16a43e39c23ea5a042 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/list.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=8b695099d64c9bc75bef9fa1bef28541 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/list.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=9e86c8dff013279ce9c94de2b5d48338 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`ما-هي-entitlements؟`,children:`ما هي Entitlements؟`}),`\n`,_jsxs(_components.p,{children:[`إن `,_jsx(_components.strong,{children:`entitlement`}),` هو تعريف قابل لإعادة الاستخدام لشيء تسلّمه إلى العميل، مثل مفتاح ترخيص Pro، أو دور Discord باسم “Patrons”، أو إمكانية الوصول إلى مستودع GitHub خاص بك، أو حزمة كتب إلكترونية قابلة للتنزيل. تربط Entitlements بالمنتجات، ويسلّمها Dodo Payments عندما يدفع العميل.`]}),`\n`,_jsxs(_components.p,{children:[`عندما يشتري العميل المنتج، ينشئ Dodo Payments `,_jsx(_components.strong,{children:`grant`}),`: أي إصدار هذا entitlement لعميل واحد. يكون للـ grant إحدى أربع حالات: `,_jsx(_components.code,{children:`Pending`}),` أثناء تقدم التسليم، و`,_jsx(_components.code,{children:`Delivered`}),` بمجرد حصول العميل على إمكانية الوصول، و`,_jsx(_components.code,{children:`Failed`}),` إذا تعذر إكمال التسليم، و`,_jsx(_components.code,{children:`Revoked`}),` عند سحب إمكانية الوصول.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`تتحكم Entitlements في `,_jsx(_components.strong,{children:`التنفيذ`}),` (هل يملك العميل إمكانية الوصول؟). أما Credits فتتحكم في `,_jsx(_components.strong,{children:`الاستهلاك`}),` (ما المقدار الذي يمكنه استخدامه؟). يمكنك ربط كليهما بالمنتج نفسه. راجع `,_jsx(_components.a,{href:`/features/credit-based-billing`,children:`الفوترة القائمة على Credits`}),` لمعرفة المزيد عن Credits.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`عمليات-دمج-متاحة`,children:`عمليات دمج متاحة`}),`\n`,_jsx(_components.p,{children:`يتم تسليم كل entitlement من خلال تكامل واحد. اختر التكامل الذي يتوافق مع ما تبيعه.`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`License Keys`,icon:`key`,href:`/features/license-keys`,children:_jsx(_components.p,{children:`إنشاء مفاتيح ترخيص فريدة مع حدود تفعيل وانتهاء. الأفضل للبرامج، الملحقات، و CLIs.`})}),_jsx(Card,{title:`Digital Files`,icon:`download`,href:`/features/digital-product-delivery`,children:_jsx(_components.p,{children:`سلّم الملفات القابلة للتنزيل، مثل الكتب الإلكترونية والقوالب والوسائط، باستخدام روابط تنزيل موقعة مسبقًا وتعليمات اختيارية.`})}),_jsx(Card,{title:`Feature Flags`,icon:`flag`,href:`/features/entitlements/feature-flags`,children:_jsx(_components.p,{children:`تحكّم في ميزات تطبيقك الخاص بناءً على عملية شراء. يتم التسليم عند الإنشاء، والتحقق من خلال API، والإبطال عند الإلغاء.`})}),_jsx(Card,{title:`Discord`,icon:`discord`,href:`/features/entitlements/discord`,children:_jsx(_components.p,{children:`امنح العميل دورًا في خادم Discord الخاص بك عند الشراء. تتم إزالة الدور تلقائيًا عند الإلغاء.`})}),_jsx(Card,{title:`GitHub`,icon:`github`,href:`/features/entitlements/github`,children:_jsx(_components.p,{children:`أضف العملاء كمتعاونين في مستودع خاص بمستوى الإذن الذي تختاره.`})}),_jsx(Card,{title:`Telegram`,icon:`telegram`,href:`/features/entitlements/telegram`,children:_jsx(_components.p,{children:`أضف العملاء إلى دردشة أو قناة Telegram خاصة بعد الشراء.`})}),_jsx(Card,{title:`Framer`,icon:`puzzle-piece`,href:`/features/entitlements/framer`,children:_jsx(_components.p,{children:`افتح رابط قالب Remix في Framer للعملاء الذين يدفعون.`})}),_jsx(Card,{title:`Notion`,icon:`book`,href:`/features/entitlements/notion`,children:_jsx(_components.p,{children:`انسخ قالب Notion إلى مساحة عمل العميل عند الشراء.`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`كيف-تعمل-المنح`,children:`كيف تعمل المنح`}),`\n`,_jsx(_components.p,{children:`تتبع Grants أحداث الدفع والاشتراك نفسها التي تتلقاها باعتبارها webhooks. ينشئ Dodo Payments Grants لعمليات الشراء ويبطلها تلقائيًا، استنادًا إلى دورة حياة الدفع، لذلك لا تحتاج إلى استدعاء Grant API بنفسك.`}),`\n`,_jsx(Heading,{level:`3`,id:`دورة-حياة-المنحة`,children:`دورة حياة المنحة`}),`\n`,_jsx(_components.p,{children:`يمر Grant بالحالات التالية:`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Created`,children:[_jsxs(_components.p,{children:[`ينشئ Dodo Payments Grant عند اكتمال الدفع أو عند تفعيل الاشتراك. تبدأ Grants الخاصة بـ feature flags بالحالة `,_jsx(_components.code,{children:`Delivered`}),`. كما تبدأ Grants الخاصة بمفاتيح التراخيص بالحالة `,_jsx(_components.code,{children:`Delivered`}),` عندما يستخدم entitlement القيمة `,_jsx(_components.code,{children:`fulfillment_mode: auto`}),` (وهي القيمة الافتراضية). في ظل `,_jsx(_components.code,{children:`fulfillment_mode: manual`}),`، يبدأ Grant بالحالة `,_jsx(_components.code,{children:`Pending`}),` من دون مفتاح إلى أن توفّر واحدًا باستخدام `,_jsx(_components.a,{href:`/api-reference/entitlements/fulfill-license-key`,children:`Fulfill License Key Grant`}),`. يبدأ كل تكامل آخر بالحالة `,_jsx(_components.code,{children:`Pending`}),`.`]}),_jsxs(_components.p,{children:[`تكاملات OAuth (Discord وGitHub وNotion) تعرض `,_jsx(_components.code,{children:`oauth_url`}),` يزوره العميل لمنح الموافقة. يحاول Dodo Payments إنشاء هذا الرابط عند إنشاء Grant. وإذا فشل ذلك، يبقى الحقل `,_jsx(_components.code,{children:`null`}),` إلى أن يبدأ العميل تدفق القبول من رسالة التسليم الإلكترونية أو من Customer Portal. أما التكاملات المباشرة مع المنصة (Telegram وFramer وDigital Files) فتبقى في الحالة `,_jsx(_components.code,{children:`Pending`}),` فقط أثناء تجهيز التسليم، ثم تنتقل إلى `,_jsx(_components.code,{children:`Delivered`}),`.`]})]}),_jsx(Step,{title:`Delivered`,children:_jsxs(_components.p,{children:[`عند اكتمال التسليم، ينتقل Grant إلى `,_jsx(_components.code,{children:`Delivered`}),` ويتم تعيين `,_jsx(_components.code,{children:`delivered_at`}),`. يكتمل التسليم عند إنشاء مفتاح الترخيص، أو تعيين الدور، أو منح الوصول إلى المستودع، أو حل روابط الملفات، أو إنهاء تدفق OAuth.`]})}),_jsx(Step,{title:`Failed`,children:_jsxs(_components.p,{children:[`إذا أعاد استدعاء التكامل خطأً غير قابل لإعادة المحاولة، مثل رمز OAuth مُلغى، أو إذن مرفوض، أو ملف لم يعد موجودًا، ينتقل Grant إلى `,_jsx(_components.code,{children:`Failed`}),`. ويسجل الحقلان `,_jsx(_components.code,{children:`error_code`}),` و`,_jsx(_components.code,{children:`error_message`}),` السبب.`]})}),_jsx(Step,{title:`Revoked`,children:_jsxs(_components.p,{children:[`عند سحب إمكانية الوصول، مثلًا بسبب إلغاء اشتراك أو إصدار رد أموال أو إبطالك Grant، ينتقل Grant إلى `,_jsx(_components.code,{children:`Revoked`}),`. ويسجل الحقل `,_jsx(_components.code,{children:`revocation_reason`}),` المُشغّل.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`سلوك-grant-حسب-الحدث`,children:`سلوك Grant حسب الحدث`}),`\n`,_jsx(_components.p,{children:`يغيّر كل حدث دفع واشتراك Grants كما يلي:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`الحدث`}),_jsx(_components.th,{children:`السلوك`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`payment.succeeded`}),` (دفع لمرة واحدة)`]}),_jsx(_components.td,{children:`يصدر Grant واحدًا لكل entitlement مرتبط. ويصدر entitlement من نوع License Key Grant واحدًا لكل مفتاح.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`payment.succeeded`}),` (دفع مرتبط باشتراك)`]}),_jsx(_components.td,{children:`لا تغيير. تتولى أحداث الاشتراك أدناه قيادة هذه Grants.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.active`})}),_jsxs(_components.td,{children:[`يصدر Grants لأي Entitlements مرتبطة لا تملك Grant بعد، ويعيد منح Grants التي أُبطلت سابقًا للاشتراك نفسه. لا تتم إعادة منح Grants التي أُبطلت باستخدام `,_jsx(_components.code,{children:`manual`}),` أو `,_jsx(_components.code,{children:`refund`}),` أو `,_jsx(_components.code,{children:`platform_external`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.renewed`})}),_jsx(_components.td,{children:`لا تغيير. تستمر Grants الحالية عبر عمليات التجديد.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.past_due`})}),_jsxs(_components.td,{children:[`لا تغيير. تظل Grants مسلّمة طوال `,_jsx(_components.a,{href:`/features/subscription#grace-period`,children:`فترة السماح`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.on_hold`})}),_jsxs(_components.td,{children:[`يبطل جميع Grants المسلّمة والمعلّقة التي تحمل `,_jsx(_components.code,{children:`revocation_reason: subscription_on_hold`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.paused`})}),_jsxs(_components.td,{children:[`يبطل جميع Grants المسلّمة والمعلّقة التي تحمل `,_jsx(_components.code,{children:`revocation_reason: SubscriptionPaused`}),`. بخلاف أسباب الاشتراك الأخرى، تستخدم هذه القيمة PascalCase، لذا طابقها تمامًا.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.unpaused`})}),_jsxs(_components.td,{children:[`يعيد منح Grants التي أُبطلت سابقًا للاشتراك نفسه، بالطريقة نفسها التي يعمل بها `,_jsx(_components.code,{children:`subscription.active`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.cancelled`})}),_jsxs(_components.td,{children:[`يبطل جميع Grants التي تحمل `,_jsx(_components.code,{children:`revocation_reason: subscription_cancelled`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.expired`})}),_jsxs(_components.td,{children:[`يبطل جميع Grants التي تحمل `,_jsx(_components.code,{children:`revocation_reason: subscription_expired`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscription.plan_changed`})}),_jsxs(_components.td,{children:[`يبطل جميع Grants الحالية التي تحمل `,_jsx(_components.code,{children:`revocation_reason: plan_changed`}),`، ثم يصدر Grants لـ Entitlements الخطة الجديدة.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`refund.succeeded`}),` (دفع لمرة واحدة)`]}),_jsxs(_components.td,{children:[`يبطل Grants الخاصة بذلك الدفع التي تحمل `,_jsx(_components.code,{children:`revocation_reason: refund`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`إبطال يدوي عبر API`}),_jsxs(_components.td,{children:[`يبطل Grant باستخدام `,_jsx(_components.code,{children:`revocation_reason: manual`}),`. لا تتم إعادة منح عمليات الإبطال اليدوية تلقائيًا عند تجديد الاشتراك.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`تعطيل مفتاح الترخيص`}),_jsxs(_components.td,{children:[`بالنسبة إلى Grants الخاصة بمفاتيح التراخيص، يؤدي تعطيل المفتاح الأساسي إلى إبطال Grant باستخدام `,_jsx(_components.code,{children:`revocation_reason: license_key_disabled`}),`. تؤدي إعادة تفعيل المفتاح إلى استعادة Grant تلقائيًا.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`اكتشاف اختلاف في المنصة`}),_jsxs(_components.td,{children:[`إذا خرج جانب المنصة من التكامل عن المزامنة، مثل إزالة دور Discord يدويًا، أو فقدان GitHub App للوصول إلى المستودع، أو اكتشاف عملية تسوية لهدف مفقود، فإن Dodo Payments يبطل Grant باستخدام `,_jsx(_components.code,{children:`revocation_reason: platform_external`}),`. ولا تتم إعادة منحه تلقائيًا عند تجديد الاشتراك إلى أن تُحل مشكلة المنصة.`]})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`تكون Grants المدفوعة بالاشتراك idempotent لكل `,_jsx(_components.code,{children:`(entitlement, customer, subscription)`}),`، لذلك لا تنشئ عمليات التجديد وإعادة التفعيل Grants مكررة. أما Grants لمرة واحدة فتكون idempotent لكل `,_jsx(_components.code,{children:`(entitlement, customer, payment)`}),`.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`أنشئ-أول-entitlement-لك`,children:`أنشئ أول Entitlement لك`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Entitlements`,children:_jsxs(_components.p,{children:[`انتقل إلى `,_jsx(_components.strong,{children:`Entitlements`}),` في لوحة التحكم وانقر على `,_jsx(_components.strong,{children:`+`}),` لإنشاء entitlement.`]})}),_jsx(Step,{title:`Pick an Integration`,children:_jsx(_components.p,{children:`اختر نوع التكامل: License Key أو Digital Files أو Feature Flag أو Discord أو GitHub أو Telegram أو Figma أو Framer أو Notion. بالنسبة إلى تكاملات المنصات، صِل حسابك أولًا إذا لم تكن قد فعلت ذلك من قبل.`})}),_jsxs(Step,{title:`Configure Delivery`,children:[_jsx(_components.p,{children:`املأ الحقول الخاصة بالتكامل. على سبيل المثال، يطلب GitHub مستودعًا ومستوى إذن، ويطلب Discord خادمًا ودورًا اختياريًا، بينما يطلب License Key حدًا لعدد عمليات التفعيل ومدة الترخيص.`}),_jsx(Frame,{caption:`Creating a GitHub entitlement. Each integration shows the fields it needs.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/github/create.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=722e925ec5158a5d16c58213132ccb9d`,alt:`نموذج New Entitlement مع محدد التكامل وحقول الإعداد`,style:{maxHeight:`500px`,width:`auto`},\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1130`,height:`1130`,\"data-path\":`images/entitlements/github/create.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/github/create.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=27f80ec98d393359ca3136524a0ad9d8 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/github/create.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=6cf0a907fa86298b9ad896b1a604fa0b 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/github/create.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=a34a563dad17160d3c13067e3a349f3c 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/github/create.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=fc893072e5f07d021b962b0bdd87933c 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/github/create.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=222cfaf3c0ac63f69d8494d7387d3e22 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/github/create.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=f6b547a74f61c76b6735d3e92c4960d8 2500w`})})]}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`انقر على `,_jsx(_components.strong,{children:`Create Entitlement`}),`. يمكنك الآن ربط entitlement بأي منتج.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`ربط-entitlements-بالمنتجات`,children:`ربط Entitlements بالمنتجات`}),`\n`,_jsxs(_components.p,{children:[`افتح منتجًا، وانتقل إلى قسم `,_jsx(_components.strong,{children:`Entitlements`}),`، وحدد Entitlements التي تريد تسليمها عند شراء المنتج. يمكن لمنتج واحد تسليم عدة Entitlements في الوقت نفسه. على سبيل المثال، يمكن أن تتضمن خطة Pro مفتاح ترخيص وإمكانية وصول إلى GitHub ودورًا في Discord.`]}),`\n`,_jsx(Frame,{caption:`Attaching entitlements to a product. Selected entitlements are delivered on every successful purchase or active subscription.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/attach-to-product.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=965ad78262791fa8dbb712b4fdf89538`,alt:`لوحة اختيار Entitlements للمنتج تعرض مربعات اختيار لكل entitlement متاح`,style:{maxHeight:`500px`,width:`auto`},\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1197`,height:`1197`,\"data-path\":`images/entitlements/attach-to-product.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/attach-to-product.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=4b98785a408414890f3247f318c96740 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/attach-to-product.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=64f89fb68e337ec53ff48c75f0c4dc4e 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/attach-to-product.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=2c289e402cf161b27d7c0f90b81ccd6f 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/attach-to-product.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=0632a046cb6d1c5e6529f3d63911f5d8 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/attach-to-product.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=7e9d6f96690fcd3e53eebef77df2d279 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/attach-to-product.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=adbc6c5a189350107f9faf43b2a47224 2500w`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`تجربة-العميل`,children:`تجربة العميل`}),`\n`,_jsx(Heading,{level:`3`,id:`البريد-الإلكتروني-وcustomer-portal`,children:`البريد الإلكتروني وCustomer Portal`}),`\n`,_jsxs(_components.p,{children:[`بعد الشراء، يتلقى العميل رسالة تسليم إلكترونية تتضمن مفتاح الترخيص أو روابط التنزيل أو روابط دعوة OAuth أو دعوة المنصة التي تنطبق على Entitlements الموجودة في المنتج. وتظل التفاصيل نفسها متاحة في `,_jsx(_components.a,{href:`/features/customer-portal`,children:`Customer Portal`}),`، ضمن سجل الطلبات، ما دام Grant نشطًا.`]}),`\n`,_jsx(Heading,{level:`3`,id:`التسليم-المستند-إلى-oauth`,children:`التسليم المستند إلى OAuth`}),`\n`,_jsxs(_components.p,{children:[`يتطلب وصول المشتركين إلى Discord وGitHub وNotion أن يسمح العميل لـ Dodo Payments بمنح هذا الوصول. تبقى هذه Grants في الحالة `,_jsx(_components.code,{children:`Pending`}),` إلى أن يكمل العميل تدفق OAuth من الرابط الموجود في بريده الإلكتروني أو في Customer Portal. بعد منح العميل الموافقة، ينتقل Grant إلى `,_jsx(_components.code,{children:`Delivered`}),` ويجهّز Dodo Payments إمكانية الوصول إلى المنصة.`]}),`\n`,_jsx(Heading,{level:`3`,id:`الإبطال`,children:`الإبطال`}),`\n`,_jsx(_components.p,{children:`عند إبطال Grant، يزيل Dodo Payments إمكانية الوصول من المنصة: إذ يزيل دور Discord أو يزيل متعاون GitHub أو يعطّل مفتاح الترخيص. ويرى العميل التغيير في Customer Portal.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`بالنسبة إلى Digital Files، يمنع الإبطال إنشاء روابط تنزيل موقعة مسبقًا جديدة، لكنه لا يبطل النسخ التي نزّلها العميل بالفعل. خطط للتحكم في الوصول إلى محتواك مع مراعاة ذلك.`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`إدارة-grants`,children:`إدارة Grants`}),`\n`,_jsxs(_components.p,{children:[`افتح أي entitlement من لوحة التحكم لعرض Grants الخاصة به. تعرض لوحة التفاصيل إجمالي Grants الممنوحة، وفلترًا للحالة، وصفًا واحدًا لكل Grant يتضمن العميل وتاريخ الوصول والحالة وإجراء `,_jsx(_components.strong,{children:`Revoke`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`لإدارة Grants برمجيًا، أدرجها باستخدام فلتر `,_jsx(_components.code,{children:`status`}),` وأبطل Grant واحدًا باستخدام معرّفه:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`TypeScript`,expandable:`true`,numberOfLines:`15`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` DodoPayments`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'dodopayments'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` DodoPayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` bearerToken:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'DODO_PAYMENTS_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// List grants for an entitlement`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` grants`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`entitlements`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`grants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`list`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ent_abc123'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` status:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Delivered'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Revoke a single grant`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`entitlements`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`grants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`revoke`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'entg_xyz789'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` id:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'ent_abc123'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,expandable:`true`,numberOfLines:`10`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Assumes client = DodoPayments(bearer_token=os.environ[\"DODO_PAYMENTS_API_KEY\"])`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`grants `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.entitlements.grants.list(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ent_abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` status`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Delivered\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.entitlements.grants.revoke(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"entg_xyz789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ent_abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Go`,expandable:`true`,numberOfLines:`13`,language:`go`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`13`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Assumes client := dodopayments.NewClient() and ctx := context.Background().`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`grants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Entitlements`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Grants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`List`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ctx`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ent_abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`EntitlementGrantListParams`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`F`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`EntitlementGrantListParamsStatusDelivered`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nil`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` panic`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`fmt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Println`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`grants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Items`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Entitlements`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Grants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Revoke`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ent_abc123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"entg_xyz789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`إدارة-api`,children:`إدارة API`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Create Entitlement`,icon:`plus`,href:`/api-reference/entitlements/create-entitlement`,children:_jsx(_components.p,{children:`أنشئ entitlement من أي نوع من أنواع التكامل.`})}),_jsx(Card,{title:`List Entitlements`,icon:`list`,href:`/api-reference/entitlements/list-entitlements`,children:_jsx(_components.p,{children:`أدرج Entitlements مع تصفيتها حسب نوع التكامل.`})}),_jsx(Card,{title:`Get Entitlement`,icon:`magnifying-glass`,href:`/api-reference/entitlements/get-entitlement`,children:_jsx(_components.p,{children:`استرجع entitlement وإعداده الذي تمت تسويته.`})}),_jsx(Card,{title:`Update Entitlement`,icon:`pen`,href:`/api-reference/entitlements/update-entitlement`,children:_jsx(_components.p,{children:`حدّث الاسم أو الوصف أو إعداد التكامل.`})}),_jsx(Card,{title:`Delete Entitlement`,icon:`trash`,href:`/api-reference/entitlements/delete-entitlement`,children:_jsx(_components.p,{children:`احذف entitlement حذفًا ناعمًا. لا يتم إبطال Grants الحالية، لكن Dodo Payments لم يعد يديرها.`})}),_jsx(Card,{title:`Upload File`,icon:`upload`,href:`/api-reference/entitlements/upload-file`,children:_jsx(_components.p,{children:`ارفع ملفًا بحجم يصل إلى 500 MiB إلى entitlement من نوع Digital Files.`})}),_jsx(Card,{title:`List Grants`,icon:`users`,href:`/api-reference/entitlements/list-grants`,children:_jsx(_components.p,{children:`أدرج Grants الخاصة بـ entitlement، مع تصفيتها حسب الحالة والعميل.`})}),_jsx(Card,{title:`Revoke Grant`,icon:`ban`,href:`/api-reference/entitlements/revoke-grant`,children:_jsx(_components.p,{children:`أبطل Grant واحدًا يدويًا.`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`webhooks`,children:`Webhooks`}),`\n`,_jsx(_components.p,{children:`يرسل Dodo Payments أربعة أحداث webhook لدورة حياة Grant. اشترك فيها للحفاظ على مزامنة تطبيقك مع ما يمكن لكل عميل الوصول إليه.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`الحدث`}),_jsx(_components.th,{children:`يحدث عند`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`entitlement_grant.created`})}),_jsxs(_components.td,{children:[`إنشاء Grant. تصل Grants الخاصة بمفاتيح التراخيص التي تم تنفيذها تلقائيًا وGrants الخاصة بـ feature flags بالحالة `,_jsx(_components.code,{children:`Delivered`}),`. أما Grants الخاصة بمفاتيح التراخيص التي تم تنفيذها يدويًا وكل تكامل آخر فتصل بالحالة `,_jsx(_components.code,{children:`Pending`}),`، ثم تنتقل إلى `,_jsx(_components.code,{children:`Delivered`}),` بعد نجاح استدعاء المنصة أو، بالنسبة إلى التكاملات المستندة إلى OAuth، بعد منح العميل الموافقة.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`entitlement_grant.delivered`})}),_jsxs(_components.td,{children:[`انتقال Grant موجود إلى `,_jsx(_components.code,{children:`Delivered`}),`، بحيث يحصل العميل الآن على إمكانية الوصول. لا يطلق Grant الموجود بالحالة `,_jsx(_components.code,{children:`Delivered`}),` عند الإنشاء سوى `,_jsx(_components.code,{children:`created`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`entitlement_grant.failed`})}),_jsxs(_components.td,{children:[`تعذّر تسليم Grant. افحص `,_jsx(_components.code,{children:`error_code`}),` و`,_jsx(_components.code,{children:`error_message`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`entitlement_grant.revoked`})}),_jsxs(_components.td,{children:[`تم سحب إمكانية الوصول. افحص `,_jsx(_components.code,{children:`revocation_reason`}),`.`]})]})]})]}),`\n`,_jsx(Card,{title:`Entitlement Grant Webhook Payloads`,icon:`bell`,href:`/developer-resources/webhooks/intents/entitlement-grant`,children:_jsxs(_components.p,{children:[`اعرض مخطط الحمولة الكامل والأحداث النموذجية ومرجع `,_jsx(_components.code,{children:`revocation_reason`}),`.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`أفضل-الممارسات`,children:`أفضل الممارسات`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`استخدم entitlement واحدًا لكل قناة تسليم.`}),` لا تشارك entitlement واحدًا لـ Discord بين منتجات ذات نوايا مختلفة للأدوار. أنشئ entitlement واحدًا لكل دور حتى يظل الإبطال نظيفًا.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`اختبر في وضع الاختبار أولًا.`}),` أنشئ entitlement، واربطه بمنتج اختباري، ونفّذ عملية checkout، وراقب انتقال Grant من `,_jsx(_components.code,{children:`Pending`}),` إلى `,_jsx(_components.code,{children:`Delivered`}),`. ثم ألغِ الاشتراك الاختباري وتأكد من إبطال Grant.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`استمع إلى `,_jsx(_components.code,{children:`entitlement_grant.delivered`}),`، وليس `,_jsx(_components.code,{children:`payment.succeeded`}),`.`]}),` قد تنجح عملية الدفع قبل اكتمال التنفيذ، خصوصًا في تدفقات OAuth. انتظر وصول Grant إلى `,_jsx(_components.code,{children:`Delivered`}),` قبل فتح الميزات التابعة في أنظمتك الخاصة. أما Grant الذي يتم تسليمه عند الإنشاء، مثل مفتاح ترخيص يتم تنفيذه تلقائيًا أو feature flag، فيصل كـ `,_jsx(_components.code,{children:`entitlement_grant.created`}),` مع `,_jsx(_components.code,{children:`status: \"Delivered\"`}),` بدلًا من ذلك.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`تعامل مع `,_jsx(_components.code,{children:`entitlement_grant.failed`}),` باعتباره قابلًا للإجراء.`]}),` يعني Grant الفاشل أن العميل دفع لكنه لم يحصل على إمكانية الوصول. اعرض هذه Grants على فريق الدعم أو شغّل إعادة منح.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`اربط `,_jsx(_components.code,{children:`revocation_reason`}),` بتدفقات الاحتفاظ بالعملاء لديك.`]}),` يمكن استرداد إبطال `,_jsx(_components.code,{children:`subscription_on_hold`}),`، لأن العميل قد يحدّث بطاقته. أما إبطال `,_jsx(_components.code,{children:`manual`}),` فهو مقصود. تعامل معهما بشكل مختلف في رسائل العملاء.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`لا تبطل إمكانية الوصول عند `,_jsx(_components.code,{children:`subscription.past_due`}),`.`]}),` يفتح ذلك الحدث `,_jsx(_components.a,{href:`/features/subscription#grace-period`,children:`فترة سماح`}),`، ويحتفظ العميل بإمكانية الوصول حتى انتهاء المدة. انتظر `,_jsx(_components.code,{children:`subscription.on_hold`}),` أو `,_jsx(_components.code,{children:`subscription.cancelled`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"مقدمة","sidebarTitle":"مقدمة","description":"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.","icon":"box-archive","keywords":["Dodo Payments","الاستحقاقات","الوفاء","مفاتيح الترخيص","التسليم الرقمي","الوصول إلى المنصة"],"href":"/ar/features/entitlements/introduction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"ما هي Entitlements؟","slug":"ما-هي-entitlements؟","depth":2,"children":[]},{"title":"عمليات دمج متاحة","slug":"عمليات-دمج-متاحة","depth":2,"children":[]},{"title":"كيف تعمل المنح","slug":"كيف-تعمل-المنح","depth":2,"children":[{"title":"دورة حياة المنحة","slug":"دورة-حياة-المنحة","depth":3,"children":[]},{"title":"سلوك Grant حسب الحدث","slug":"سلوك-grant-حسب-الحدث","depth":3,"children":[]}]},{"title":"أنشئ أول Entitlement لك","slug":"أنشئ-أول-entitlement-لك","depth":2,"children":[]},{"title":"ربط Entitlements بالمنتجات","slug":"ربط-entitlements-بالمنتجات","depth":2,"children":[]},{"title":"تجربة العميل","slug":"تجربة-العميل","depth":2,"children":[{"title":"البريد الإلكتروني وCustomer Portal","slug":"البريد-الإلكتروني-وcustomer-portal","depth":3,"children":[]},{"title":"التسليم المستند إلى OAuth","slug":"التسليم-المستند-إلى-oauth","depth":3,"children":[]},{"title":"الإبطال","slug":"الإبطال","depth":3,"children":[]}]},{"title":"إدارة Grants","slug":"إدارة-grants","depth":2,"children":[]},{"title":"إدارة API","slug":"إدارة-api","depth":2,"children":[]},{"title":"Webhooks","slug":"webhooks","depth":2,"children":[]},{"title":"أفضل الممارسات","slug":"أفضل-الممارسات","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/dodopayments/0ee82a08f7b65bcb/seo.js","/_mintlify/custom/dodopayments/6f88c9bbee313616/assistant-loader.js"],"subdomain":"dodopayments","siteName":"Dodo Payments Documentation","title":"مقدمة - Dodo Payments Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/features/entitlements/introduction","matchLevel":1},"es":{"href":"/es/features/entitlements/introduction","matchLevel":1},"ar":{"href":"/ar/features/entitlements/introduction","matchLevel":0},"fr":{"href":"/fr/features/entitlements/introduction","matchLevel":1},"de":{"href":"/de/features/entitlements/introduction","matchLevel":1},"id":{"href":"/id/features/entitlements/introduction","matchLevel":1},"ja":{"href":"/ja/features/entitlements/introduction","matchLevel":1},"ko":{"href":"/ko/features/entitlements/introduction","matchLevel":1},"pt-BR":{"href":"/pt-BR/features/entitlements/introduction","matchLevel":1},"vi":{"href":"/vi/features/entitlements/introduction","matchLevel":1},"cn":{"href":"/cn/features/entitlements/introduction","matchLevel":1},"hi":{"href":"/hi/features/entitlements/introduction","matchLevel":1},"it":{"href":"/it/features/entitlements/introduction","matchLevel":1},"sv":{"href":"/sv/features/entitlements/introduction","matchLevel":1}}},"lastModified":"2026-09-26T16:06:37.076Z","gitLastModified":"2026-09-26T16:03:47.000Z","originalFileLocation":"ar/features/entitlements/introduction.mdx","locale":"ar"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"مقدمة - Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dodopayments.com/ar/features/entitlements/introduction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dodopayments.mintlify.site/_mintlify/api/og/v2?division=Entitlements\u0026amp;title=%D9%85%D9%82%D8%AF%D9%85%D8%A9\u0026amp;description=%D8%B3%D9%84%D9%91%D9%85+%D9%85%D9%81%D8%A7%D8%AA%D9%8A%D8%AD+%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D8%AE%D9%8A%D8%B5+%D9%88%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA+%D8%A7%D9%84%D9%82%D8%A7%D8%A8%D9%84%D8%A9+%D9%84%D9%84%D8%AA%D9%86%D8%B2%D9%8A%D9%84+%D9%88feature+flags+%D9%88%D8%A5%D9%85%D9%83%D8%A7%D9%86%D9%8A%D8%A9+%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84+%D8%A5%D9%84%D9%89+Discord+%D9%88GitHub+%D9%88Telegram+%D9%88Framer+%D9%88Notion+%D8%AA%D9%84%D9%82%D8%A7%D8%A6%D9%8A%D9%8B%D8%A7+%D8%B9%D9%86%D8%AF+%D8%AF%D9%81%D8%B9+%D8%A7%D9%84%D8%B9%D9%85%D9%84%D8%A7%D8%A1.\u0026amp;theme=fcc3a546490e883f7462a320\u0026amp;signature=0fe1d61e9229a8b7c38a84bc31f8453971302108966a360b4226c53966d3d82a\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"مقدمة - Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dodopayments.mintlify.site/_mintlify/api/og/v2?division=Entitlements\u0026amp;title=%D9%85%D9%82%D8%AF%D9%85%D8%A9\u0026amp;description=%D8%B3%D9%84%D9%91%D9%85+%D9%85%D9%81%D8%A7%D8%AA%D9%8A%D8%AD+%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D8%AE%D9%8A%D8%B5+%D9%88%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA+%D8%A7%D9%84%D9%82%D8%A7%D8%A8%D9%84%D8%A9+%D9%84%D9%84%D8%AA%D9%86%D8%B2%D9%8A%D9%84+%D9%88feature+flags+%D9%88%D8%A5%D9%85%D9%83%D8%A7%D9%86%D9%8A%D8%A9+%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84+%D8%A5%D9%84%D9%89+Discord+%D9%88GitHub+%D9%88Telegram+%D9%88Framer+%D9%88Notion+%D8%AA%D9%84%D9%82%D8%A7%D8%A6%D9%8A%D9%8B%D8%A7+%D8%B9%D9%86%D8%AF+%D8%AF%D9%81%D8%B9+%D8%A7%D9%84%D8%B9%D9%85%D9%84%D8%A7%D8%A1.\u0026amp;theme=fcc3a546490e883f7462a320\u0026amp;signature=0fe1d61e9229a8b7c38a84bc31f8453971302108966a360b4226c53966d3d82a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#779812\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.dodopayments.com/ar/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ar/features/entitlements/introduction.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.dodopayments.com/ar/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.dodopayments.com/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.dodopayments.com/es/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.dodopayments.com/fr/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.dodopayments.com/de/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://docs.dodopayments.com/id/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.dodopayments.com/ja/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.dodopayments.com/ko/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.dodopayments.com/pt-BR/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"vi\" href=\"https://docs.dodopayments.com/vi/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.dodopayments.com/cn/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://docs.dodopayments.com/hi/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.dodopayments.com/it/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"sv\" href=\"https://docs.dodopayments.com/sv/features/entitlements/introduction\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.dodopayments.com/features/entitlements/introduction\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.dodopayments.com/#organization\",\"name\":\"Dodo Payments Documentation\",\"url\":\"https://docs.dodopayments.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/light.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=23f7a052f7ecb9d6570b7c95ee359a97\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.dodopayments.com#website\",\"name\":\"Dodo Payments Documentation\",\"url\":\"https://docs.dodopayments.com\",\"publisher\":{\"@id\":\"https://docs.dodopayments.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction#webpage\",\"url\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction\",\"name\":\"مقدمة\",\"description\":\"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.\",\"dateModified\":\"2026-09-26T16:03:47.000Z\",\"isPartOf\":{\"@id\":\"https://docs.dodopayments.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.dodopayments.com/ar/features/products\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"مقدمة\",\"item\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction#article\",\"headline\":\"مقدمة\",\"name\":\"مقدمة\",\"description\":\"سلّم مفاتيح التراخيص والملفات القابلة للتنزيل وfeature flags وإمكانية الوصول إلى Discord وGitHub وTelegram وFramer وNotion تلقائيًا عند دفع العملاء.\",\"url\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dodopayments.com/ar/features/entitlements/introduction#webpage\"},\"dateModified\":\"2026-09-26T16:03:47.000Z\",\"keywords\":\"Dodo Payments, الاستحقاقات, الوفاء, مفاتيح الترخيص, التسليم الرقمي, الوصول إلى المنصة\",\"publisher\":{\"@id\":\"https://docs.dodopayments.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.dodopayments.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dodo Payments Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Dodo Payments Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/ar/features/entitlements/introduction.md","siteName":"Dodo Payments Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/features/entitlements/introduction"}]},{"language":"es","pages":[{"title":"es","href":"/es/features/entitlements/introduction"}]},{"language":"ar","tabs":[{"tab":"Docs","icon":"book","groups":[{"group":"Getting Started","pages":[{"title":"مرحبًا بك في Dodo Payments","sidebarTitle":"مقدمة","icon":"rocket","href":"/ar/introduction"},{"title":"البناء باستخدام وكلاء الترميز بالذكاء الاصطناعي","sidebarTitle":"وكلاء الترميز بالذكاء الاصطناعي","icon":"robot","href":"/ar/developer-resources/build-with-ai-coding-agents"},{"title":"الانتقال إلى مدفوعات دودي","icon":"arrow-right-arrow-left","href":"/ar/migrate-to-dodo"},{"title":"التحقق من الحساب","icon":"id-card","href":"/ar/miscellaneous/verification-process"}]},{"group":"Features","pages":[{"sidebarTitle":"المنتجات","title":"المنتجات","icon":"box","href":"/ar/features/products"},{"sidebarTitle":"مجموعات المنتجات","title":"مجموعات المنتجات","icon":"layer-group","href":"/ar/features/product-collections"},{"sidebarTitle":"المدفوعات لمرة واحدة","title":"المدفوعات لمرة واحدة","icon":"credit-card","href":"/ar/features/one-time-payment-products"},{"group":"Subscriptions","icon":"infinity","pages":[{"sidebarTitle":"Subscriptions","title":"Subscriptions","icon":"repeat","href":"/ar/features/subscription"},{"sidebarTitle":"الإضافات","title":"الإضافات للاشتراكات","icon":"puzzle","href":"/ar/features/addons"},{"title":"الاشتراكات عند الطلب","icon":"bolt","href":"/ar/developer-resources/ondemand-subscriptions"}]},{"group":"Usage Based Billing","icon":"arrow-trend-up","pages":[{"sidebarTitle":"مقدمة","title":"الفوترة حسب الاستخدام","icon":"box","href":"/ar/features/usage-based-billing/introduction"},{"sidebarTitle":"المقاييس","title":"المقاييس","icon":"sliders","href":"/ar/features/usage-based-billing/meters"},{"sidebarTitle":"إدخال الأحداث","title":"إدخال الأحداث","icon":"bolt","href":"/ar/features/usage-based-billing/event-ingestion"},{"group":"Ingestion Blueprints","icon":"copy","pages":[{"sidebarTitle":"مقدمة","title":"خطط الإدخال","icon":"box","href":"/ar/features/usage-based-billing/ingestion-blueprints"},{"title":"مخطط LLM","icon":"brain-circuit","href":"/ar/developer-resources/ingestion-blueprints/llm"},{"title":"API Gateway Blueprint","icon":"cloud","href":"/ar/developer-resources/ingestion-blueprints/api-gateway"},{"title":"خطة تخزين الكائنات","icon":"box-archive","href":"/ar/developer-resources/ingestion-blueprints/object-storage"},{"title":"مخطط البث","icon":"tower-broadcast","href":"/ar/developer-resources/ingestion-blueprints/stream"},{"title":"نموذج نطاق الوقت","icon":"clock","href":"/ar/developer-resources/ingestion-blueprints/time-range"}]}]},{"sidebarTitle":"Credit-Based Billing","title":"Credit-Based Billing","icon":"coins","tag":"NEW","href":"/ar/features/credit-based-billing"},{"sidebarTitle":"الفوترة المعتمدة على المقاعد","title":"الفوترة المعتمدة على المقاعد","icon":"users","href":"/ar/features/seat-based-billing"},{"sidebarTitle":"الفوترة الهجينة","title":"نماذج الفوترة الهجينة","icon":"layer-group","href":"/ar/features/hybrid-billing"},{"title":"Upsells \u0026 Downsells","icon":"arrow-up-right-dots","href":"/ar/features/upsells-and-downsells"},{"group":"Customers","icon":"user-group","pages":[{"title":"إدارة العملاء","icon":"user-group","href":"/ar/features/customers"},{"sidebarTitle":"بوابة العملاء","title":"بوابة العملاء","icon":"id-card","href":"/ar/features/customer-portal"},{"title":"محافظ العملاء","icon":"wallet","tag":"NEW","href":"/ar/features/customer-wallet"},{"sidebarTitle":"رسائل البريد الإلكتروني المرسلة","title":"سجلات رسائل البريد الإلكتروني للعملاء","icon":"envelope","tag":"NEW","href":"/ar/features/email-logs"},{"sidebarTitle":"قائمة حظر العملاء","title":"قائمة حظر العملاء","icon":"user-slash","tag":"NEW","href":"/ar/features/customer-blocklist"}]},{"sidebarTitle":"Discounts","title":"Discounts","icon":"percent","href":"/ar/features/discount-codes"},{"group":"Recovery","icon":"rotate","tag":"NEW","pages":[{"sidebarTitle":"نظرة عامة","title":"استرداد الإيرادات","icon":"rotate","href":"/ar/features/recovery/overview"},{"sidebarTitle":"استعادة عربات التسوق المتروكة","title":"استعادة عربات التسوق المتروكة","icon":"cart-shopping","href":"/ar/features/recovery/abandoned-cart-recovery"},{"sidebarTitle":"إدارة الاشتراكات","title":"إدارة الاشتراكات","icon":"repeat","href":"/ar/features/recovery/subscription-dunning"},{"sidebarTitle":"إعادة محاولات دفع الاشتراكات","title":"إعادة محاولات دفع الاشتراكات","icon":"arrow-rotate-right","href":"/ar/features/recovery/payment-retries"},{"sidebarTitle":"إعادة المحاولة اليدوية","title":"إعادة محاولة الدفع اليدوية","icon":"hand-pointer","tag":"NEW","href":"/ar/features/recovery/manual-retry"}]},{"group":"Transactions","icon":"credit-card","pages":[{"title":"المدفوعات","icon":"money-bill-transfer","href":"/ar/features/transactions/payments"},{"title":"الاستردادات","icon":"rotate-left","href":"/ar/features/transactions/refunds"},{"title":"النزاعات","description":"اعرض النزاعات وردّ عليها من صفحة المعاملات، وأوقف عمليات رد المدفوعات قبل تقديمها باستخدام Visa RDR وتنبيهات Ethoca وعمليات المنع.","icon":"circle-exclamation","href":"/ar/features/transactions/disputes"}]},{"group":"Entitlements","icon":"gift","tag":"NEW","pages":[{"title":"مقدمة","sidebarTitle":"مقدمة","icon":"box-archive","href":"/ar/features/entitlements/introduction"},{"title":"مفاتيح التراخيص","description":"أصدر مفاتيح ترخيص مع حدود للتفعيل وتاريخ انتهاء من خلال entitlement من نوع License Key، ثم فعّلها وتحقق منها وألغِ تفعيلها من برنامجك.","icon":"key","href":"/ar/features/license-keys"},{"title":"توصيل المنتجات الرقمية","sidebarTitle":"المنتجات الرقمية","icon":"download","href":"/ar/features/digital-product-delivery"},{"title":"Feature Flag Entitlement","sidebarTitle":"Feature Flags","icon":"flag","tag":"NEW","href":"/ar/features/entitlements/feature-flags"},{"title":"استحقاق Discord","sidebarTitle":"Discord","icon":"discord","href":"/ar/features/entitlements/discord"},{"title":"استحقاق GitHub","sidebarTitle":"GitHub","icon":"github","href":"/ar/features/entitlements/github"},{"title":"استحقاق تيليجرام","sidebarTitle":"تيليجرام","icon":"telegram","href":"/ar/features/entitlements/telegram"},{"title":"Framer Entitlement","sidebarTitle":"Framer","icon":"puzzle-piece","href":"/ar/features/entitlements/framer"},{"title":"استحقاق Notion","sidebarTitle":"Notion","icon":"book","href":"/ar/features/entitlements/notion"}]},{"group":"Payouts and Balances","icon":"wallet","pages":[{"title":"عملية المدفوعات","icon":"money-bill","href":"/ar/features/payouts/payout-structure"},{"title":"الأرصدة","icon":"file-invoice-dollar","href":"/ar/features/account-summary-payout-wallet"}]},{"group":"Account Management","icon":"user","pages":[{"sidebarTitle":"أرشفة نشاط تجاري","title":"أرشفة نشاط تجاري","icon":"box-archive","tag":"NEW","href":"/ar/features/archive-business"},{"title":"إعداد متعدد العلامات التجارية","icon":"building-columns","href":"/ar/features/multi-brands"},{"title":"إدارة الفواتير","icon":"file-invoice-dollar","href":"/ar/features/invoice-generation"},{"title":"أعضاء الفريق","icon":"user-gear","href":"/ar/features/team"},{"title":"تفضيلات التواصل","sidebarTitle":"تفضيلات التواصل","icon":"bell","tag":"NEW","href":"/ar/features/communication-preferences"},{"title":"حسابي","icon":"user-gear","href":"/ar/miscellaneous/accounts"}]},{"group":"Pricing","icon":"dollar-sign","pages":[{"sidebarTitle":"أسعار شاملة للضرائب","title":"أسعار شاملة للضرائب","icon":"file-invoice","href":"/ar/features/tax-inclusive-pricing"},{"sidebarTitle":"ادفع ما تريد","title":"أسعار ادفع ما تريد","icon":"dollar-sign","href":"/ar/features/pay-what-you-want"},{"title":"مدفوعات B2B","icon":"money-bills","href":"/ar/features/b2b-payments"},{"title":"التسعير المحلي","sidebarTitle":"التسعير المحلي","icon":"earth-americas","href":"/ar/features/localized-pricing"},{"sidebarTitle":"تعادل القوة الشرائية","title":"تعادل القوة الشرائية","tag":"NEW","icon":"money-bill-trend-up","href":"/ar/features/purchasing-power-parity"},{"sidebarTitle":"التسعير الجذّاب","title":"التسعير الجذّاب","tag":"NEW","icon":"tag","href":"/ar/features/charm-pricing"}]},{"sidebarTitle":"الدفع","title":"ميزات الدفع","icon":"cart-shopping","href":"/ar/features/checkout"},{"sidebarTitle":"التصميم","title":"تخصيص التصميم والثيم","icon":"palette","tag":"NEW","href":"/ar/features/design"},{"group":"Payment Methods","icon":"money-bill-wave","pages":[{"title":"Payment Methods","sidebarTitle":"Overview","icon":"layer-group","href":"/ar/features/payment-methods"},{"title":"بطاقات الائتمان والخصم","sidebarTitle":"البطاقات","icon":"credit-card","href":"/ar/features/payment-methods/cards"},{"title":"المحافظ الرقمية","sidebarTitle":"المحافظ الرقمية","icon":"wallet","href":"/ar/features/payment-methods/digital-wallets"},{"title":"اشتر الآن وادفع لاحقًا (BNPL)","sidebarTitle":"BNPL","icon":"calendar-days","href":"/ar/features/payment-methods/bnpl"},{"title":"ACH Direct Debit","sidebarTitle":"ACH Direct Debit","icon":"building-columns","href":"/ar/features/payment-methods/ach"},{"title":"طرق الدفع في الهند","sidebarTitle":"الهند","icon":"indian-rupee-sign","href":"/ar/features/payment-methods/india"},{"title":"طرق الدفع الأوروبية","sidebarTitle":"أوروبا","icon":"euro-sign","href":"/ar/features/payment-methods/europe"},{"title":"طرق الدفع في كوريا الجنوبية","sidebarTitle":"كوريا الجنوبية","icon":"won-sign","href":"/ar/features/payment-methods/south-korea"},{"title":"طرق الدفع في منطقة آسيا والمحيط الهادئ","sidebarTitle":"آسيا والمحيط الهادئ","icon":"earth-asia","href":"/ar/features/payment-methods/asia-pacific"},{"title":"Pix","sidebarTitle":"Pix","icon":"brazilian-real-sign","href":"/ar/features/payment-methods/pix"},{"title":"العملات المستقرة","sidebarTitle":"العملات المستقرة","icon":"dollar-sign","href":"/ar/features/payment-methods/stablecoins"},{"title":"WeChat Pay","sidebarTitle":"WeChat Pay","icon":"comment-dollar","href":"/ar/features/payment-methods/wechat"}]},{"title":"تحليلات الجهات الخارجية","sidebarTitle":"تحليلات الجهات الخارجية","icon":"chart-line","tag":"NEW","href":"/ar/features/analytics"},{"sidebarTitle":"العملة التكيفية","title":"العملة التكيفية","icon":"money-bill-transfer","href":"/ar/features/adaptive-currency"},{"group":"BYOP","icon":"shuffle","tag":"BETA","pages":[{"title":"استخدام المعالج الخاص بك (BYOP)","sidebarTitle":"نظرة عامة","tag":"BETA","icon":"boxes-stacked","href":"/ar/features/byop"},{"title":"Stripe - الاتصال و الوصول إلى واجهة برمجة التطبيقات لبيانات البطاقات الخام","sidebarTitle":"Stripe","icon":"stripe","href":"/ar/features/byop/stripe"},{"title":"Adyen - Connect \u0026 Raw Card API Access","sidebarTitle":"Adyen","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/adyen.svg","href":"/ar/features/byop/adyen"}]},{"title":"واجهة المتجر","icon":"store","href":"/ar/features/storefront"},{"title":"الشركاء","icon":"users-line","href":"/ar/features/affiliates"},{"title":"Moderation API","icon":"shield-check","tag":"NEW","href":"/ar/features/moderation"},{"title":"بيع السلع الرقمية على iOS","icon":"mobile","href":"/ar/features/appstore-digital-goods"},{"title":"تحليلات لوحة التحكم","sidebarTitle":"تحليلات لوحة التحكم","icon":"chart-line","href":"/ar/features/analytics-and-reporting"},{"title":"التقارير","sidebarTitle":"التقارير","icon":"file-invoice","href":"/ar/features/reports"}]},{"group":"Integrate","pages":[{"group":"SDKs","icon":"box-open","pages":[{"sidebarTitle":"نظرة عامة","title":"SDKs الرسمية","icon":"box","href":"/ar/developer-resources/dodo-payments-sdks"},{"title":"TypeScript","icon":"js","href":"/ar/developer-resources/sdks/typescript"},{"title":"بايثون","icon":"python","href":"/ar/developer-resources/sdks/python"},{"title":"اذهب","icon":"golang","href":"/ar/developer-resources/sdks/go"},{"title":"روبي","icon":"gem","href":"/ar/developer-resources/sdks/ruby"},{"title":"جافا","icon":"java","href":"/ar/developer-resources/sdks/java"},{"title":"Kotlin","icon":"k","href":"/ar/developer-resources/sdks/kotlin"},{"title":"PHP","icon":"php","href":"/ar/developer-resources/sdks/php"},{"title":"C#","icon":"c","href":"/ar/developer-resources/sdks/csharp"},{"title":"Rust","icon":"rust","href":"/ar/developer-resources/sdks/rust"}]},{"group":"Mobile Checkout SDKs","icon":"mobile","pages":[{"title":"Mobile Integration Guide","sidebarTitle":"Integration Guide","icon":"mobile","href":"/ar/developer-resources/mobile-integration"},{"title":"Android","sidebarTitle":"Android","tag":"NEW","icon":"android","href":"/ar/developer-resources/sdks/android"},{"title":"iOS","sidebarTitle":"iOS","tag":"NEW","icon":"apple","href":"/ar/developer-resources/sdks/ios"},{"title":"React Native","sidebarTitle":"React Native","tag":"NEW","icon":"react","href":"/ar/developer-resources/sdks/react-native"},{"title":"Flutter","sidebarTitle":"Flutter","tag":"NEW","icon":"layer-group","href":"/ar/developer-resources/sdks/flutter"}]},{"group":"Framework Adaptors","icon":"frame","pages":[{"sidebarTitle":"نظرة عامة","title":"نظرة عامة على موصلات الإطار","icon":"box","href":"/ar/developer-resources/framework-adaptors"},{"title":"موصل Next.js","icon":"code-merge","href":"/ar/developer-resources/nextjs-adaptor"},{"title":"محوّل Better Auth","icon":"code-merge","href":"/ar/developer-resources/better-auth-adaptor"},{"title":"مكون Convex","icon":"code-merge","href":"/ar/developer-resources/convex-component"},{"title":"TanStack Adaptor","icon":"code-merge","href":"/ar/developer-resources/tanstack-adaptor"},{"title":"محوّل Nuxt","icon":"code-merge","href":"/ar/developer-resources/nuxt-adaptor"},{"title":"موصل إكسبريس","icon":"code-merge","href":"/ar/developer-resources/express-adaptor"},{"title":"محول أسترو","icon":"code-merge","href":"/ar/developer-resources/astro-adaptor"},{"title":"موائم SvelteKit","icon":"code-merge","href":"/ar/developer-resources/sveltekit-adaptor"},{"title":"Hono Adaptor","icon":"code-merge","href":"/ar/developer-resources/hono-adaptor"},{"title":"محول ريمكس","icon":"code-merge","href":"/ar/developer-resources/remix-adaptor"},{"title":"محول Fastify","icon":"code-merge","href":"/ar/developer-resources/fastify-adaptor"},{"title":"Bun Adaptor","icon":"code-merge","href":"/ar/developer-resources/bun-adaptor"}]},{"group":"Webhooks","icon":"webhook","pages":[{"sidebarTitle":"نظرة عامة","title":"Webhooks","icon":"webhook","href":"/ar/developer-resources/webhooks"},{"title":"دليل Webhook Events","icon":"bell","href":"/ar/developer-resources/webhooks/intents/webhook-events-guide"},{"group":"Webhook Payloads","icon":"code","pages":[{"title":"الدفع","icon":"credit-card","href":"/ar/developer-resources/webhooks/intents/payment"},{"sidebarTitle":"الاشتراك","title":"أحداث ويب الاشتراك","icon":"repeat","href":"/ar/developer-resources/webhooks/intents/subscription"},{"title":"استرداد","icon":"rotate-left","href":"/ar/developer-resources/webhooks/intents/refund"},{"sidebarTitle":"النزاع","title":"Webhooks النزاعات","icon":"circle-exclamation","href":"/ar/developer-resources/webhooks/intents/dispute"},{"title":"مفتاح الترخيص","icon":"key","href":"/ar/developer-resources/webhooks/intents/license-key"},{"title":"منح الاستحقاق","icon":"gift","href":"/ar/developer-resources/webhooks/intents/entitlement-grant"},{"sidebarTitle":"الفوترة القائمة على الائتمان","title":"خطافات ويب الفوترة القائمة على الائتمان","icon":"coins","href":"/ar/developer-resources/webhooks/intents/credit"},{"title":"استرداد","icon":"rotate","href":"/ar/developer-resources/webhooks/intents/recovery"},{"sidebarTitle":"دفعة","title":"Webhooks الخاصة بالدفعات","icon":"money-bill-transfer","href":"/ar/developer-resources/webhooks/intents/payout"}]},{"group":"Deploy to Cloud","icon":"rocket","pages":[{"title":"وظائف Vercel","icon":"triangle","href":"/ar/developer-resources/webhooks/examples/vercel-example"},{"title":"Cloudflare Workers","icon":"cloud","href":"/ar/developer-resources/webhooks/examples/cloudflare-example"},{"title":"وظائف Supabase Edge","icon":"bolt","href":"/ar/developer-resources/webhooks/examples/supabase-example"},{"title":"وظائف Netlify","icon":"diamond","href":"/ar/developer-resources/webhooks/examples/netlify-example"}]}]},{"group":"Testing \u0026 Demo Tools","icon":"flask","pages":[{"title":"وضع الاختبار مقابل وضع التشغيل","icon":"toggle-on","href":"/ar/miscellaneous/test-mode-vs-live-mode"},{"title":"عملية الاختبار","icon":"flask","href":"/ar/miscellaneous/testing-process"},{"title":"منتج عرض أطلس","icon":"palette","href":"/ar/features/atlas-demo-website"}]},{"group":"Boilerplates","icon":"box-open","pages":[{"sidebarTitle":"Expo","title":"Expo Boilerplate","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/expo.svg","tag":"NEW","href":"/ar/developer-resources/expo-boilerplate"},{"sidebarTitle":"Supabase","title":"قالب Supabase الجاهز","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/supabase.svg","href":"/ar/developer-resources/supabase-boilerplate"},{"sidebarTitle":"إضافة Figma","title":"إضافة Figma","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/figma.svg","href":"/ar/integrations/figma-plugin"},{"sidebarTitle":"Next.js","title":"Next.js Minimal Boilerplate","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/nextjs.svg","href":"/ar/developer-resources/nextjs-boilerplate"},{"sidebarTitle":"أسترو","title":"نموذج أسترو الأساسي","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/astro.svg","href":"/ar/developer-resources/astro-boilerplate"},{"sidebarTitle":"FastAPI","title":"نموذج FastAPI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/fastapi.svg","tag":"NEW","href":"/ar/developer-resources/fastapi-boilerplate"},{"sidebarTitle":"Go","title":"قالب Go الجاهز","icon":"golang","tag":"NEW","href":"/ar/developer-resources/go-boilerplate"}]},{"title":"Dodo CLI","icon":"terminal","tag":"NEW","href":"/ar/developer-resources/sdks/cli"},{"title":"Overlay Checkout","icon":"cart-shopping","href":"/ar/developer-resources/overlay-checkout"},{"title":"Inline Checkout","icon":"credit-card","href":"/ar/developer-resources/inline-checkout"},{"title":"SDK الفوترة","icon":"boxes-stacked","href":"/ar/developer-resources/billingsdk"},{"title":"Dodo Payments MCP Server","icon":"server","href":"/ar/developer-resources/mcp-server"},{"title":"مهارات الوكلاء","icon":"wand-magic-sparkles","href":"/ar/developer-resources/agent-skills"},{"sidebarTitle":"مزامنة قاعدة البيانات","title":"المزامنة مع قاعدة بياناتك","icon":"database","href":"/ar/developer-resources/dodo-sync"},{"sidebarTitle":"ترحيل الاشتراكات","title":"ترحيل الاشتراكات إلى مدفوعات دودي","icon":"file-import","href":"/ar/miscellaneous/subscription-migration"}]},{"group":"Merchant of Record","pages":[{"sidebarTitle":"ما هو MoR؟","title":"مقدمة","icon":"building-columns","href":"/ar/features/mor-introduction"},{"title":"MoR مقابل PG","icon":"scale-balanced","href":"/ar/features/mor-vs-pg"},{"title":"الدول المؤهلة لقبول التجار","icon":"globe","href":"/ar/miscellaneous/accepted-countries-and-territories"},{"title":"سياسة المراجعة والمراقبة","icon":"magnifying-glass","href":"/ar/miscellaneous/review-monitoring-policy"},{"sidebarTitle":"تجاوز رسوم App Store","title":"تجاوز رسوم App Store وPlay Store باستخدام Dodo Payments","icon":"shield-check","href":"/ar/features/bypassing-app-store-fees"}]},{"group":"Miscellaneous","pages":[{"group":"Support Channels","icon":"headset","pages":[{"title":"المساعدة والدعم","icon":"headset","href":"/ar/miscellaneous/help-support"},{"title":"طلب ميزة وخارطة الطريق","icon":"lightbulb","href":"/ar/features/feature-request"}]},{"title":"تطبيقات الجوال وسطح المكتب","icon":"mobile","href":"/ar/features/mobile-app"},{"title":"سياسة الإبلاغ عن الأمان","icon":"shield","href":"/ar/miscellaneous/security-policy"}]}]},{"tab":"Guides","icon":"compass","pages":[{"title":"Guides","href":"/ar/developer-resources/integration-guide"}]},{"tab":"API Reference","icon":"rectangle-code","pages":[{"title":"API Reference","href":"/ar/api-reference/introduction"}]},{"tab":"External Integrations","icon":"plug","pages":[{"title":"External Integrations","href":"/ar/integrations/introduction"}]},{"tab":"Changelog","icon":"calendar-days","pages":[{"title":"Changelog","href":"/ar/changelog/introduction"}]},{"tab":"Community Projects","icon":"users","pages":[{"title":"Community Projects","href":"/ar/community/overview"}]}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/features/entitlements/introduction"}]},{"language":"de","pages":[{"title":"de","href":"/de/features/entitlements/introduction"}]},{"language":"id","pages":[{"title":"id","href":"/id/features/entitlements/introduction"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/features/entitlements/introduction"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/features/entitlements/introduction"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/features/entitlements/introduction"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/features/entitlements/introduction"}]},{"language":"cn","pages":[{"title":"cn","href":"/cn/features/entitlements/introduction"}]},{"language":"hi","pages":[{"title":"hi","href":"/hi/features/entitlements/introduction"}]},{"language":"it","pages":[{"title":"it","href":"/it/features/entitlements/introduction"}]},{"language":"sv","pages":[{"title":"sv","href":"/sv/features/entitlements/introduction"}]}]},"basePath":"","title":"مقدمة - Dodo Payments Documentation","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-B90Qhg8r.js","DynamicMarkdown-DpAS3GCb.js","zoom-image-lightbox-9bQKnClW.js","lightbox-handle-r17bVUz3.js"]}