#P1807
GET /b2c/v1/discount/unsubmit
Unsubmit Discount Code
این اندپوینت برای بازگرداندن ظرفیت یا اعتبار مصرفشدهی یک کد تخفیف در سیستم B2C طراحی شده است. در واقع، اگر کد تخفیف اشتباهی استفاده یا تراکنش مربوط به آن لغو شود، با این درخواست میتوان مقدار limit آن را افزایش داد و status را در حالت فعال (1) قرار داد.
Endpoint Info
URL:
/b2c/v1/discount/unsubmitMethod: GET
Controller:
CreditDebitController@discountUnSubmitAuthorization: ندارد (در نسخه فعلی عمومی)
Related Table:
payment_discountکد بازگرداننده اعتبار: با id منحصربهفرد تخفیف فراخوانی میشود.
Query Parameters
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| id | integer | ✅ | شناسه رکورد تخفیف در جدول payment_discount |
Logic Flow
📥 ۱. دریافت پارامتر
id از Query string.↓
۲. جستجوی رکورد تخفیف در جدول
payment_discount با شرط id.↓
آیا رکورد یافت شد؟
- ✅ بله → ادامه پردازش
- ❌ خیر → بازگرداندن پیام «کد تخفیف معتبر نمیباشد»
↓
بررسی مقدار
limit:
- اگر
limit == 0→ یعنی تخفیف کاملاً مصرف شده بوده؛ حالا برگردان به حالت اولیه:limit = 1status = 1(فعال)
- اگر
limit > 0→ فقط یک واحد افزایش پیدا میکند.
↓
✏️ بروزرسانی جدول
payment_discount با مقادیر جدید.↓
✅ بازگشت پاسخ موفق با:
status = truetime = timestamp()
Response Samples
✅ بازگردانی موفق اعتبار
{
"status": true,
"time": 1733758800
}
❌ کد تخفیف یافت نشد
{
"status": false,
"time": 1733758810,
"message": "کد تخفیف معتبر نمی باشد."
}
Technical Notes
- عملیات بر روی جدول اصلی
payment_discountانجام میشود. - مقادیر قابل تغییر:
limit: شمارش باقیمانده استفاده از تخفیف.status: وضعیت فعلی تخفیف (۱ = فعال، ۳ = مصرف شده).
- اگر
limit == 0یعنی تخفیف قبلاً کامل مصرف شده، پس این متد آن را مجدداً فعال میکند. - در صورت موفقیت هیچ دیتا از رکورد برگردانده نمیشود؛ فقط تایید عملیات با timestamp عرضه میشود.
- در آینده بهتر است امنیت اضافه شود تا فقط کاربران مجاز یا مدیران سیستم قادر به revert باشند.