# Phí của đơn hàng

> Lấy chi tiết phí hiện tại của một đơn đã tồn tại.

## Endpoint

| Môi trường | URL |
| --- | --- |
| Production | `https://online-gateway.ghn.vn/shiip/public-api/v2/shipping-order/soc` |
| Staging | `https://dev-online-gateway.ghn.vn/shiip/public-api/v2/shipping-order/soc` |

**Method**: `GET`

## Headers

| Header | Bắt buộc | Mô tả |
| --- | --- | --- |
| `Token` | Có | Token của shop (do GHN cấp) — [lấy token](https://developer.ghn.vn/vi/docs/token/get-token.md) |
| `ShopId` | Có | Shop ID (số nguyên) |

## Tham số

- **order_code** (String): Mã vận đơn GHN. Đơn phải thuộc tài khoản của bạn

## Ví dụ Request

```bash
curl -X GET "https://dev-online-gateway.ghn.vn/shiip/public-api/v2/shipping-order/soc?order_code=LAD8VT" \
  -H "Token: 5c1d8a9e-2f4b-11ed-..." \
  -H "ShopId: 92837"
```

## Response

### Thành công (HTTP 200)

_Lấy từ một lần gọi thật trên môi trường Staging (`detail` rút gọn còn các phí chính)._

```json
{
  "code": 200,
  "message": "Success",
  "data": {
    "order_code": "LAD8VT",
    "detail": {
      "main_service": 20900,
      "insurance": 0,
      "cod_fee": 0,
      "station_do": 0,
      "station_pu": 0,
      "return": 0,
      "r2s": 0,
      "coupon": 0
    },
    "cod_collect_date": "0001-01-01T00:00:00Z"
  }
}
```

### Các trường Response

Mọi số tiền phí đơn vị VND.

| Trường | Kiểu | Mô tả |
| --- | --- | --- |
| `order_code` | String | Mã vận đơn GHN |
| `detail` | Object | Chi tiết phí hiện tại của đơn |
| `detail.main_service` | Int | Phí vận chuyển cơ bản |
| `detail.insurance` | Int | Phí bảo hiểm (theo giá trị khai) |
| `detail.cod_fee` | Int | Phí thu hộ COD |
| `detail.station_do` | Int | Phí **nhận** hàng tại bưu cục (chặng giao) |
| `detail.station_pu` | Int | Phí **gửi** hàng tại bưu cục (chặng lấy) |
| `detail.return` | Int | Phí trả hàng |
| `detail.r2s` | Int | Phí giao lại ("trả về shop") |
| `detail.coupon` | Int | Giảm giá coupon |
| `detail.total` | Int | Tổng phí (bị bỏ khi 0) |
| `cod_collect_date` | String | Thời điểm đã thu COD (ISO 8601). Ngày rỗng `0001-01-01T00:00:00Z` nghĩa là chưa thu |

> **NOTE**
> `detail` còn có các thành phần phí khác như ở Tính phí (`document_return`, `double_check`, phí vùng xa, phí đổi địa chỉ, …); giá trị 0 được trả về là `0`.

## Bảng mã lỗi

| Điều kiện | HTTP | Ý nghĩa |
| --- | --- | --- |
| `Không tìm thấy thông tin đơn hàng` | 404 | Mã đơn không tồn tại |
| `CLIENT_NOT_OWNER_OF_SHOP` | 400 | Đơn không thuộc tài khoản của bạn |
| `SERVER_ERROR_COMMON` | 500 | Lỗi hệ thống |
