=== Sepal Payment Gateway for J2Store ===
Plugin: plg_j2store_payment_sepal (group: j2store, element: payment_sepal)
Stable tag: 2.0.0
Requires: Joomla 3.10 / 4.x / 5.x, J2Store 3.x or 4.x, PHP 7.2+ with cURL
License: GPLv2 or later

درگاه رسمی سپال برای J2Store.

== ویژگی‌ها ==
* API نسخه ۱ سپال: /api/v1/payment/request/ ، /api/v1/payment/{paymentNumber}/ ، /api/v1/payment/verify/
* سوییچ مسیرهای قدیمی (/api/request.json و /api/verify.json)
* حالت سندباکس (/api/v1/sandbox) برای تست بدون بانک واقعی
* Verify اجباری پس از بازگشت از درگاه، با invoiceNumber و تطبیق مبلغ
* جلوگیری از تکمیل تکراری سفارش (قفل سفارش + idempotent)
* اعتبارسنجی SSL روشن، بدون نمایش خطاهای PHP به کاربر
* واحد پول ریال / تومان

== نصب ==
1. مدیریت جوملا ← سیستم ← نصب افزونه‌ها ← بارگذاری فایل sepal-j2store-2.0.0.zip
   (روی نسخه ۱.۰ هم مستقیم نصب می‌شود و تنظیمات قبلی حفظ می‌شود.)
2. J2Store ← تنظیمات ← روش‌های پرداخت ← «J2Store - درگاه پرداخت سپال» را فعال کنید.
3. apiKey درگاه را از پنل پذیرندگی سپال وارد کنید و واحد پول فروشگاه را انتخاب کنید.

== تست دستی (سندباکس) ==
1. «محیط» را روی «سندباکس» بگذارید و یک apiKey دلخواه غیرخالی وارد کنید.
2. یک سفارش ثبت کنید؛ دکمه پرداخت باید به آدرسی شبیه
   https://payment.sepal.ir/api/v1/sandbox/payment/{paymentNumber}/ برود (با / انتهایی).
3. «پرداخت موفق» را بزنید؛ سفارش باید «تکمیل‌شده» و کد رهگیری نمایش داده شود.
4. سفارش دیگری را با «پرداخت ناموفق» امتحان کنید؛ سفارش باید «ناموفق» شود.
5. «محیط» را به «پروداکشن» برگردانید و apiKey واقعی را وارد کنید.

== Changelog ==

= 2.0.0 =
* Migrate to https://payment.sepal.ir and Sepal API v1 (request, browser redirect with trailing slash, verify)
* Legacy endpoint switch and sandbox mode
* Verify sends invoiceNumber; verified amount must match the order amount
* Network/5xx errors on verify leave the order Pending instead of Failed (retry by reloading the return page)
* Callback uses GET so the shopper session survives; removed session id (shf_key) from callbackUrl
* Payer mobile normalised to 09xxxxxxxxx and invalid email dropped so the request is not rejected
* SSL verification enabled; removed display_errors; output escaped in templates
* Order lock prevents double completion when browser and server callbacks race
* Admin settings: environment, base URL, API v1, button text, surcharge, debug logging

= 1.0 =
* Initial release (sepal.ir, /api/request.json).
