Skip to main content
#P1796

POST /b2c/v1/online/{type}/refund


Refund Request Operation

این اندپوینت جهت ثبت و پردازش عملیات درخواست استرداد (Refund) برای بلیط یا رزرو آنلاین ایجاد شده است. پس از ارسال اطلاعات رزرو، توضیحات کاربر و مشخصات شعبه، فرآیند استرداد از طریق سرویس اصلی BaseService::refundItemProgress اجرا می‌شود. پاسخ شامل اطلاعات تراکنش استرداد و وضعیت نهایی عملیات خواهد بود.



Refund Item Progress

URL: /b2c/v1/online/{type}/refund
Method: POST
Controller: V1OnlineController@refundItemProgress
Auth: Public (No Authentication Required)

Path Parameters

Parameter Type Description
{type} String نوع سرویس آنلاین که قرار است فرایند استرداد برای آن انجام شود — یکی از aircraft، train یا accommodation.

Request Body Parameters

Parameter Type Required Description
data Object / Array اطلاعات رزرو، شامل شماره بلیط، شناسه رزرو، مشخصات سرویس و داده‌های ارائه‌دهنده.
description String ☑️ توضیحات متنی برای علت درخواست استرداد؛ توسط کاربر یا شعبه ارائه می‌شود.
branch Integer شناسه شعبه‌ی درخواست‌دهنده که از قوانین داخلی برای محاسبه استرداد استفاده می‌کند.

Response Structure

Key Description
items نتایج بازگشتی از تابع BaseService::refundItemProgress شامل جزئیات استرداد، کد رهگیری و وضعیت مالی.
meta.timestamp زمان لحظه ثبت پاسخ (Unix Timestamp).

Example Response — Success

{
  "items": {
    "reference": "RFD-83234",
    "status": "accepted",
    "refund_amount": 1200000,
    "currency": "IRR",
    "provider": "Mahan Airlines",
    "description": "لغو پرواز توسط مسافر",
    "processed_at": "2025-12-09T17:40:22Z"
  },
  "meta": {
    "timestamp": 1733739622
  }
}

Example Response — Error (400)

{
  "status": false,
  "time": 1733739622,
  "error": {
    "code": 1002,
    "message": "Refund process failed: invalid ticket reference",
    "trace": [ ... ]
  },
  "support": {
    "phone": "021-91016838 in 121",
    "email": "ict@airplus.app",
    "panel": "helpdesk.airplus.app"
  }
}

Technical Logic

Request: includes data, description, and branch
Initialize BaseService
$BaseService = new \App\Lib\BaseService()
Call refundItemProgress()
$BaseService->refundItemProgress($request->data, $request->description, $request->get('branch'))
Return JSON Result
شامل داده‌های استرداد، مبلغ بازگشتی و وضعیت نهایی.
در صورت خطا → ارسال پاسخ خطایی حاوی کد 1002 و اطلاعات تماس پشتیبانی.