هر پروژه یک Wallet مستقل دارد. موجودی، پرداختها، هزینه منابع و وضعیت کمبود اعتبار به پروژه انتخابشده مربوطاند؛ پیش از بررسی صورتحساب، نام پروژه را در project switcher کنترل کنید.
بخشهای صورتحساب
در Console به Billing بروید. این صفحه سه نوع داده را جدا نشان میدهد:
- Current balance: اعتبار قابلاستفاده wallet همان پروژه.
- Payments: درخواستهای شارژ از طریق درگاه و وضعیت آنها.
- Transactions: دفتر کل append-only شامل credit و debitهای ثبتشده.
یک payment موفق معمولاً یک credit transaction میسازد. هزینه usage نیز بهصورت debit ثبت میشود؛ بنابراین payment و transaction یک مفهوم نیستند و تعدادشان لزوماً برابر نیست.
شارژ موجودی
- پروژه درست را انتخاب کنید.
- در Billing گزینه Top up balance را بزنید.
- مبلغ صحیح و مثبت به تومان و provider فعال را انتخاب کنید.
- درگاه را در tab بازشده کامل کنید.
- به Billing برگردید و هم status پرداخت و هم credit transaction را بررسی کنید.
اگر مرورگر tab پرداخت را باز نکرد، popup را برای دامنه Console مجاز کنید و همان درخواست را بررسی کنید؛ بدون اطمینان از status، چند پرداخت تکراری نسازید.
وضعیت payment
در فهرست پرداختها، مبلغ، provider، status، شناسه provider و پیام احتمالی را بررسی کنید. بازشدن درگاه بهمعنای موفقیت نیست؛ فقط status نهایی و credit ثبتشده نشان میدهد موجودی افزایش یافته است.
در پرداخت ناموفق یا نامشخص، شناسه payment و provider را نگه دارید و پیش از تلاش دوباره صفحه را refresh کنید. اطلاعات کارت یا رمز پرداخت را در ticket پشتیبانی نفرستید.
هزینه منابع چگونه ثبت میشود؟
usage برای بازههای کامل ساعتی UTC محاسبه میشود:
- App در حال اجرا بر اساس قیمت plan و تعداد replicaهای فعال هزینه دارد.
- Database در حال اجرا بر اساس قیمت plan هزینه دارد.
- plan runtime برای App یا Database متوقفشده صفر است.
- ظرفیت storage رزروشده plan در حالت توقف همچنان هزینه دارد.
هر resource و بازه rating حداکثر یک debit idempotent دارد. برای بررسی اختلاف، زمان UTC transaction، نوع resource و بازه ثبتشده را مقایسه کنید؛ جمع کارت «این ماه» فقط debitهای دریافتشده در صفحه فعلی Console را جمع میکند و جای گزارش کامل ledger را نمیگیرد.
کمبود موجودی و توقف پروژه
اگر rating موجودی را منفی کند، پروژه با دلیل insufficient_funds به حالت frozen میرود. ابران Appها و Databaseهای آن را بهصورت asynchronous متوقف میکند، اما desired state هر resource را حفظ میکند.
وقتی موجودی به صفر یا بیشتر برگردد، فقط freeze ناشی از insufficient_funds خودکار برداشته میشود. سپس منابعی که پیش از freeze باید running میبودند reconcile میشوند؛ resourceهایی که از قبل عمداً stop شده بودند، stop میمانند.
freeze با دلیل admin، abuse، security، terms یا manual با شارژ wallet خودکار رفع نمیشود و باید از مسیر پشتیبانی پیگیری شود.
کنترل هزینه
- projectهای production و آزمایشی را جدا نگه دارید تا wallet و ledger آنها مستقل باشد.
- replica و plan را بر اساس مصرف واقعی تنظیم کنید.
- resource بدون استفاده را فقط stop نکنید؛ storage رزروشده و داده لازم را نیز بررسی کنید.
- پس از resize، stop یا حذف، transactionهای ساعت بعد را بازبینی کنید.
- برای رخداد مالی، project، payment ID یا transaction ID و زمان UTC را ثبت کنید.
رفع مشکل
- موجودی تغییر نکرده است: status نهایی payment و وجود credit transaction را بررسی و صفحه را refresh کنید.
- پروژه پس از شارژ frozen مانده است: موجودی باید حداقل صفر باشد و reason باید دقیقاً
insufficient_fundsباشد. - resource فوراً بالا نیامد: unfreeze و reconciliation asynchronous است؛ event و status resource را بررسی کنید.
- هزینه resource متوقفشده دیده میشود: plan runtime باید صفر باشد، اما storage رزروشده همچنان billable است.
برای مسیر تشخیص کاملتر، راهنمای رفع مشکل را دنبال کنید.