ملی ای‌پی‌آی

قبض میان‌دوره و پایان‌دوره همراه اول: کدام را بپردازم؟

میان‌دوره حساب جاری خط تا همین لحظه است و پایان‌دوره قبض بسته‌شده با مهلت پرداخت؛ هرکدام مبلغ و شناسهٔ پرداخت جدا دارند و جای هم به کار نمی‌روند.

اگر در برنامهٔ اپراتور دو مبلغ برای یک خط می‌بینید، آن‌ها دو عدد از دو زمان‌اند: پایان‌دوره قبضی است که دورهٔ آن بسته شده، و میان‌دوره حساب همان خط تا همین لحظه است. هیچ‌کدام تکراری یا اشتباه نیست.

این تفاوت برای کسی که فقط می‌خواهد قبض خودش را بپردازد کوچک به نظر می‌رسد. برای کسی که پرداخت قبض را در یک اپلیکیشن یا سامانهٔ مالی می‌سازد، همین تفاوت تعیین می‌کند کدام عدد به کاربر نشان داده شود و کدام شناسه به درگاه برود.

میان‌دوره دقیقاً چیست

میان‌دوره یعنی صورتحساب جاری، پیش از آنکه دوره تمام شود. مصرف از روز آخرین صورتحساب تا امروز در آن جمع شده و هر روز عوض می‌شود.

پایان‌دوره برعکس است. دوره بسته شده، مبلغ ثابت است و همین مبلغ است که مهلت پرداخت دارد.

منابع عمومی دربارهٔ جزئیات این دو کمی با هم فرق دارند. بعضی می‌نویسند میان‌دوره مبلغ پایان‌دوره به‌علاوهٔ روزهای بعد از بسته‌شدن قبض است، بعضی فقط می‌گویند «مبلغ تا همین لحظه». من به همین دلیل در این مقاله هیچ فرمول حسابداری نمی‌دهم. اگر نیاز دارید بدانید پرداخت یکی از آن دو چه اثری روی دیگری می‌گذارد، جوابش را نه از حدس، بلکه از نتیجهٔ استعلام بعد از پرداخت بگیرید (در بخش آزمایش، همین را قدم‌به‌قدم می‌بینید).

هر دو بخش شناسهٔ خودشان را دارند

پاسخ استعلام برای هر خط، دو بلوک جدا برمی‌گرداند. در خروجی وب‌سرویس استعلام قبض همراه اول این دو final_term و mid_term نام دارند و هرکدام سه چیز دارند: مبلغ، شناسهٔ قبض و شناسهٔ پرداخت.

json { "final_term": { "amount": 1000, "bill_id": "xxxxxxxxxx", "payment_id": "xxxxxxxxxx" }, "mid_term": { "amount": 1000, "bill_id": "xxxxxxxxxx", "payment_id": "xxxxxxxxxx" } }

مقدارها در این نمونه فقط شکل پاسخ را نشان می‌دهند و واقعی نیستند.

نکته‌ای که زیاد از قلم می‌افتد: شناسه‌های این دو بلوک جدا هستند. شناسهٔ پرداخت پایان‌دوره را کنار مبلغ میان‌دوره به درگاه ندهید. درگاه ممکن است بپذیرد و پولی با مبلغ اشتباه یا برای صورتحساب اشتباه جابه‌جا شود. تفاوت شناسهٔ قبض و شناسهٔ پرداخت را در راهنمای شناسه قبض و شناسه پرداخت جداگانه توضیح داده‌ایم و اینجا تکرارش نمی‌کنم.

پس کدام را بپردازم

جواب کوتاه: بسته به هدفتان.

  • می‌خواهید بدهی سررسیدشده را صاف کنید و مهلت را از دست ندهید: پایان‌دوره.
  • می‌خواهید هم‌اکنون بدهی جاری خط را ببندید، مثلاً چون خط را به کسی می‌سپارید یا تسویه می‌کنید: میان‌دوره عدد نزدیک‌تر به واقعیت امروز است.

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

مبلغ صفر یعنی چه

در یکی از دو بلوک مبلغ صفر ببینید، یعنی برای آن بخش مبلغی ثبت نشده. این پاسخ خراب نیست.

کاربر بسیار پیش می‌آید که پایان‌دوره صفر باشد و میان‌دوره عددی بزرگ. یعنی قبض قبلی صاف شده و مصرف جدید در راه است. نمایش پیام «شما بدهی ندارید» در این حالت اشتباه است. بهتر است جمله‌ای مثل «قبض بسته‌شدهٔ شما تسویه است؛ مصرف جاری در میان‌دوره دیده می‌شود» بنویسید.

آزمایشی که جواب حدس‌ها را می‌دهد

اگر مطمئن نیستید پرداخت در سامانهٔ شما چه اثری روی دو بخش دارد، یک خط آزمایشی بردارید و این مراحل را بروید:

  1. استعلام بگیرید و هر دو بلوک را ذخیره کنید.
  2. فقط یکی از دو شناسهٔ پرداخت را پرداخت کنید.
  3. چند دقیقه بعد و سپس چند ساعت بعد دوباره استعلام بگیرید.
  4. دو پاسخ را کنار هم بگذارید.

این آزمون ارزان است و جواب قطعی برای خط و دورهٔ خودتان می‌دهد. بعد از آن لازم نیست به هیچ مقاله‌ای، از جمله همین مقاله، اعتماد کنید.

سه اشتباه رایج در نمایش دو مبلغ

جمع‌زدن دو مبلغ. وسوسهٔ طبیعی این است که پایان‌دوره و میان‌دوره را جمع کنید و یک «کل بدهی» نشان بدهید. این کار را نکنید مگر با آزمایش بالا ثابت کرده باشید که دو مبلغ مستقل‌اند. اگر میان‌دوره شامل مبلغ پایان‌دوره هم باشد، کاربر را بدهکار دو برابر نشان داده‌اید.

ذخیرهٔ فقط یک شناسه. اگر در پایگاه داده یک ستون payment_id دارید، نمی‌دانید بعداً کدام بخش را پرداخته‌اید. دو ستون جدا یا یک ستون نوع بخش بسازید.

نمایش مبلغ میان‌دوره بدون زمان. میان‌دوره هر روز عوض می‌شود. کنار مبلغ بنویسید «تا امروز» و ساعت استعلام را نشان بدهید تا کاربر بداند عدد برای چه لحظه‌ای است.

یک سناریوی فرضی

تصور کنید کاربری که دو ماه قبض نداده، صبح استعلام می‌گیرد. پایان‌دوره عددی دارد و میان‌دوره عدد بزرگ‌تری. اگر فقط عدد بزرگ‌تر را نشان بدهید، کاربر ممکن است گمان کند بدهی ناگهان زیاد شده. اگر هر دو را با توضیح کوتاه نشان بدهید («قبض بسته‌شده» و «مصرف تا امروز»)، می‌فهمد کدام مهلت‌دار است و کدام در حال جمع‌شدن.

این مثال ساختگی است و عددی ندارد؛ برای خط خودتان با داده واقعی بسنجید.

آنچه این استعلام نمی‌کند

استعلام قبض همراه اول مبلغ و دو شناسه را برمی‌گرداند و همین. موارد زیر در پاسخ نیست:

  • ریز مکالمات و پیامک‌ها
  • بسته‌های فعال و حجم باقی‌مانده
  • موجودی خط اعتباری، چون این استعلام برای صورتحساب خط دائمی است
  • انجام پرداخت: شما شناسه می‌گیرید و پرداخت در درگاه خودتان انجام می‌شود

همچنین از نتیجهٔ این استعلام نمی‌توان فهمید خط به نام چه کسی است. این یک سؤال دیگر است و با تطبیق کد ملی و شمارهٔ موبایل جواب داده می‌شود.

چه چیزی را ذخیره کنید که بعداً به کار بیاید

برای هر استعلام، علاوه بر دو مبلغ و دو شناسه، زمان دقیق پرسش را ذخیره کنید. این یک ستون ارزان است و چند ماه بعد جوابِ «چرا کاربر می‌گوید مبلغ فرق داشت؟» را می‌دهد. وقتی تاریخچه دارید، می‌توانید بگویید کاربر چه عددی را در چه ساعتی دیده است. بدون آن، هر شکایت یک بحث بی‌پایان می‌شود، چون میان‌دوره خودش در طول روز تغییر می‌کند و هیچ‌کس نمی‌تواند عدد لحظهٔ قبل را بازسازی کند.

همچنین کد درخواست requestId را نگه دارید. در صورت اختلاف، همین یک رشته مسیر پیگیری با پشتیبانی را کوتاه می‌کند.

خلاصه برای مرور بعدی

دو بخش را همیشه کنار هم و با شناسهٔ خودشان ذخیره کنید. پیش‌فرض پرداخت را پایان‌دوره بگذارید و میان‌دوره را به‌عنوان گزینهٔ «تسویهٔ تا امروز» نشان بدهید. مبلغ صفر را خطا نگیرید. و اگر دربارهٔ اثر پرداخت تردید دارید، با یک خط آزمایشی بپرسید، نه با حدس. مستندات فراخوان در صفحهٔ مستندات API آمده است.

آخرین بازبینی: تیم تحریریه ملی ای‌پی‌آی

وب‌سرویس مرتبط با این راهنما

API استعلام قبض همراه اول

صورتحساب خط دائمی همراه اول.

مشاهده مشخصات فنی و تعرفه

راهنماهای مرتبط

پرسش و تجربه کاربران

اگر این راهنما جوابتان را نداد، همین‌جا بپرسید. پرسش‌ها را تیمملی ای‌پی‌آی پاسخ می‌دهد و هر نظر پیش از انتشار بررسی می‌شود.

هنوز پرسشی ثبت نشده، اولین نفر باشید.