# 반품 처리하기

반품은 상품 **배송이 시작된 이후 주문을 무효화**하는 것입니다. 구매자는 상품을 배송하고 판매자는 이를 수거합니다. 구매자는 주문이 '배송중', '배송완료' 상태일 때만 반품을 요청할 수 있어요.

<figure><img src="https://1893239884-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5jZ0MNZGU289cgosea36%2Fuploads%2FibR02ZTDuShOoCq91Kdu%2Fimage.png?alt=media&#x26;token=0f916458-69e3-4af5-9781-96ba790184f4" alt=""><figcaption></figcaption></figure>

* 구매자가 반품을 요청하면 판매자는 승인 또는 거절할 수 있어요.
* 반품 요청이 승인되면 주문 상태가 '수거중'으로 바뀌고, 수거 배송이 완료되면 '수거완료'로 바뀝니다.
* 수거 완료 상태에서 판매자가 반품을 완료 또는 반려할 수 있어요.
* 반품을 완료하면 주문 상태가 '반품완료'로 바뀌고 주문금액은 구매자에게 환불됩니다.
* 반품을 반려하면 주문은 반품 요청했을 때의 상태(배송중 또는 배송완료)로 돌아갑니다.
* 구매자는 반품 요청 거절 / 반품 철회한 주문 상품에 대해 다시 반품 요청할 수 있습니다.

## 반품 승인하기

판매자가 반품 요청 및 반품을 승인하고 모든 과정을 일반적으로 마치는 방법입니다.

{% stepper %}
{% step %}

### 반품 요청 확인하기

[클레임 요청 목록 조회 API](https://shopping-docs.toss.im/dev/api-2/claim#get-api-v3-shopping-fep-claims)로 반품 클레임을 확인해주세요.  `type` 쿼리 파라미터를 `RETURN`로 설정해주세요. `status` 쿼리 파라미터는 항상 `REQUESTED`로 설정해주세요. 요청 상태인 반품 클레임을 불러옵니다.

**GET** `/api/v3/shopping-fep/claims?type={claimType}&status={claimStatus}'`

```bash
  curl --request GET \
  --url 'https://shopping-fep.toss.im/api/v3/shopping-fep/claims?type=RETURN&status=REQUESTED' \
  --header 'Authorization: Bearer {ACCESS_TOKEN}' \
  --header 'Content-Type: application/json'
```

{% endstep %}

{% step %}

### 클레임 ID로 반품 요청 승인하기

응답의 `success` 필드 안에 `items.id`는 해당 클레임 요청의 유니크한 ID 값입니다. [반품 요청 승인 API](https://shopping-docs.toss.im/dev/api-2/claim#post-api-v3-shopping-fep-claims-claimid-return-approval)의 Path 파라미터로 사용해주세요. 반품 요청 승인 시 주문 상품 상태는 '수거중'이 됩니다.

**POST** `/api/v3/shopping-fep/claims/{claimId}/return/approval`

```bash
  curl --request POST \
  --url 'https://shopping-fep.toss.im/api/v3/shopping-fep/claims/{claimId}/return/approval' \
  --header 'Authorization: Bearer {ACCESS_TOKEN}' \
  --header 'Content-Type: application/json'
```

{% endstep %}

{% step %}

### 반품 수거 완료하기

구매자가 발송한 상품을 잘 받았다면 [반품 수거 완료 API](https://shopping-docs.toss.im/dev/api-2/claim#post-api-v3-shopping-fep-claims-claimid-return-collection)를 호출해주세요. 반품 수거 완료 시 주문 상품 상태는 '반품수거완료'가 됩니다.

**POST** `/api/v3/shopping-fep/claims/{claimId}/return/collection`

```bash
  curl --request POST \
  --url 'https://shopping-fep.toss.im/api/v3/shopping-fep/claims/{claimId}/return/collection' \
  --header 'Authorization: Bearer {ACCESS_TOKEN}' \
  --header 'Content-Type: application/json'
```

{% endstep %}

{% step %}

### 반품 완료하기

수거 완료한 상품에 문제가 없다면 [반품 완료 API](https://shopping-docs.toss.im/dev/api-2/claim#post-api-v3-shopping-fep-claims-claimid-return-completion)를 호출해주세요. 반품 완료시 구매자에게 주문금액이 환불되며 주문의 상태는 '반품완료'가 됩니다.

**POST** `/api/v3/shopping-fep/claims/{claimId}/return/completion`

```bash
  curl --request POST \
  --url 'https://shopping-fep.toss.im/api/v3/shopping-fep/claims/{claimId}/return/completion' \
  --header 'Authorization: Bearer {ACCESS_TOKEN}' \
  --header 'Content-Type: application/json'
```

{% endstep %}
{% endstepper %}

## 반품 요청 거절하기

상품 정책 등으로 인해 반품 요청을 거절할 수도 있어요. [반품 요청 거절 API](https://shopping-docs.toss.im/dev/api-2/claim#post-api-v3-shopping-fep-claims-claimid-return-rejection)를 호출해주세요. Path 파라미터로 취소할 클레임의 ID를 추가해주세요. 요청 파라미터로 거절 사유를 알려주세요.

**POST** `/api/v3/shopping-fep/claims/{claimId}/return/rejection`

```bash
  curl --request POST \
  --url 'https://shopping-fep.toss.im/api/v3/shopping-fep/claims/{claimId}/return/rejection' \
  --header 'Authorization: Bearer {ACCESS_TOKEN}' \
  --header 'Content-Type: application/json'
  --data '{"requestRejectReason":"반품 불가 상품"}'
```

## 상품 수거 이후 반품 반려하기

수거한 상품에 문제가 있다면 판매자는 반품을 반려할 수 있어요. [반품 반려 API](https://shopping-docs.toss.im/dev/api-2/claim#post-api-v3-shopping-fep-claims-claimid-return-collection-rejection)를 호출해주세요. Path 파라미터로 취소할 클레임의 ID를 추가해주세요. 요청 파라미터로 반려 사유를 알려주세요.

**POST** `/api/v3/shopping-fep/claims/{claimId}/return/collection-rejection`

```bash
  curl --request POST \
  --url 'https://shopping-fep.toss.im/api/v3/shopping-fep/claims/{claimId}/return/collection-rejection' \
  --header 'Authorization: Bearer {ACCESS_TOKEN}' \
  --header 'Content-Type: application/json'
  --data '{"rejectReason":"태그 뜯음"}'
```

> ### API 연동 중 문의사항이나 개선 제안이 있으신가요?

{% hint style="info" %}
토스쇼핑 API 연동에 대한 질문이나, 건의사항이 있다면 [연동/개발 문의](https://discord.gg/xPz6H9NZ3P)에 남겨주세요. 다른 유저의 문의를 참고하거나, 토스쇼핑 담당자와 질의를 주고 받을 수 있어요.
{% endhint %}
