نظرة عامة
يتضمن Billing SDK ما يلي:- مكونات React: مكونات فوترة جاهزة وقابلة للتخصيص لتطبيقات React.
- أدوات CLI: واجهة سطر أوامر تهيّئ المشاريع وتضيف المكونات.
- دعم أطر العمل: قوالب لـ Next.js وExpress.js وHono وFastify وNestJS وReact.
- موفر الدفع: تكامل كامل مع Dodo Payments.
بدء سريع
لإعداد Billing SDK في مشروع موجود، شغّل CLI من جذر المشروع:1
Install the CLI
شغّل CLI باستخدام أو ثبّته بشكل عام لاستخدامه المتكرر. يضيف التثبيت العام الأمر
npx، من دون تثبيته:billingsdk، مثل billingsdk init:2
Initialize a Project
شغّل الإعداد التفاعلي لإضافة الفوترة إلى مشروعك:يطلب منك CLI اختيار ما يلي:
- إطار العمل: Next.js أو Express.js أو React أو Hono أو Fastify أو NestJS. يكتشف CLI إطار العمل الذي تستخدمه ويضع علامة تشير إلى أنه مكتشف.
- موفر الدفع: اختر Dodo Payments.
3
Add Components
أضف مكونات فوترة فردية إلى مشروعك:
الأطر المدعومة
يحتوي Billing SDK على قالب Dodo Payments لكل إطار من أطر العمل التالية:أوامر CLI
@billingsdk/cli init
يُعدّ init الفوترة في مشروعك: إذ يثبّت قالب إطار العمل مع تكامل Dodo Payments، بالإضافة إلى التبعيات التي يحتاجها القالب.
ما الذي يفعله:
- اختيار إطار العمل: تختار إطار العمل وموفر الدفع.
- تثبيت القالب: ينزّل CLI القالب الخاص بإطار العمل وموفر الدفع من سجل Billing SDK، ثم يثبّت ملفاته.
- إدارة التبعيات: يثبّت CLI تبعيات القالب، مثل
dodopaymentsوstandardwebhooksوzod، باستخدام npm أو pnpm أو Yarn أو Bun. - إنشاء الملفات: يكتب CLI ملفات الإعدادات والتعليمات البرمجية التمهيدية. بالنسبة إلى Express.js وFastify وHono وNestJS، يكتبها ضمن
src/.
init من دون مطالبات، مرّر --framework و--provider و--yes، مثل npx @billingsdk/cli init --framework nextjs --provider dodopayments --yes. أضف --dry-run لسرد الملفات من دون كتابتها، أو --no-install لتخطي تثبيت التبعيات، أو --package-manager لاختيار npm أو pnpm أو yarn أو bun.
@billingsdk/cli add
يثبّت add مكوّن فوترة واحدًا في مشروعك من خلال نظام سجل shadcn/ui. ويشغّل shadcn@latest add @billingsdk/<component> باستخدام مشغّل مدير الحزم الخاص بك.
أمثلة:
- ينزّل CLI الخاص بـ
shadcnإعدادات المكوّن من السجل. - يثبّت ملفات المكوّن في دليل
components/billingsdk/. - يحدّث إعدادات مشروعك عند الحاجة.
- يثبّت أي تبعيات إضافية.
بنية الملفات المُنشأة
بعد تشغيلinit، يحتوي مشروعك على ما يلي:
- مسارات API: نقاط نهاية للدفع وإتمام الشراء والعملاء ومدفوعات العملاء والمنتجات والاشتراكات وwebhooks. لا يحتوي قالب React على مسارات API.
- Hooks: React hook باسم
useBillingلعمليات الفوترة، وذلك لـ React وNext.js. - ملفات المكتبة: إعداد عميل Dodo Payments والدوال المساعدة ضمن
lib/dodopayments.ts. - إعدادات البيئة: ملف بيئة نموذجي باسم
.env.example.
مثال على بنية Next.js
بالنسبة إلى Next.js، يكتبinit الملفات التالية:
إعدادات البيئة
بعد التهيئة، عيّن متغيرات البيئة الخاصة بك. احصل على مفتاح API من Developer → API Keys وعلى مفتاح webhook من Developer → Webhooks في لوحة التحكم:DODO_PAYMENTS_ENVIRONMENT إلى test_mode أو live_mode. يُطلق عميل Dodo Payments المُنشأ خطأً عند استخدام أي قيمة أخرى.
المكونات المتاحة
يوفر Billing SDK مكونات React ضمن المجموعات التالية:- جداول الأسعار: ثمانية أشكال، من
pricing-table-oneإلىpricing-table-eight، لعرض أسعار المنتجات. - إدارة الاشتراكات:
subscription-management، بالإضافة إلى بطاقات ومربعات حوار لإلغاء الاشتراك أو تحديث الخطة. - مراقبة الاستخدام: عدادات استخدام دائرية وخطية، وجداول استخدام للفوترة المستندة إلى الاستخدام.
- مكونات الدفع: محدد طريقة الدفع، ونماذج تفاصيل الدفع، وبطاقة فشل الدفع.
- Customer Portal: إعدادات الفوترة، وشاشة الفوترة، وسجل الفواتير، والرسوم القادمة، لتمكين العملاء من الخدمة الذاتية.
مفتوح المصدر
Billing SDK مفتوح المصدر:- الشفافية: يمكنك قراءة طريقة عمل كل مكوّن.
- المجتمع: يطوّره المطورون لمطورين آخرين.
- الأمان: يمكن لأي شخص مراجعة التعليمات البرمجية بحثًا عن مشكلات أمنية.
- الابتكار: تساهم مشاركات المجتمع في تسريع التطوير.
يُطرح Billing SDK بموجب رخصة GNU General Public License v3.0 (GPL-3.0)، التي تحافظ على انفتاح المشروع ومجانيته.
الحصول على المساعدة
للحصول على المساعدة بشأن Billing SDK، استخدم الموارد التالية:- مشكلات GitHub: افتح مشكلة
- الوثائق: زُر billingsdk.com/docs
- الوثائق الكاملة لنماذج اللغة الكبيرة: billingsdk.com/llms-full.txt
المساهمة
يرحب Billing SDK بالمساهمات. يوضح دليل المساهمة كيفية القيام بما يلي:- الإبلاغ عن الأخطاء
- طلب الميزات
- إرسال pull requests
- إضافة مكونات جديدة
- تحسين الوثائق