GH GambleHub

صدور صورت حساب API و گزارش

1) چرا صدور صورت حساب خود را برای API

کسب درآمد شفاف: لینک استفاده → درآمد.
مقیاس پذیری و کنترل: سهمیه ها، لغو، وام ها، کتاب قیمت با توجه به برنامه ها.
دقت مالی: مالیات/مالیات بر ارزش افزوده، چند ارزی، اعمال و بسته شدن اسناد.
اعتماد مشتری: گزارش های دقیق استفاده، وب سایت ها، پورتال خدمات خود.

2) معماری صورتحساب (سطح بالا)

Producers (API gateway, services) → Usage Event Bus (Kafka/Queue) → Metering & Rating → Billing DB → Invoicing/Tax → Payments (PSP) → Reporting DWH → Client Portal/Webhooks.

قطعات:
  • اندازه گیری - جمع آوری و عادی سازی استفاده (درخواست، وام، حجم).
  • رتبه بندی - برآورد هزینه رویداد با توجه به قیمت کتاب/برنامه.
  • صورتحساب - جمع آوری برای دوره، سود، مالیات، تخفیف، اعتبار.
  • پرداخت - نوشتن آف/refands, قدمت (dunning).
  • گزارش - MRR/ARPU/LTV، ریزش کوهورت، هزینه برای خدمت.
  • حسابرسی - idemotence، سیاهههای مربوط بدون تغییر.

3) اشخاص و شناسه ها

حساب (مستاجر)، طرح، حقوق، رویداد استفاده، فاکتور، یادداشت اعتباری، مشخصات مالیاتی.
حیاتی: idempotency_key به استفاده/فاکتور/پرداخت، منبع (دروازه/دسته ای)، نسخه طرح رویداد.

4) رویداد استفاده: طرح مرجع

json
{
"event_id": "use_01HXYZ...",
"idempotency_key": "key_6a2f-2025-11-03T18:02:09Z",
"occurred_at": "2025-11-03T18:02:05Z",
"ingested_at": "2025-11-03T18:02:09Z",
"tenant_id": "t_123",
"api_key_id": "k_456",
"plan_id": "pro-2025",
"endpoint": "POST /v1/reports/run",
"unit": "credit",
"quantity": 5,
"region": "eu-west-1",
"metadata": { "request_id": "r_789", "ip": "203. 0. 113. 5" },
"signature": "hmac_sha256_base64(...)",
"schema_version": 2
}

قوانین: رویدادها فقط اضافه می شوند ؛ ویرایش ها - از طریق رویدادهای اصلاحی اصلاحی با اشاره به «event _ id».

5) لایه ذخیره سازی و تجمع

5. 1 OLTP (صورتحساب DB)

Таблицы: «مستاجران»، «برنامه ها»، «طرح _ قیمت ها»، «حقوق»، «استفاده _ رویدادها»، «خطوط امتیاز»، «فاکتورها»، «صورتحساب _ خطوط»، «نرخ مالیات»، «اعتبار»، «پرداخت»، «بازپرداخت»، «اختلافات».

5. 2 DWH (تجزیه و تحلیل)

Факты: 'f _ usage', 'f _ billing', 'f _ payments'; ابعاد: d _ tenant، d _ plan، d _ endpoint، d _ region، d _ date.

5. 3 نمونه ای از استفاده از جمع آوری SQL → خطوط صورتحساب

sql
-- 1) Reduce usage per day by units create materialized view mv_daily_usage as select tenant_id, plan_id, endpoint, date_trunc ('day', occurred_at) d,
unit, sum(quantity) qty from usage_events where occurred_at >=:period_start and occurred_at <:period_end group by 1,2,3,4,5;

-- 2) Price book (tiered) applicable
select u. tenant_id, u. plan_id, u. d, u. unit, u. qty,
p. tier_from, p. tier_to, p. price_per_unit,
least(greatest(u. qty - p. tier_from + 1, 0), p. tier_to - p. tier_from + 1) as billable_units,
price_per_unit least(...) as amount from mv_daily_usage u join plan_prices p on p. plan_id = u. plan_id and p. unit = u. unit and u. qty >= p. tier_from;

6) قیمت کتاب و امتیاز (امتیاز)

مدل های پشتیبانی: تخت، لایه، حجم، اعتبارات همراه، پرداخت به عنوان شما بروید، و لغو.

مثال کتاب قیمت (YAML):
yaml plan_id: pro-2025 currency: USD units:
request:
tiers:
- { from: 1, to: 250_000, price_per_1k: 2. 5 }
- { from: 250_001, to: 1_000_000, price_per_1k: 2. 0 }
credit:
flat: { price_per_unit: 0. 001} # 1 credit = $0. 001 overage:
policy: "postpaid"
rounding: "ceil_1k"
minimum_commit: 99 # basic subscription/month

7) صورتحساب: تشکیل حساب

مراحل:

1. دوره قطع (با حساب محلی).

2. نرخ در برنامه بالا/پایین درجه (به روز).

3. امتیاز استفاده + خطوط فاکتور ثابت.

4. مالیات (مالیات بر ارزش افزوده/GST) توسط محل مشتری و نقطه خدمات.

5. اعتبار/تخفیف/کوپن.

6. امضا و انتشار، ارسال برای پرداخت (PSP)، webhooks.

خط صورتحساب (مثال):
json
{
"line_id": "invln_01",
"type": "usage",
"description": "API requests (first 250k)",
"unit": "request",
"quantity": 250000,
"unit_price": 0. 0025,
"amount": 625. 00,
"currency": "USD",
"tax_rate": "VAT20",
"amount_tax": 125. 00
}

8) مالیات و چند ارزی

مالیات بر ارزش افزوده/مالیات بر ارزش افزوده/GST: نگه داشتن مشخصات مالیاتی (کشور، معتبر مالیات بر ارزش افزوده ID، B2B/B2C).
نرخ مالیات بر اساس تاریخ (نسخه)، هزینه معکوس برای B2B اتحادیه اروپا.
تبدیل FX: نرخ در تاریخ فاکتور (ERU/ارائه دهنده)، منبع نرخ را نگه دارید.
اسناد: فاکتور، یادداشت اعتباری، یادداشت بدهی - با شماره و سری.

9) پرداخت، تاریخ و اختلافات

PSP (Stripe/Braintree/Adyen): پرداخت های توکن شده، بازپرداخت امتناع، دانینگ (1-3-7 روز).
اختلافات/بازپرداخت: رفع وضعیت، پیوند به فاکتور، جدول زمانی تعامل.
بازپرداخت: جزئی/کامل، مرتبط با «پرداخت _ id» و «فاکتور _ id».
سیگنال های تقلب: ناهنجاری های جغرافیایی/ASN، انفجار استفاده، کارت های مختلف - پرچم در صدور صورت حساب.

10) اعتبار، تخفیف، اعتبار SLA

وام های تبلیغاتی (کیف پول)، اعتبار خدمات برای نقض SLA (شروع خودکار در دوره بعدی).
کوپن: ثابت/بهره, حداقل مدت, محدودیت در طرح/نقاط پایانی.
شفافیت: در پورتال نشان می دهد تعادل وام و تاریخ نوشتن.

11) عدم توانایی و تنظیمات

تمام عملیات نوشتن از طریق Idempotency-Key.
تنظیمات - فقط از طریق حوادث تنظیمات (مثبت/منفی)، بدون ویرایش اصل.
آشتی: تأیید روزانه استفاده فاکتورهای PSP.

12) ایمنی و انطباق

رویدادهای استفاده از امضای HMAC/JWT از دروازه.
mTLS برای مصرف، کلید های فردی در هر محیط (prod/stage).
PII minimization (PAN/mail را بدون نیاز ذخیره نکنید)، DSAR/Legal Hold.
حسابرسی ورود به سیستم غیر قابل تغییر (ضمیمه تنها) برای معاملات مالی.

13) حسابداری پورتال API (قطعات OpenAPI)

yaml paths:
/v1/billing/usage:
get:
summary: Usage breakdown parameters: [ {name: from, in: query}, {name: to, in: query}, {name: unit, in: query} ]
responses: {"200": {description: OK}}
/v1/billing/invoices:
get: { summary: List invoices }
/v1/billing/invoices/{id}:
get: { summary: Get invoice (PDF/JSON) }
/v1/billing/credits:
get: { summary: Credit wallet balance }
/v1/webhooks/billing:
post:
summary: Billing webhooks description: "invoice. created, invoice. finalized, payment. succeeded, credit. applied"

هدر ها در پاسخ های API اصلی «X-Quota-Remaining»، «X-RateLimit-Remaining»، «X-Usage-Period» هستند.

14) وب سایت ها و رویدادهای صورتحساب

رویدادها: "فاکتور. ایجاد شده «،» فاکتور. پرداخت نهايي. موفق شد، دانینگ. دوباره سعی کنید، اعتبار. «،» مشاجره اعمال می شود. باز کرد.
مورد نیاز: امضای webhooks، تکرار با عقب نشینی، deduplication توسط 'delivery _ id'.

15) گزارش و معیارهای کسب و کار

KPI های مالی:
  • MRR/ARR (تقسیم بندی طرح/جغرافیایی)، ARPU، LTV/CAC، Churn (آرم/درآمد)، حفظ درآمد خالص (NRR).
  • استفاده → درآمد: کارت تبدیل تنگنا (که در آن آنها را به سهمیه اجرا).
  • هزینه برای خدمت: هزینه زیرساخت/درخواست → حاشیه در برنامه ها.
نمونه پرس و جو (DWH):
sql
-- MRR by invoice dates select date_trunc ('month', invoice_date) m, sum (recurring_amount) mrr from f_billing group by 1;

-- ARPU select m, sum(total_amount)/nullif(count(distinct tenant_id),0) arpu from f_billing_monthly group by 1;

-- Cohort by month of activation select cohort_month, month_since_start, sum (total_amount) revenue from f_billing_cohorts;

16) DevEx: پورتال خود سرویس

ثبت نام، برنامه ها، کلید ها، نمودارهای استفاده، فاکتورها (PDF/JSON)، وب سایت ها.
ارتقا/پایین آوردن، پیش نمایش فاکتور (pro-forma)، مدیریت روش پرداخت.
اطلاعیه ها: «سهمیه <10٪»، «overidge شامل»، «فاکتور صادر شده/پرداخت شده».

17) تست و محیط زیست

صدور صورت حساب Sandbox: PSP های ساختگی، نرخ مالیات تست.
تست قرارداد رویدادهای استفاده (زمینه های طرح/مورد نیاز).
نمونه ضرب مجدد در گوزن، قیمت آزمون رگرسیون راش.
Backfill امن است: فقط از طریق دسته مصرف با idempopotency.

18) FinOps و اقتصاد تعرفه

حاشیه در نقاط پایانی/برنامه ها را در نظر بگیرید: درآمد − هزینه برای خدمت.
عملیات «گران» را به وام ها اختصاص دهید و در سطوح پایین محدود کنید.
نظارت بر هزینه پرس و جو در مشاهده و لینک به صدور صورت حساب.

19) چک لیست راه اندازی

  • 'usage _ event '/' adjustment '/' invoice _ line' schemes متعهد و نسخه هستند.
  • قیمت کتاب تست شده (مسطح/ردیف/حجم)، prorate/override درست است.
  • Idempotency مصرف و webhooks، حسابرسی ورود به سیستم ضمیمه فقط.
  • مالیات/مالیات بر ارزش افزوده/FX درست، پروفایل های مشتری پر شده است.
  • پورتال: استفاده، فاکتورها، اعتبارات، وب سایت ها ؛ ادغام PSP و دانینگ.
  • گزارش DWH (MRR/ARPU/LTV/Churn/NRR)، آشتی روزانه.
  • اعتبار SLA و سیاست های اختلاف مستند شده است.

20) خطاهای مکرر و ضد الگوهای

بدون idempotency → استفاده تکراری/دو بار نوشتن.
قیمت «در مورد درخواست» بدون وام برای نقاط پایانی سنگین → حاشیه منفی.
مالیات «در محل شرکت»، نه مشتری → خطاهای انطباق.
صورتحساب بدون جزئیات → اختلافات مشتری.
بدون مصالحه بین usage↔PSP↔invoysy → گزارش اختلافات.

مجموع

صدور صورت حساب قوی برای رابط های برنامه کاربردی است معماری اندازه گیری رویداد محور, کتاب قیمت روشن, idempotence دقیق, صحیح مالیات/FX صورتحساب, و گزارش شفاف. استفاده از لینک به درآمد، به مشتری جزئیات روشن و به طور خودکار کل سفر - از رویداد به فاکتور به MRR داشبورد. این امر درآمد قابل پیش بینی، اختلافات کمتر و اقتصاد محصول قابل کنترل را فراهم می کند.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.