افزونهٔ وردپرس و ووکامرس
استعلامهای چکاوت ووکامرس، بدون کدنویسی
سه استعلام کاربردی برای فروشگاههای ایرانی: تکمیل خودکار نشانی از کد پستی، تطابق شمارهٔ موبایل با کد ملی، و تأیید نام صاحب کارت.
- نسخه: ۱.۱.۰
- وردپرس: ۶.۴+
- PHP: ۷.۴+
دانلود و نصب رایگان است. هزینه فقط بابت استعلامهایی است که خودتان روشن میکنید.
نسخهٔ ۱.۱.۰ · ۳۲ کیلوبایت · مجوز GPLv2
افزونه چه میکند
سه قابلیت، هر کدام برای یک ضرر مشخص که فروشگاههای ایرانی میدهند.
تکمیل خودکار نشانی از کد پستی
مشتری کد پستی را میزند و استان، شهر و نشانی خودکار پر میشود. نتیجهها یک هفته کش میشوند، پس کد پستی تکراری دوباره هزینه نمیبرد.
نشانی غلط یعنی مرسولهٔ برگشتی، و هزینهٔ هر مرسولهٔ برگشتی از صدها استعلام بیشتر است.
جزئیات فنی این سرویستطابق موبایل با کد ملی (شاهکار)
پس از ثبت سفارش بررسی میشود که شمارهٔ موبایل واقعاً به همان کد ملی تعلق دارد. نتیجه در ستون «احراز» فهرست سفارشها مینشیند.
برای فروشگاههایی که پرداختدرمحل دارند و از سفارش جعلی ضرر میکنند.
جزئیات فنی این سرویستأیید نام صاحب کارت
برای پرداخت کارتبهکارت: شمارهٔ کارت واریزکننده را وارد میکنید و نام صاحبش با نام سفارش مقایسه میشود. شمارهٔ کارت ذخیره نمیشود، فقط چهار رقم آخر و نتیجهٔ مقایسه.
بهجای مقایسهٔ چشمی فیشها، یک پاسخ روشن روی خودِ سفارش.
نصب در سه گام
نصب افزونه
فایل را بگیرید و در وردپرس از «افزونهها ← افزودن ← بارگذاری افزونه» نصب و فعال کنید.
ساخت کلید API
در پنل کسبوکار احرازینو یک کلید بسازید. کلید در سرور خودتان ذخیره میشود و هیچوقت به مرورگر بازدیدکننده نمیرود.
روشنکردن قابلیتها
در «ووکامرس ← تنظیمات ← احرازینو» کلید را بگذارید و هر قابلیتی را که میخواهید، جداگانه روشن کنید.
همهٔ قابلیتها پیشفرض خاموشاند. افزونه تا وقتی خودتان روشنشان نکنید، هیچ فراخوانی نمیزند و هیچ هزینهای نمیسازد. سقف مصرف هم در تنظیمات خود افزونه دست شماست.
هزینه چطور حساب میشود
خودِ افزونه رایگان است و برای همیشه رایگان میماند. آنچه هزینه دارد، هر استعلام است: از موجودی پنل کسبوکارتان کم میشود و قیمتش پیش از فراخوان قطعی است. مصرف را روزبهروز در گزارش پنل میبینید.
پرسشهای پرتکرار
- کلید API من کجا ذخیره میشود؟
در `wp_options` سرور خودتان. هیچوقت به مرورگر بازدیدکننده نمیرود و در هیچ فایل جاوااسکریپتی نیست. با حذف افزونه، کلید هم پاک میشود.
- هزینه چطور حساب میشود؟
هر استعلام از موجودی پنل شما کم میشود و قیمتش پیش از فراخوان قطعی است. مصرف را در [گزارش مصرف](https://ehrazino.com/dashboard/api/reports/) روزبهروز میبینید.
- آیا یک ربات میتواند موجودی من را خرج کند؟
مسیر تکمیل نشانی از صفحهٔ پرداخت صدا زده میشود و برای مهمانها هم باز است. سه لایه جلویش ایستادهاند:
1. **سقف هر IP در ساعت** (پیشفرض ۲۰)، جلوی مهاجم ساده را میگیرد. 2. **سقف سراسری در ساعت** (پیشفرض ۲۰۰)، کران بالای خسارت. در آزمون نفوذ، سقف IP بهتنهایی با ۵۰ پروکسی دور زده شد و ۱۰۰۰ فراخوان خورد؛ با سقف سراسری، ۲۵۰ آیپی هم همان ۲۰۰ فراخوان میگیرد. 3. **کش هفتگی**: کد پستی تکراری دوباره هزینه نمیبرد.
با پر شدن سقف سراسری، در پیشخوان اعلان میبینید و در گزارش ثبت میشود. عدد را متناسب با ترافیک واقعی فروشگاه بالا ببرید، ولی آگاهانه.
- کد ملی مشتریها کجا میرود؟
در متای سفارش میماند (برای فاکتور رسمی)، ولی سه جا **نمیآید**: در یادداشت سفارش ماسک میشود، در لاگ نوشته نمیشود، و از پاسخ REST API ووکامرس حذف میشود، چون پیشوند زیرخط فقط از رابط کاربری پنهان میکند و نه از REST.
- با HPOS و چکاوت بلوکی کار میکند؟
بله، هر دو. افزونه سازگاریاش را رسماً اعلام میکند و هیچجا `get_post_meta` روی سفارش صدا نمیزند.
تاریخچهٔ تغییرات
هر نسخه چه چیزی را عوض کرد، از جمله باگهایی که خودمان ساخته بودیم.
نسخهٔ ۱.۱.۰آخرین نسخه
- 🔴 باگ جدی: «تأیید نام صاحب کارت» هر بررسیِ موفق را «عدم تطابق» ثبت میکرد. این سرویس کلید `matched` برنمیگرداند و پاسخ موفقش نامِ صاحب کارت است؛ افزونه دنبال کلیدی میگشت که وجود نداشت. یعنی روی سفارش مشتریِ سالم یادداشتی مینشست که او را به پرداخت با کارت دیگری متهم میکرد. حالا نام برگشتی با نام سفارش مقایسه میشود، با یکسانسازی «ي/ی»، «ك/ک» و نیمفاصله.
- 🔴 «نمیدانم» دیگر به «مردود» ترجمه نمیشود. اگر شکل پاسخ شناخته نشود، نتیجه «نامعلوم، بررسی دستی» ثبت میشود، نه «تطابق ندارد». پیشتر هر تغییری در پاسخ سرویس، بیصدا مشتریهای سالم را متهم میکرد.
- 🔴 سقف نرخ روی فروشگاههای پشت CDN یا پراکسی، همهٔ بازدیدکنندهها را یک نفر میدید (`REMOTE_ADDR` نشانی پراکسی است). یعنی بیستمین مشتری هر ساعت تکمیل نشانی نداشت، و یک مهاجم با بیست درخواست این قابلیت را برای همه میبست. حالا از `WC_Geolocation` استفاده میشود. کران واقعی خسارت همان سقف سراسری است که دستنخورده مانده.
- 🔴 امنیتی: کلید API دیگر تغییرمسیر را دنبال نمیکند (`redirection => 0`). WordPress سرآیند `Authorization` را هنگام تغییرمسیر با خود میبرد، یعنی یک ۳۰۱ به میزبان دیگر کلید را تحویل میداد. راستیآزمایی TLS هم صریح روشن شد تا فیلترهای سراسری خاموشش نکنند.
- ستون «احراز» در فهرست سفارشها روی فروشگاههای بدون HPOS همیشه خالی بود.
- بازگشت پس از «بررسی نام صاحب کارت» روی فروشگاههای بدون HPOS به صفحهٔ سفارش نمیرسید.
- حذف افزونه، تنظیمات تکتک و کشِ نشانی مشتریها را هم پاک میکند. پیشتر نصب دوباره، قابلیتها را روشن تحویل میداد، در حالی که قاعده «پیشفرض خاموش» است.
- ⚠️ هشدار پیشخوان: اگر صفحهٔ پرداخت از چکاوت بلوکی استفاده کند، تکمیل نشانی و فیلد کد ملی کار نمیکنند. پیشتر بیصدا هیچکاری نمیکردند.
- متن خطای سرویس، پیش از نشستن در یادداشت سفارش، از تگهای HTML پاک میشود.
نسخهٔ ۱.۰.۱
- 🔴 امنیتی: سقف سراسری در ساعت اضافه شد. سقف هر IP با چرخش آیپی دور میخورد و کران بالایی روی خسارت نمیگذاشت.
- 🔴 امنیتی: پنجرهٔ سقف نرخ روی فروشگاههای دارای کش شیء (Redis) با هر درخواست جلو میرفت و عملاً بیاثر بود.
- 🔴 حریم خصوصی: کد ملی از پاسخ REST API ووکامرس حذف شد.
- کلید API دیگر در HTML صفحهٔ تنظیمات نمینشیند.
- اعلان پیشخوان هنگام پر شدن سقف سراسری.
نسخهٔ ۱.۰.۰
- نسخهٔ اول: تکمیل نشانی از کد پستی، تطابق موبایل با کد ملی، تأیید نام صاحب کارت.
افزونه را بگیرید و در چند دقیقه راه بیندازید
نصب روی وردپرس، بدون کدنویسی. برای گرفتن کلید API هم یک حساب کسبوکار در احرازینو کافی است.
دانلود و نصب رایگان است. هزینه فقط بابت استعلامهایی است که خودتان روشن میکنید.
نسخهٔ ۱.۱.۰ · ۳۲ کیلوبایت · مجوز GPLv2
