> For the complete documentation index, see [llms.txt](https://workspace-help.nhn-commerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://workspace-help.nhn-commerce.com/contents/recommended/prm_inirental.md).

# \[엔터프라이즈] 이니렌탈(렌탈결제) API 화면가이드

### 01. 간단소개  <a href="#id-01.-ea-b0-84-eb-8b-a8-ec-86-8c-ea-b0-9c" id="id-01.-ea-b0-84-eb-8b-a8-ec-86-8c-ea-b0-9c"></a>

* 기능요약
  * 이니렌탈(렌탈결제) 기능: 고액의 상품을 분할 납부하는 구독결제 방식의 결제 서비스
    * 이니렌탈은 상품금액을 분할하여 납부할 수 있는 렌탈 결제 수단입니다. 이니렌탈로 구매한 상품은 약정한 월 납부금액이 완납되면 소유권이 고객에게 이전됩니다.
  * 대상 솔루션: 샵바이 엔터프라이즈 전용
  * 기능 배포일자:2022-11-16
* 기능상세
  * 이니렌탈 상품 어드민 등록 및 활용방법은 아래 공지사항 내 첨부파일을 참고해주시길 바랍니다
  * SA(서비스어드민): [공지사항 보기 >](https://service.shopby.co.kr/board/popup/notice/148?noticeTarget=PLATFORM_TO_SERVICE)
  * BPA(파트너어드민): [공지사항 보기 >](https://partner.shopby.co.kr/board/popup/notice/149?noticeTarget=PLATFORM_TO_PARTNER)
  * [<mark style="color:red;">**서비스 신청 바로가기 >**</mark>](https://apps.godo.co.kr/apps/1339)

※ 쇼핑몰에서 직접 PG사(이니렌탈)에 렌탈결제 관련 key를 요청해야하며, 해당 key값 존재여부에 따라 '렌탈결제 사용여부'가 자동으로 세팅됩니다.

* key값 존재 시: 렌탈결제 '사용함'처리\
  ㄴ Front > 상품 상세페이지 : 이니렌탈 구매안내(월납부금액, 렌탈기간) 영역 노출\
  ㄴ Front > 주문서 작성/결제 : 렌탈상품 주문 가능
* key값 미존재 시: 렌탈결제 '사용안함'처리\
  &#x20;ㄴFront > 상품 상세페이지 : 이니렌탈 구매안내 영역 미노출 (API 호출 없음)\
  ㄴ Front > 주문서 작성/결제에서 렌탈상품 주문 불가 (결제수단 선택 불가)

***

### 02. (예시) API소개 및 화면 가이드 <a href="#id-02.-ec-98-88-ec-8b-9c-api-ec-86-8c-ea-b0-9c-eb-b0-8f-ed-99-94-eb-a9-b4-ea-b0-80-ec-9d-b4-eb-93-9c" id="id-02.-ec-98-88-ec-8b-9c-api-ec-86-8c-ea-b0-9c-eb-b0-8f-ed-99-94-eb-a9-b4-ea-b0-80-ec-9d-b4-eb-93-9c"></a>

아래 API들을 활용하여 이니렌탈(렌탈결제) 기능을 활용한 화면을 구현할 수 있습니다.<br>

#### 1)  상품 상세페이지 화면  <a href="#id-1-ec-83-81-ed-92-88-ec-83-81-ec-84-b8-ed-8e-98-ec-9d-b4-ec-a7-80-ed-99-94-eb-a9-b4" id="id-1-ec-83-81-ed-92-88-ec-83-81-ec-84-b8-ed-8e-98-ec-9d-b4-ec-a7-80-ed-99-94-eb-a9-b4"></a>

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091356.70215000/image.png" alt=""><figcaption></figcaption></figure>

① 렌탈료 조회

■ [옵션 조회하기 API](https://docs.shopby.co.kr/?url.primaryName=product/#/Product/get-product-options) 확인하기

```
GET /products/{productNo}/options
해당 상품번호에 대한 옵션 정보를 조회하는 API입니다
```

\- ✔ 해당 API를 호출하여 상품 상세페이지 진입 시, 상품의 렌탈기간 및 월납부 금액을 출력할 수 있습니다. (단, 렌탈결제 사용안함의 경우, API가 호출되지 않습니다)\
&#x20; 응답값 내 `multiLevelOptions(분리형옵션)> children> rentalInfo` 또는 `flatOptions(일체형옵션) > rentalInfo` 필드값을 활용하실 수 있습니다.\
&#x20; 만약 옵션이 있을 경우, 옵션 선택 시점에 해당 API를 호출하여 렌탈기간 및 월납부 금액을 출력합니다.

\- 월 납부 금액이 가장 적은 순으로 노출됩니다.\
&#x20;  (ex) 해당 상품의 금액이 240만원이고 렌탈계약을 12개월/24개월로 진행한 경우 아래와 같이 노출됨.\
&#x20;  월 100,000원(24개월)\
&#x20;  월 200,000원(12개월)

\- ✔ 렌탈상품은 한 주문에 1가지 옵션만 구매 가능합니다. (2개이상의 옵션상품은 선택 불가)\
&#x20; 만약 이미 1개의 옵션이 선택된 경우, 쇼핑몰 고객이 옵션을 추가로 선택하려고할 시 "렌탈 상품은 옵션단위로 1개의 수량만 주문가능합니다"라는 알럿메시지가 출력되어야합니다.\
\- 구매자 작성형 옵션은 등록가능합니다.

\- 렌탈상품은 현재 장바구니 기능을 제공하지 않습니다.\
\- 네이버페이 결제버튼은 노출되지 않습니다.

② 구매수량\
\- 렌탈 상품은 구매수량 1개만 선택가능합니다.

③ 렌탈 주문 (버튼)\
\- 렌탈 상품인 경우 \[렌탈 주문] 버튼이 출력됩니다.\
\- 버튼 클릭 시, 유효성 검사를 진행하고 주문서 작성페이지로 이동합니다.  \
\- ✔해당 버튼 클릭 시, 만약 ②에서 구매수량이 2개 이상일 경우 "구매수량이 제한되었습니다"와 같은 알럿메시지 노출이 필요합니다. \
&#x20; 만약 필수 옵션을 선택하지 않은 경우 "옵션을 선택해주세요"와 같은 알럿 메시지 노출이 필요합니다.&#x20;

\- 해당 버튼 클릭 시, 아래 API를 통해 선택한 상품 옵션에 대한 주문서가 생성됩니다.

■ [주문서 작성하기 API](https://docs.shopby.co.kr/?url.primaryName=order/#/OrderSheet/post-order-sheet) 확인하기

```
POST /order-sheets
주문을 진행할 상품정보를 전달하는 API입니다. 주문서 화면으로 이동하기 전 단계에서 호출해야 합니다.
```

Request body 내 `products > rentalInfos(렌탈정보)` 필드값을 활용하실 수 있습니다.\
응답 값으로 획득한 `주문서 번호 orderSheetNo`를 아래 문단에서 소개드릴 주문서 화면으로 전달합니다.

***

#### 2)  주문서 화면  <a href="#id-2-ec-a3-bc-eb-ac-b8-ec-84-9c-ed-99-94-eb-a9-b4" id="id-2-ec-a3-bc-eb-ac-b8-ec-84-9c-ed-99-94-eb-a9-b4"></a>

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091407.798410000/image.png" alt=""><figcaption></figcaption></figure>

#### ① 주문서 조회 <a href="#e2-91-a0-ec-a3-bc-eb-ac-b8-ec-84-9c-ec-a1-b0-ed-9a-8c" id="e2-91-a0-ec-a3-bc-eb-ac-b8-ec-84-9c-ec-a1-b0-ed-9a-8c"></a>

■ [주문서 조회하기 API](https://docs.shopby.co.kr/?url.primaryName=order/#/OrderSheet/get-order-sheet) 확인하기

```
GET /order-sheets/{orderSheetNo}
주문서번호로 주문 상품정보를 조회하는 API입니다.
```

\- 앞서 POST /order-sheets 주문서 생성 요청 API를 통해 획득한 orderSheetNo(주문서 번호)에 해당하는 주문 상품 상세 정보를 호출합니다.\
&#x20; ✔ 주문서 화면 내 , 이니렌탈(렌탈결제) 관련 항목은 응답 값 내 `rentalInfos(렌탈정보)`를 통해 구현할 수 있습니다.

\- 렌탈상품 주문 시, '이니렌탈' 이외의 결제수단은 사용이 불가합니다.(이니렌탈 외 다른 결제수단은 미노출)\
\- 렌탈결제 사용안함(미설정) 상태인 경우, 결제수단 선택이 비활성화됩니다.\
\- 렌탈 상품 구매 시, 쿠폰 및 적립금은 사용이 불가능합니다. (단, 구매금액에 대한 적립금은 일반상품과 동일하게 적립됩니다)\
&#x20;&#x20;

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091455.895451000/image.png" alt=""><figcaption></figcaption></figure>

#### ② 결제하기 (버튼) <a href="#e2-91-a1-ea-b2-b0-ec-a0-9c-ed-95-98-ea-b8-b0-eb-b2-84-ed-8a-bc" id="e2-91-a1-ea-b2-b0-ec-a0-9c-ed-95-98-ea-b8-b0-eb-b2-84-ed-8a-bc"></a>

■  [주문하기 API](https://docs.shopby.co.kr/?url.primaryName=order/#/Purchase/post-payments-reserve) 확인하기

```
POST /payments/reserve
결제를 진행하는 API입니다.
```

\- 결제하기 버튼 클릭 시, 입력정보 전체 유효성 검사가 진행 됩니다.\
&#x20;  ✔ 만약 렌탈결제 사용안함(미설정)상태인 경우, 결제수단이 비활성화되어 렌탈상품 주문이 불가하므로 "결제 수단을 선택해주세요"와 같은 알럿 메시지가 출력되어야합니다.

\- 유효성 검사 완료 시, 이니렌탈에서 제공하는 렌탈페이 모듈이 호출 됩니다. (아래 이미지 참고)\
&#x20;  ✔ 해당 API의 Request body 내 `rentalInfo(렌탈 상품 정보)` 필드값을 통해 월렌탈료 및 렌탈기간을 전달하게 됩니다.\
&#x20; &#x20;

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091503.539626000/image.png" alt=""><figcaption></figcaption></figure>

\ <br>

#### 3)  주문완료 화면  <a href="#id-3-ec-a3-bc-eb-ac-b8-ec-99-84-eb-a3-8c-ed-99-94-eb-a9-b4" id="id-3-ec-a3-bc-eb-ac-b8-ec-99-84-eb-a3-8c-ed-99-94-eb-a9-b4"></a>

<br>

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091513.618012000/image.png" alt=""><figcaption></figcaption></figure>

■  [주문상세 조회하기](https://docs.shopby.co.kr/?url.primaryName=order/#/MyOrder/get-profile-orders-order-no) API확인하기

```
GET /profile/orders/{orderNo}
주문번호로 주문 상세 데이터를 조회하는 API입니다.
```

\- ✔응답값 내 `payInfo > rentalInfo(렌탈정보)` 필드 값을 통해, 위 샘플 화면과 같은 주문완료 화면을 구현할 수 있습니다.

<br>

#### 4)  마이페이지 화면  <a href="#id-4-eb-a7-88-ec-9d-b4-ed-8e-98-ec-9d-b4-ec-a7-80-ed-99-94-eb-a9-b4" id="id-4-eb-a7-88-ec-9d-b4-ed-8e-98-ec-9d-b4-ec-a7-80-ed-99-94-eb-a9-b4"></a>

\
■  [주문상세 조회하기](https://docs.shopby.co.kr/?url.primaryName=order/#/MyOrder/get-profile-orders-order-no) API 확인하기

```
GET /profile/orders/{orderNo}
주문번호로 주문 상세 데이터를 조회하는 API입니다.
```

\- ✔ 주문완료 화면과 동일한 API 필드값 사용하여 화면을 구성할 수 있습니다.

\
\- ✔마이페이지> 주문/취소/반품 내역 화면에서, 결제된 상품이 렌탈상품인 경우 상품명 앞에 `(렌탈상품)`이 출력되어야합니다.&#x20;

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091522.987510000/image.png" alt=""><figcaption></figcaption></figure>

\
\- 마이페이지> 주문/취소/반품 화면에서 주문번호 클릭 시 출력되는 화면에서\
&#x20; 렌탈상품인 경우, 위와 같은 렌탈주문 관련 클레임 안내문구가 출력됩니다. (이니렌탈 고객센터로 이관하여 문의할 수 있는 안내문구 <https://www.inicis.com/personal_contact>)

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091529.324637000/image.png" alt=""><figcaption></figcaption></figure>

\- 렌탈 상품 주문건은, 교환신청이 불가합니다. \
&#x20; ✔ \[교환신청]버튼 클릭 시 "렌탈주문은 교환이 불가합니다. 이니렌탈 고객센터를 통해 문의해주시기 바랍니다. (1800-1739)" 와 같은 알럿메시지 출력이 필요합니다.&#x20;

\
\- 렌탈 상품 주문건은, 배송완료 8일이 경과하였을 경우 반품신청이 불가합니다.\
&#x20; ✔ 이 경우, \[반품신청] 버튼 클릭 시, "배송완료 8일이 경과한 렌탈주문은 이니렌탈 고객 센터를 통해 문의해주시기 바랍니다. (1800-1739)" 와 같은 알럿메시지 출력이 필요합니다.&#x20;

\
\
\- 렌탈상품 주문건은, 결제수단에 '렌탈결제'가 노출됩니다.

<figure><img src="https://rlyfaazj0.toastcdn.net/20221117/091537.920837000/image.png" alt=""><figcaption></figcaption></figure>
