يمكنك إعداد الاشتراكات عبر Pay.sh من خلال تهيئة عميل Pay على جهازك أو إعداد خادم Pay. قم بتثبيت Pay باستخدام:
brew install pay
أو
npm install -g @solana/pay
تحقق من التثبيت باستخدام:
pay --version
ستقوم سلسلة الأدوات بإعداد عنوانك تلقائيًا. شغّل الأمر التالي لإعداد محفظتك وتعبئتها:
pay setup
الاشتراكات كعميل
يشترك المستخدمون في نقاط نهاية API المحمية بالاشتراك عن طريق استدعاء pay
بالطريقة المعتادة. يقع على عاتق الـ API إرسال تفاصيل الاشتراك في استجابة
402 Status الأولية. يتولى Pay إدارة الاشتراك تلقائيًا، بما في ذلك استدعاء
التعليمات على برنامج سولانا SPL Subscriptions.
يمكن للمستخدمين إدارة اشتراكاتهم باستخدام الأوامر التالية:
pay subscriptions # default: list + show available subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay subscriptions list --json
يمكنك الاطلاع على مزيد من المعلومات حول إدارة اشتراكاتك كمستخدم في Pay.sh > استخدام Pay > وثائق إدارة الاشتراكات.
إدارة الاشتراكات كمزوّد (عرض توضيحي)
تتيح خوادم Pay تهيئة المشتركين واشتراكاتهم لكل نقطة نهاية. فيما يلي مثال على نقطة نهاية تستخدم pay يمكنك تجربته مع مشروعك:
# monthly.ymlname: Subscriptions Examplesubdomain: subscriptions-exampletitle: "Subscription Example"description: "Demo Subscriptions"category: ai_mlversion: v1routing:type: respondoperator:currencies:usd: ["USDC", "USDT", "CASH"]network: "localnet"fee_payer: truechallenge_binding_secret: d858d9104afd728f58a1f73d806dd75d8f32ebd37c9707145816b490e8631d41# insert your own challenge_binding_secret here. use `openssl rand -hex 32`endpoints:- method: GETpath: "api/v1/pro/feed"resource: "pro-feed"description: "Pro feed — monthly subscription, 30-day billing period."subscription:period: "30d"price_usd: 9.99currency: USDCplan_id_numeric: 1
يتعامل Pay مع الاشتراكات باستخدام السمة subscription: في مواصفات endpoints
بصيغة YAML. وهذا يختلف عن السمة metering: المستخدمة لنقاط نهاية الدفع لكل
استخدام.
يؤدي تشغيل الخادم في المثال أعلاه إلى إنشاء نقطة نهاية تُسمى api/v1/pro/feed
تتطلب من المستخدم إجراء مدفوعات دورية بقيمة 9.99 USDC كل 30 يومًا.
يمكنك تجربة ذلك بتشغيل الأمر التالي:
pay server start monthly.yml
سيطالبك تشغيل هذا الأمر بإنشاء خطة. يؤدي ذلك إلى إنشاء الخطة وتحديث ملف yml. إذا كنت ستستخدمه مجددًا، احتفظ بعنوان الخطة واستخدمه في إعداداتك أثناء إجراء التغييرات.
يمكنك اختبار أن الاشتراكات تعمل بشكل صحيح عن طريق تشغيل الأوامر التالية كعميل في طرفية أخرى:
# First call — activates the subscription, $9.99 USDC charge settles.pay --sandbox curl http://127.0.0.1:1402/api/v1/pro/feed# Same call within 30 days — no payment prompt, just the response.pay --sandbox curl http://127.0.0.1:1402/api/v1/pro/feed
يجب أن ترى حالة OK كاستجابة على النحو التالي:
{ "status": "ok" }
يمكنك معرفة المزيد حول إدارة الاشتراكات على خادم Pay عبر Pay.sh > Building with Pay > Subscriptions > YAML Specification docs.
Is this page helpful?