# GET /b2c/v1/discount/unsubmit

## Unsubmit Discount Code

این اندپوینت برای بازگرداندن ظرفیت یا اعتبار مصرف‌شده‌ی یک کد تخفیف در سیستم B2C طراحی شده است. در واقع، اگر کد تخفیف اشتباهی استفاده یا تراکنش مربوط به آن لغو شود، با این درخواست می‌توان مقدار `limit` آن را افزایش داد و `status` را در حالت فعال (`1`) قرار داد.

<div class="api-docs" id="bkmrk-">---

</div>### Endpoint Info

<div class="api-docs" id="bkmrk-url%3A-%2Fb2c%2Fv1%2Fdiscoun"><div class="endpoint-info"><div>**URL:** `/b2c/v1/discount/unsubmit`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** `CreditDebitController@discountUnSubmit`</div><div>**Authorization:** ندارد (در نسخه فعلی عمومی)</div><div>**Related Table:** `payment_discount`</div><div>**کد بازگرداننده اعتبار:** با id منحصر‌به‌فرد تخفیف فراخوانی می‌شود.</div></div>---

</div>### Query Parameters

<div class="api-docs" id="bkmrk-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-%D9%86%D9%88%D8%B9-%D8%A7%D8%AC%D8%A8%D8%A7%D8%B1%DB%8C-%D8%AA"><table class="schema-table" dir="rtl"><thead><tr><th>پارامتر</th><th>نوع</th><th>اجباری</th><th>توضیح</th></tr></thead><tbody><tr><td>id</td><td>integer</td><td>✅</td><td>شناسه رکورد تخفیف در جدول `payment_discount`</td></tr></tbody></table>

---

</div>### Logic Flow

<div class="api-docs" id="bkmrk-%F0%9F%93%A5-%DB%B1.-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-"><div class="flowchart" dir="rtl"><div class="flow-item">📥 ۱. دریافت پارامتر `id` از Query string.</div><div class="flow-arrow">↓</div><div class="flow-item-process">۲. جستجوی رکورد تخفیف در جدول `payment_discount` با شرط id.</div><div class="flow-arrow">↓</div><div class="flow-item-decision">آیا رکورد یافت شد؟ - ✅ بله → ادامه پردازش
- ❌ خیر → بازگرداندن پیام «کد تخفیف معتبر نمی‌باشد»

</div><div class="flow-arrow">↓</div><div class="flow-item-decision">بررسی مقدار `limit`: - اگر `limit == 0` → یعنی تخفیف کاملاً مصرف شده بوده؛ حالا برگردان به حالت اولیه: 
    - `limit = 1`
    - `status = 1` (فعال)
- اگر `limit > 0` → فقط یک واحد افزایش پیدا می‌کند.

</div><div class="flow-arrow">↓</div><div class="flow-item-process">✏️ بروزرسانی جدول `payment_discount` با مقادیر جدید.</div><div class="flow-arrow">↓</div><div class="flow-item-success">✅ بازگشت پاسخ موفق با: - `status = true`
- `time = timestamp()`

</div></div>---

</div>### Response Samples

#### ✅ بازگردانی موفق اعتبار

```json
{
  "status": true,
  "time": 1733758800
}
```

#### ❌ کد تخفیف یافت نشد

```json
{
  "status": false,
  "time": 1733758810,
  "message": "کد تخفیف معتبر نمی باشد."
}
```

<div class="api-docs" id="bkmrk--1">---

</div>### Technical Notes

<div class="api-docs" id="bkmrk-%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%D8%AC%D8%AF%D9%88%D9%84-%D8%A7">- عملیات بر روی جدول اصلی `payment_discount` انجام می‌شود.
- مقادیر قابل تغییر: 
    - `limit`: شمارش باقی‌مانده استفاده از تخفیف.
    - `status`: وضعیت فعلی تخفیف (۱ = فعال، ۳ = مصرف شده).
- اگر `limit == 0` یعنی تخفیف قبلاً کامل مصرف شده، پس این متد آن را مجدداً فعال می‌کند.
- در صورت موفقیت هیچ دیتا از رکورد برگردانده نمی‌شود؛ فقط تایید عملیات با timestamp عرضه می‌شود.
- در آینده بهتر است امنیت اضافه شود تا فقط کاربران مجاز یا مدیران سیستم قادر به revert باشند.

</div>