=== HesabShop Connector ===
Contributors: hesabshop
Tags: woocommerce, accounting, sync, hesabshop
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
WC requires at least: 7.0
WC tested up to: 10.5
Stable tag: 2.2.0
License: GPLv2 or later

اتصال امن فروشگاه ووکامرس به نرم‌افزار حسابداری حساب‌شاپ.

== Description ==

این افزونه رویدادهای ووکامرس (سفارش، محصول، موجودی، برگشت) را در یک صف محلی قرار
می‌دهد و از طریق یک API امن و امضاشده (HMAC + Timestamp + Nonce + Idempotency)
به حساب‌شاپ ارسال می‌کند. افزونه هرگز مستقیم به دیتابیس حسابداری وصل نمی‌شود و
هستهٔ ووکامرس را تغییر نمی‌دهد.

ویژگی‌ها:
* OOP و Namespace، سازگار با WordPress و WooCommerce
* Activation / Deactivation / Uninstall امن + Migration نسخه‌ای
* صف پایدار با وضعیت‌های pending/processing/succeeded/failed/dead_letter
* تلاش مجدد با backoff نمایی و ارسال مجدد بدون تکرار رکورد
* Webhook فقط رویداد را در صف می‌گذارد (بدون تماس HTTP هم‌زمان)
* درخواست‌های امضاشده (HMAC-SHA256) با Timestamp، Nonce، Request-Id، Idempotency-Key
* HTTPS اجباری، لاگ‌های ماسک‌شده، راز نمایش‌داده‌نشده
* صفحهٔ «پل تنظیمات»: درگاه‌ها، وضعیت‌های سفارش، هزینه‌های ارسال، مالیات و انبارِ
  خودِ سایت را می‌خواند و کنارِ هرکدام می‌گوید حسابداری با آن چه کرده است
* صفحهٔ اتصال با وضعیت اتصال، نسخه‌ها، وضعیت صف و کارهای ناموفق
* Job ساعتی (Action Scheduler، و WP-Cron وقتی در دسترس نباشد) برای هماهنگی و سلامت
* سازگار با HPOS (جدول‌های اختصاصی سفارش) و بلوک‌های سبد/تسویه

== Installation ==

1. فایل zip را از طریق «افزونه‌ها > افزودن > بارگذاری افزونه» نصب کنید.
2. به «حساب‌شاپ > اتصال و وضعیت» بروید.
3. آدرس حساب‌شاپ (HTTPS)، Store ID، کلید API (Token) و راز API (Secret) را وارد کنید.
4. «تست اتصال» را بزنید.
5. پس از اتصال موفق، رویدادها خودکار صف و ارسال می‌شوند و تنظیمات سایت هم
   خودبه‌خود برای حسابداری فرستاده می‌شود — چیزی دستی تایپ نمی‌شود.
6. در «حساب‌شاپ > پل تنظیمات» ببینید کدام درگاه یا وضعیت هنوز در حسابداری
   تعریف نشده است.

== Changelog ==

= 2.2.0 =
* وضعیت سفارش «ثبت‌شده در حسابداری» — سفارشی که فاکتورش قطعی شده، در سایت هم
  علامت می‌خورد. ووکامرس برای این وضعیت ایمیلی تعریف نکرده، پس به مشتری چیزی
  نمی‌رود.
* جعبهٔ «وضعیت ثبت حسابداری» در صفحهٔ هر سفارش: ارسال شد یا نه، موفق یا ناموفق،
  شماره سند، شماره فاکتور، تاریخ و ساعت، توضیحات، متن خطا — و دکمهٔ ارسال دوباره.
* ستون «سند حسابداری» در فهرست سفارش‌ها.
* موجودیِ حساب‌شاپ در برگهٔ انبارِ هر کالا و در فهرست کالاها؛ کالای نگاشت‌نشده
  «۰» نشان نمی‌دهد، «—» نشان می‌دهد.

= 2.1.0 =
* صفحهٔ «پل تنظیمات»: آن‌چه سایت دارد، کنارِ آن‌چه حسابداری از آن فهمیده.
* خواندن خودکار درگاه‌ها (با عنوان و کد و پرداخت‌در‌محل)، وضعیت‌های سفارش،
  روش‌ها و هزینه‌های ارسال، نرخ و تنظیمات مالیات، انبار و واحد پول.
* اعلام سازگاری با HPOS و بلوک‌های سبد/تسویه.
* زمان‌بندی روی Action Scheduler (با WP-Cron به‌عنوان جایگزین).
* ارسالِ عکسِ تنظیمات با تأخیر کوتاه، تا چند بار ذخیره یک بار فرستاده شود.

= 2.0.0 =
* بازنویسی OOP چند‌فایلی با صف پایدار، امضای سخت‌گیرانه، سلامت و Job ساعتی.

= 1.0.0 =
* نسخهٔ اولیه مبتنی بر WC_Webhook.
