شناسهٔ قبض و شناسهٔ پرداخت خلافی چیست و چطور استفاده میشود؟
برای پرداخت خلافی هر دو شناسهٔ قبض و پرداخت لازم است؛ استعلام مجموع هر دو را کنار مبلغ میدهد ولی پرداخت را خودتان انجام میدهید.
شناسه قبض و شناسه پرداخت دو عدد جدا هستند که هر دو باید باشند تا خلافی را از یک درگاه یا اپلیکیشن بپردازید؛ استعلام خلافی که فقط مبلغ را بدهد، برای پرداخت کافی نیست. یکی قبض را مشخص میکند و دیگری پرداخت آن قبض را.
اگر از استعلام خلافی خودرو چیزی بیش از «چقدر بدهکارم» میخواهید، باید بدانید این دو عدد چه نقشی دارند، کجا در پاسخ میآیند و چرا در استعلام با جزئیات بهجای یکی، چند تا میبینید. استعلام خلافی خودرو هر دو را همراه مجموع بدهی برمیگرداند.
دو عدد، دو نقش
در پاسخ مجموع، کنار مبلغ، دو شناسه هست: شناسهای که قبض را معرفی میکند (در داده با نام شناسه برگه یا قبض دیده میشود) و شناسهای برای پرداخت. هر درگاهی که پرداخت قبض را پشتیبانی کند، همین دو عدد را میخواهد.
ما معنای دقیق هر عدد را در مرجع ادعا نمیکنیم؛ آنچه میدانیم این است که هر دو در پاسخ میآیند و برای پرداخت هر دو را باید به درگاه بدهید. لازم نیست قبض کاغذی داشته باشید.
یک نکتهی مهم: ما پرداخت را انجام نمیدهیم. این دو شناسه را میگیرید و پرداخت از درگاه یا سامانهٔ خودتان انجام میشود. سرویس استعلام است، نه پرداختیار.
چرا در پاسخ دو مبلغ هست
در پاسخ مجموع دو مبلغ دیده میشود: مبلغ جریمه که جمع تخلفات ثبتشده است، و مبلغ قابل پرداخت که چیزی است که همین الان باید پرداخت شود. این دو همیشه برابر نیستند. در رابط کاربری، مبلغ قابل پرداخت را برای دکمهٔ پرداخت استفاده کنید و اگر هر دو را نشان میدهید، درست برچسب بزنید. توضیح بیشتر دربارهٔ این دو مبلغ در راهنمای خلافی را پرداخت کردم ولی هنوز در استعلام هست هست؛ اینجا تکرارش نمیکنم.
در استعلام با جزئیات شناسهها چه میشوند
اگر بهجای مجموع، ریز خلافی را بگیرید، هر تخلف شناسهها و سریال خودش را دارد. یعنی پرداخت میتواند تخلف به تخلف باشد. این فرق مهمی است:
| استعلام | شناسهها | پرداخت چطور |
|---|---|---|
| مجموع | یک جفت برای کل بدهی | یک پرداخت |
| ریز تخلفات | یک جفت برای هر تخلف | پرداخت جداگانه یا انتخابی |
اگر محصول شما به کاربر اجازه میدهد «بعضی تخلفات را بپردازم و بقیه را بعداً»، به ریز نیاز دارید. اگر فقط میخواهید کل بدهی را یکجا ببرید به درگاه، مجموع کافی است.
در طراحی رابط چه کنید
سه توصیه عملی:
- هر دو شناسه را کنار هم، با دکمهٔ کپی نشان دهید. کاربری که میخواهد از اپ بانک خودش بپردازد، دقیقاً همین دو عدد را باید جابهجا کند. از اعداد فارسی استفاده کنید و در متنی که کپی میشود، لاتین بدهید تا اپ مقصد قبول کند.
- شناسهها را همانطور که برگشتهاند نگه دارید. آنها را به عدد صحیح تبدیل نکنید؛ ممکن است صفر ابتدایی داشته باشند و با تبدیل به عدد، از دست بروند.
- زمان گرفتن استعلام را کنارش بنویسید. بدهی با گذشت زمان و پرداخت دیگران تغییر میکند. عددی که ساعتی پیش گرفتهاید، ممکن است دیگر درست نباشد.
اعتبار شناسهها تا کی است
این را نمیدانیم و حدس هم نمیزنیم. تضمینی برای ماندگاری شناسهها نداریم؛ پس توصیهٔ ما این است که شناسه را برای پرداخت فوری بگیرید و ذخیرهٔ بلندمدتش نکنید. اگر کاربر بعد از چند روز برگشت، دوباره استعلام بگیرید.
اگر پرداخت کردید و استعلام همچنان بدهی نشان داد
این مشکل جداگانهای است و علتش معمولاً بهروزرسانی داده در مرجع است نه ایراد شناسه. توضیح کامل در راهنمای پرداختشده ولی باقیمانده آمده. فقط این را اینجا بگویم: رسید پرداخت را نگه دارید و تا زمان بهروزرسانی، استعلام تکراری نگیرید.
آنچه این سرویس انجام نمیدهد
- پرداخت نمیکند و رسید نمیدهد.
- بدون کد ملی و موبایل مالک جواب نمیدهد؛ این استعلام فقط با مشخصات مالک ممکن است.
- ریز تخلفات را نمیدهد (برای آن سرویس دیگری هست).
- تعیین نمیکند کدام تخلف قابل اعتراض است (آن در ریز هست).
یک نمونه ساده برای توسعهدهنده
فرض کنید پاسخ را به یک ساختار داخلی تبدیل کردهاید:
json { "total": 0, "billId": "…", "paymentId": "…", "fetchedAt": "…" }
کاری که با این ساختار میکنید: اگر total صفر بود، پرداختی لازم نیست و دکمهٔ پرداخت نشان داده نشود؛ در غیر این صورت دو شناسه را به صفحهٔ پرداخت بدهید. و اگر total صفر بود، آن را یک نتیجهٔ معتبر نشان دهید: «خلافی ثبتشدهای نیست.»
یک مثال از رابط پرداخت
فرض کنید اپلیکیشنی دارید که خلافی را نشان میدهد. بعد از استعلام خلافی خودرو، صفحهای شبیه این میسازید: مبلغ قابل پرداخت بالا و درشت، زیرش دو ردیف جدا برای شناسهها، هر کدام با دکمهٔ «کپی»، و در پایین یک خط کوچک «آخرین استعلام: ساعت فلان». اگر کاربر همینجا نخواهد از اپ شما بپردازد، شناسهها را کپی میکند و به اپ بانکش میبرد.
یک ظرافت کوچک: دکمهٔ کپی را برای هر شناسه جدا بگذارید، نه یک دکمه برای هر دو. اپلیکیشنهای پرداخت معمولاً دو فیلد جدا دارند و کاربر باید دو بار جابهجا کند. اگر یک متن ترکیبی کپی شود، کاربر باید دستی جدایش کند.
چند خطا که میشود پیشبینی کرد
- شناسهای که با رقم فارسی نمایش داده میشود و کپی آن در اپ مقصد قبول نمیشود. در متن کپیشده لاتین بدهید.
- شناسهای که طولانی است و در نمایش موبایل بریده میشود. اجازهٔ شکستن خط بدهید.
- مبلغ صفری که دکمهٔ پرداخت را نشان میدهد. وقتی مبلغ صفر است، دکمه را نشان ندهید.
بدهی صفر و پرداخت اضافه
اگر مبلغ قابل پرداخت صفر است، شناسهای برای پرداخت لازم نیست. بعضی کاربران برای اطمینان میخواهند «پرداخت کنند». رابط شما باید روشن بگوید که چیزی برای پرداخت نیست، تا کسی مبلغی را اشتباهی به سامانهی دیگری نفرستد. و اگر مبلغ مثبت است ولی کاربر مطمئن است که پرداخت کرده، او را به راهنمای پرداختشده ولی باقیمانده بفرستید و رسیدش را نگه دارد.
شناسهها را در سیستم خودتان چطور ثبت کنید
اگر کاربر با اپ شما استعلام میگیرد و بعداً برای پرداخت برمیگردد، یک رکورد کوچک بسازید: پلاک (بدون مشخصات مالک)، دو شناسه، مبلغ قابل پرداخت و زمان استعلام. از ذخیرهٔ کد ملی و موبایل در این رکورد خودداری کنید؛ برای پرداخت لازم نیستند. و یک تاریخ انقضای داخلی بگذارید (مثلاً چند ساعت) که پس از آن رابط از کاربر بخواهد دوباره استعلام بگیرد. این عدد را خودتان تعیین میکنید، چون ما برای ماندگاری شناسهها تضمینی نمیدهیم.
اگر عجله دارید
برای پرداخت خلافی دو شناسه لازم است، هر دو در پاسخ مجموع میآیند و پرداخت را باید خودتان انجام دهید. اگر پرداخت تخلفبهتخلف میخواهید، به ریز تخلفات بروید. شناسهها را رشته نگه دارید، کنار هم و قابل کپی نشان دهید و زمان استعلام را بنویسید.
وبسرویس مرتبط با این راهنما
API استعلام خلافی خودرو
مجموع خلافی خودرو با پلاک، کد ملی و موبایل مالک.
راهنماهای مرتبط
پرسش و تجربه کاربران
اگر این راهنما جوابتان را نداد، همینجا بپرسید. پرسشها را تیمملی ایپیآی پاسخ میدهد و هر نظر پیش از انتشار بررسی میشود.
هنوز پرسشی ثبت نشده، اولین نفر باشید.
