Why OpenAI’s Model is the Standard
لا تتعامل فوترة SaaS التقليدية جيدًا مع التكلفة المتغيرة لاستخدام AI. يحل نموذج OpenAI ثلاث مشكلات دفعة واحدة:- إيرادات متوقعة ومخاطر منخفضة: بما أن استخدام API مدفوع مسبقًا، لا يمكن للمستخدمين تراكم فواتير لا يستطيعون سدادها. تحصل OpenAI على الأموال مقدمًا، وينفقها المستخدم أثناء استخدام الخدمة.
- قابلية التوسع للمطورين: تمثل عملية شحن بقيمة $5 حاجزًا منخفضًا للبدء. ومع نمو التطبيق، يمكن للمطورين أتمتة عمليات الشحن أو شراء حزم أكبر. يبدأ الاستخدام بتكلفة منخفضة، ويمكن أن يتوسع دون تغيير الخطة.
- سيكولوجية المستخدم: توضيح قيمة الأرصدة المقوّمة بالدولار الأمريكي، بدلًا من استخدام “رموز مميزة” أو “نقاط” مجردة، يجعل القيمة واضحة. ويعمل الرصيد مثل حساب مسبق الدفع لخدمات AI، ما يسهل إعداد الميزانية للشركات.
How OpenAI Bills
تشغّل OpenAI نموذجين للفوترة لمستخدمين مختلفين.- API (الدفع حسب الاستخدام): يستخدم API أرصدة مدفوعة مسبقًا ومقوّمة بالدولار. يضيف المستخدمون إلى حساباتهم $5 أو $10 أو $50 أو أكثر. تعرض الأرصدة قيمة بالدولار، لكن لا يمكن استخدامها خارج OpenAI. تفرض OpenAI الرسوم لكل token، مع معدلات مختلفة لـ input tokens وoutput tokens. تنتهي صلاحية الأرصدة المشتراة بعد سنة واحدة من تاريخ الشراء، ولا يمكن استرداد قيمتها (مركز مساعدة OpenAI). عندما يصل الرصيد إلى $0، تفشل استدعاءات API.
- ChatGPT Plus وBusiness وEnterprise: هذه اشتراكات بسعر ثابت. تبلغ تكلفة ChatGPT Plus $20 شهريًا، وتبلغ تكلفة خطة Business (المعروفة سابقًا باسم Team) $25 لكل مستخدم شهريًا عند الفوترة الشهرية. وتفرض هذه الخطط حدود استخدام مرنة: ينتقل المستخدمون كثيفو الاستخدام إلى نموذج أصغر بدلًا من حظرهم.
- شرائح الأسعار المستندة إلى الإنفاق: مع نمو إجمالي الإنفاق بمرور الوقت، يفتح الحساب حدودًا أعلى لمعدل API. يتوسع الوصول مع سجل الفوترة.
ما الذي يميّزها
تجعل أربع خصائص من نظام فوترة OpenAI نظامًا فعّالًا لخدمات AI:- أرصدة مقوّمة بالعملة الورقية: تكون الأرصدة بالدولار الأمريكي، لذلك تبدو كأنها أموال. ويمكن للمطورين قراءة سعر الطلب مباشرة.
- مدة صلاحية طويلة: تدوم الأرصدة المشتراة لمدة عام، ما يقلل ضغط “استخدمها أو افقدها”. ويشعر المستخدمون بالراحة عند إضافة مبالغ أكبر.
- قياس متعدد الأبعاد: يتم تتبع input tokens وoutput tokens بشكل منفصل، لكن يُخصمان من الرصيد نفسه. ويمكن لـ OpenAI تسعير output tokens الأعلى تكلفة بسعر أعلى من input tokens.
- شرائح الثقة: تكافئ حدود المعدل التي ترتفع مع إجمالي الإنفاق العملاء على المدى الطويل وتشجعهم على الاستمرار.
المزايا الاستراتيجية
يعزز النموذج نفسه بنفسه. تستقطب تكاليف البدء المنخفضة المطورين. وتوفر الأرصدة المدفوعة مسبقًا تدفقًا نقديًا فوريًا. وتعني الأسعار المستندة إلى الاستخدام أن OpenAI تحقق أرباحًا أكبر مع نجاح المطورين. كما تضيف الاشتراكات مصدرًا ثابتًا للإيرادات من غير المطورين.أنشئ هذا باستخدام Dodo Payments
يمكنك إنشاء نموذج فوترة OpenAI باستخدام Dodo Payments. استخدم Credit-Based Billing لجزء API، والاشتراكات العادية لجزء ChatGPT Plus.1
Create a Fiat Credit Entitlement
في لوحة تحكم Dodo Payments، انتقل إلى Products → Credits وانقر على Create Credit. ويمثل هذا الرصيد الرصيدَ المركزي لكل مستخدم.
- Credit Type: Fiat Credits، مع ضبط Unit Currency على USD
- Credit Expiry: مخصص، 365 يومًا (بما يتوافق مع مدة صلاحية OpenAI البالغة عامًا واحدًا)، أو Never
- Rollover: غير مطلوب (لا تتم إعادة ضبط الأرصدة في كل دورة)
- Allow Overage: معطّل
2
Create Top-Up Products
أنشئ منتجات دفع لمرة واحدة لحزم أرصدة مختلفة، مثل $5 و$10 و$50 و$100. أرفق رصيدك الورقي بكل منتج.اضبط عدد الأرصدة المُصدرة على القيمة بالدولار للحزمة. تُصدر حزمة بقيمة $50 عدد 50 رصيدًا.
3
Create Usage Meters
أنشئ meterَين لتتبع الاستخدام الخاص بالرموز:
llm.input_tokens: تجميع Sum على الخاصيةtokens.llm.output_tokens: تجميع Sum على الخاصيةtokens.
حساب وحدات الـMeter لكل رصيد
لمطابقة أسعار GPT-4o من OpenAI، احسب عدد الرموز التي تساوي تكلفتها $1، أي رصيدًا ورقيًا واحدًا:- Input Tokens: 1,000,000 token / $2.50 = 400,000 token لكل $1.
- Output Tokens: 1,000,000 token / $10.00 = 100,000 token لكل $1.
4
Send Usage Events
بعد كل طلب LLM، أرسل الاستخدام إلى Dodo Payments. يمكن لطلب واحد أن يتضمن حدثي input وoutput معًا. يعيد هذا المقتطف استخدام
client من الخطوة السابقة.5
Handle Balance Depletion
تحقّق من رصيد المستخدم قبل معالجة طلب API. إذا كان الرصيد صفرًا أو سالبًا، فارفض الطلب، مثلًا باستخدام حالة
402.التعامل مع Webhooks انخفاض الرصيد
أبلغ المستخدمين قبل وصول رصيدهم إلى $0. اضبط Low Balance Threshold عند إرفاق الرصيد، ثم أرسل بريدًا إلكترونيًا أو إشعارًا داخل التطبيق عند وصول webhook credit.balance_low.6
Build the ChatGPT Subscription Side (Optional)
لتقديم خطة اشتراك مثل ChatGPT Plus، أنشئ منتج اشتراك منفصلًا في Dodo Payments. ولا يحتاج هذا المنتج إلى entitlement للرصيد.بالنسبة إلى خطة Team، استخدم الفوترة المستندة إلى المقاعد: إضافة لكل مقعد تكون كميتها مساوية لعدد المستخدمين.
تنفيذ الحدود المرنة
لإنشاء حدود مرنة، تتبّع استخدام مستخدمي الاشتراك باستخدام الـmeters نفسها، ولكن من دون ربطها برصيد. وفي تطبيقك، تحقّق من الاستخدام خلال فترة الفوترة الحالية.سرّع العمل باستخدام LLM Ingestion Blueprint
تنشئ الخطوات أعلاه أحداث الاستخدام وترسلها يدويًا. أما LLM Ingestion Blueprint فيغلّف OpenAI client الخاص بك ويتتبع الرموز تلقائيًا.inputTokens وoutputTokens وtotalTokens من كل استجابة API ويرسلها، مع model، باعتبارها metadata للحدث. اضبط Over Property في الـmeter على مفتاح token الذي تريد إصدار فاتورة عليه.
تنفيذ شرائح الأسعار المستندة إلى الإنفاق
تدير شرائح الأسعار لدى OpenAI السعة بناءً على الثقة. ولإنشائها، تتبّع إجمالي إنفاق كل عميل طوال فترة استخدامه.- تتبّع إجمالي الإنفاق: استمع إلى Webhooks
payment.succeededوأضف مبلغ الدفع إلى حقلtotal_spendالخاص بذلك العميل في قاعدة بياناتك. تكون المبالغ بوحدة العملة الأصغر، لذا يمثل 5000 مبلغ $50.00. - حدّد الشرائح: اربط مبالغ الإنفاق بحدود المعدل:
- الشريحة 1: إنفاق من $0 إلى $50 -> 3 RPM
- الشريحة 2: إنفاق من $50 إلى $250 -> 10 RPM
- الشريحة 3: إنفاق بقيمة $250 أو أكثر -> 50 RPM
- طبّق الحدود: في API middleware، ابحث عن شريحة العميل وطبّق حد المعدل الخاص بها.
مثال كامل على التنفيذ: API Proxy
في بيئة الإنتاج، يوجد API proxy عادةً بين المستخدمين ومزود LLM. ويصادق الـproxy على الطلب، ويتحقق من الأرصدة، ويرسل بيانات الاستخدام. ينفّذ المعالج أدناه الـproxy:التعامل مع الحالات الطرفية
يحتوي نظام فوترة مثل نظام OpenAI على عدة حالات طرفية ينبغي التخطيط لها.حالات التنافس
يمكن لمستخدم ذي رصيد منخفض إرسال عدة طلبات في الوقت نفسه وتجاوز الرصيد قبل معالجة أي حدث. ولمنع ذلك، احتفظ بهامش صغير، أو أنشئ distributed lock على رصيد العميل أثناء كل طلب.زمن استجابة إدخال الأحداث
يخصم Dodo Payments الأرصدة بشكل غير متزامن. ويعالج background worker الأحداث الجديدة مرة واحدة تقريبًا كل دقيقة، لذلك قد يتأخر الخصم عن استدعاء API. وللتنفيذ الصارم في الوقت الفعلي، احتفظ بـ local cache لرصيد كل مستخدم وحدّثه أثناء تقديم الطلبات.معالجة عمليات رد الأموال
لا تؤدي إعادة قيمة شراء حزمة أرصدة إلى إزالة الأرصدة التي منحتها. عند رد المبلغ، اخصم تلك الأرصدة بنفسك عبر debit: استخدم Apply Credit/Debit في علامة تبويب Credits الخاصة بالعميل، أو API Create Ledger Entry. ثم حدّث العرض الخاص بالرصيد في تطبيقك حتى لا يتمكن المستخدمون من إنفاق أرصدة لم تعد متاحة لهم.دعم نماذج متعددة
لدعم عدة نماذج بأسعار مختلفة، اختر أحد الخيارين:- Meters منفصلة: أنشئ مجموعة من الـmeters لكل نموذج، مثل
gpt-4o.input_tokensوgpt-4o-mini.input_tokens، مع Meter units per credit خاص بكل منها. - أحداث موزونة: استخدم meter واحدًا واضرب
tokensفي وزن قبل إرسال الحدث. مثلًا، إذا كانت تكلفة GPT-4o تساوي عشرة أضعاف تكلفة GPT-4o-mini، فأرسل عددًا من token يساوي عشرة أضعاف العدد لطلبات GPT-4o.
نظرة عامة على البنية
توضح الحلقة أدناه التدفق المدفوع مسبقًا بدءًا من الشراء وصولًا إلى حظر الاستدعاءات: تتتبع الـmeters الرموز وتخصم قيمتها بالدولار من رصيد المستخدم وفق المعدلات التي ضبطتها. ويحظر تطبيقك الاستدعاءات عندما يصل الرصيد إلى الصفر.الخلاصة
باستخدام Dodo Payments، يمكنك الجمع بين الفوترة المستندة إلى الاستخدام وقابلية التنبؤ التي توفرها الأرصدة المدفوعة مسبقًا، كما تفعل OpenAI. يدفع العملاء مقدمًا، وينفقون حسب الاستخدام، ويضيفون رصيدًا عندما يحتاجون إلى المزيد. تعمل المكونات نفسها مع منصة LLM كبيرة أو أداة AI صغيرة: رصيد ورقي، ومنتجات لإضافة الرصيد، وmeters للرموز، والتحقق من الرصيد قبل كل طلب.ميزات Dodo الرئيسية المستخدمة
تدعم ميزات Dodo Payments التالية هذا التنفيذ:Credit-Based Billing
أدر الأرصدة الورقية المدفوعة مسبقًا وentitlements الخاصة بالمستخدمين.
Usage-Based Billing
تتبّع الاستخدام التفصيلي مثل الرموز وأصدر فواتير عليه.
One-Time Payments
بِع حزم الأرصدة وعمليات إضافة الرصيد من خلال checkout.
Event Ingestion
أرسل بيانات استخدام كبيرة الحجم إلى Dodo Payments.
Webhooks
ابقَ على اطلاع بتغيّرات رصيد الأرصدة وتنبيهات انخفاض الرصيد.
LLM Ingestion Blueprint
تتبّع تلقائي للرموز لدى OpenAI ومزودي LLM الآخرين.