الأدلة
بيع الرصيد
رصيد مدفوع مسبقًا لواجهة API أو خدمة ذكاء اصطناعي: يشحن المشترون بأنفسهم، ويستهلك خادمك مع كل استدعاء. لا يُقتطع شيء من الشحنة.
يناسب الرصيد كل ما يُباع حسب الاستخدام: الرموز، والصور، والدقائق، وعمليات البحث. يدفع المشتري ثمن باقة بالعملات المشفرة؛ وتستهلك منها مع كل استدعاء؛ وحين ينفد الرصيد يشحن من صفحته الخاصة. لا يُخصم شيء تلقائيًا — المشتري يدفع بنفسه دائمًا — ولا يأخذ Perly شيئًا من الشحن.
الإعداد
- 1
أنشئ منتجًا وباقات
Dashboard → Products → New، ثم New price → Credit pack: مثلًا 1 000 وحدة مقابل $10، و5 000 مقابل $40. أو
pay.prices.create({ product, model: "credit_pack", unit_amount: 1000, credits: 1000 }). - 2
اختر متى يعرف المشتري برصيده
في صفحة المنتج، في قسم Credits: حد التنبيه، ورسالة للمشتري، وAny amount — عدد N من باقة واحدة، ليتمكن المشتري من الشحن بـ $25 لا بباقة ثابتة فقط.
- 3
امنح كل مشترٍ عميلًا
أنشئ عميلًا لكل مستخدم بمعرّفك:
pay.customers.create({ email, external_id: user.id }). بعدها تقبل SDK هذا المعرّف.
استهلك، تحقق، اشحن
- العميل هو معرّف
cus_…أو بريد إلكتروني أو معرّفك الخاص له (external_id). حددproductإن كنت تبيع رصيدًا لعدة منتجات. - الاستهلاك ذرّي ولا ينزل تحت الصفر أبدًا: لن تمر عمليتان متزامنتان على الرصيد نفسه. النقص هو
insufficient_credits(409)، ولا يُستهلك شيء. - مرّر معرّف طلبك كمفتاح عدم تكرار. الإعادة — بعد انتهاء المهلة، أو عطل، أو حتى في اليوم التالي — تعيد الاستهلاك الأول، ولا تستهلك مرة أخرى.
actionهو وسمك (chat،image.hd،api/search). تجمع صفحة المنتج الاستهلاك حسب الإجراء وحسب العميل.
صفحة الشحن
top_up_url صفحة المشتري الخاصة، وهي نفسها في كل مرة: تُظهر الرصيد وباقاتك بمظهر صفحة الدفع لديك، وتفتح فاتورة عادية حين يختار المشتري باقة. فور دفعها يُضاف الرصيد مرة واحدة. اعرض الرابط في التطبيق، أو في خطأ «نفد الرصيد»، أو أرسله — وفي بوابة المشتري أيضًا زر اشحن.
حين ينفد الرصيد
| الحدث | متى |
|---|---|
credits.low | نزل الرصيد إلى حد المنتج. مرة لكل عبور: ولا يتكرر إلا بعد أن يرفعه شحن فوق الحد. |
credits.depleted | وصل الرصيد إلى الصفر. مرة لكل عبور. |
كلاهما يحمل العميل في data.object، إضافة إلى data.product وdata.balance. إن كان الحد محددًا والرسالة مفعّلة، يتلقى المشتري أيضًا رسالة واحدة برابط الشحن — مرة في اليوم على الأكثر. في وضع الاختبار تذهب الرسائل إلى فريقك فقط.