diff --git a/src/routes/(root)/opi/ko/extra/promotion/refund.mdx b/src/routes/(root)/opi/ko/extra/promotion/refund.mdx
index bc52da439..6e530c044 100644
--- a/src/routes/(root)/opi/ko/extra/promotion/refund.mdx
+++ b/src/routes/(root)/opi/ko/extra/promotion/refund.mdx
@@ -1,7 +1,7 @@
---
title: 프로모션 결제 취소하기
description: 프로모션을 적용하여 승인된 결제건들에 대하여 취소/환불하는 방법을 안내합니다.
-targetVersions: ["v1"]
+targetVersions: ["v1","v2"]
---
import Details from "~/components/gitbook/Details";
@@ -11,22 +11,22 @@ import Hint from "~/components/Hint";
## 프로모션 결제 취소하기
프로모션이 적용된 결제에 대해 결제 취소가 가능합니다.
-결제 취소 시 차감되었던 프로모션 예산은 다시 정책에 알맞게 조정되어 취소 후 잔여 금액에 적용되어야하는 프로모션 금액만큼을
-제한 만큼 복구됩니다.
+결제 취소 시 취소 정책에 따라 적용된 프로모션 금액 중 회수된 금액만큼 프로모션 예산 금액으로 복구됩니다.
- 콘솔에서 설정한 **프로모션 예산 미복구** 옵션에 따라 복구 여부가 작동합니다.
+ 콘솔에서 프로모션 생성시 설정한 **프로모션 예산 미복구** 옵션에 따라 예산 복구 여부가 결정됩니다.
- 예산 복구를 원하지 않으실 경우 프로모션 예산 미복구 옵션을 활성화 시켜주세요.
+ 예산 복구를 원하지 않는 경우 프로모션 예산 미복구 옵션을 **활성화** 상태로 설정해 주세요.
- 결제 취소 이후 잔여 요청 금액이 프로모션 정책에 위반되고 이로 인해 취소 이후 잔여 승인 금액이 현재 잔여 승인 금액보다 커지는 경우가 존재합니다.
+ 결제 취소시 경우에 따라 결제 건이 프로모션 정책에 해당되지 않을 수 있습니다.
+ 이로 인해 취소 이후 잔여 승인 금액 (잔여 실 결제 금액)이 현재 잔여 승인 금액보다 커질 수 있으며, 이런 경우 취소가 불가능합니다.
- 해당 경우 취소가 불가능합니다.
-
- - ex) `10,000원 이상 결제 시 10% 할인` 프로모션으로 10,000원 결제 이후 500원 취소 요청.
- 취소 시 프로모션 정책에 위반되어 잔여 승인 금액이 9,500원이어야하지만 최초 실 승인 금액이 9,000원이므로 취소 불가.
+ - ex) `10,000원 이상 결제 시 10% 할인` 프로모션을 적용한 후 10,000원을 결제 요청한 경우
+ 실제 9,000원이 결제됩니다. 이후 500원을 취소 요청하게 되면 프로모션 정책에 해당하지 않게 되고,
+ 실제 결제되어야 하는 금액이 9,500원이 되어야 합니다.
+ 하지만 기존에 실제 승인된 금액이 9,000원이므로 이런 경우 결제 취소가 불가합니다.
@@ -79,7 +79,8 @@ import Hint from "~/components/Hint";
취소 요청 금액은 프로모션 적용 금액을 고려하지 않고 전달합니다.
- ex) 10,000원 결제에 10% 할인 프로모션이 적용된 결제(실 승인 금액은 9,000원)에 대해 전체 취소 시 `amount`는 `10000`으로 전달.
+ ex) `10,000원 결제에 10% 할인` 프로모션이 적용되어 10,000을 결제 요청한 경우 실 승인 금액은 9,000원이고,
+ 이에 대해 전체 취소를 요청하는 경우 `amount`는 `10000`으로 전달해야 합니다.
**`checksum`** **integer**
@@ -90,7 +91,7 @@ import Hint from "~/components/Hint";
- 고객사의 계산 상 남아있는 잔여 금액과 포트원 내부 데이터 상 잔여 금액을 비교하며 불일치할 시 취소를 진행하지 않습니다.
- 취소 가능한 잔액 역시 프로모션 적용 금액을 고려하지 않고 전달합니다.
+ 취소 요청 금액은 프로모션이 적용되지 않은 주문금액을 기준으로 전달합니다.
ex) 20,000원 결제에 10% 할인 프로모션이 적용된 결제(실 승인 금액은 18,000원)에 대해 `amount`를 `10000`로 하여 1차 부분취소 완료.(실 취소 승인 금액은 9,000원)
@@ -125,3 +126,73 @@ import Hint from "~/components/Hint";
+
+
+ ### 예제 코드
+
+ ```ts
+ // paymentId, amount, promotionDiscountRetainOption 등 정보를 전달받습니다.
+ // 포트원 결제 취소 API 호출
+ const onetimeResponse = await fetch(
+ `https://api.portone.io/payments/${paymentId}/cancel`,
+ {
+ method: "POST",
+ headers: {
+ Authorization: `PortOne ${PORTONE_API_SECRET}`,
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({
+ amount: number, // 취소 요청 금액
+ reason: "단순 변심", // 취소 사유
+ promotionDiscountRetainOption: boolean, // 프로모션 혜택 유지 여부
+ // 중략...
+ }),
+ },
+ );
+ ```
+
+ ### 주요 파라미터
+
+ **`amount`** **integer**
+
+ **결제 취소 요청 금액**
+
+ - (부분)취소 요청 금액을 전달합니다.
+ - 미입력시 잔여 취소 가능 금액만큼 전체 취소됩니다.
+
+
+ 취소 요청 금액은 프로모션이 적용되지 않은 주문금액을 기준으로 전달합니다.
+
+ ex) `10,000원 결제에 10% 할인` 프로모션이 적용되어 10,000을 결제 요청한 경우 실 승인 금액은 9,000원이고,
+ 이에 대해 전체 취소를 요청하는 경우 `amount`는 `10000`으로 전달해야 합니다.
+
+
+ **`reason`** **string**
+
+ **취소 사유**
+
+ **`promotionDiscountRetainOption`** **boolean**
+
+ **프로모션 혜택 유지 여부**
+
+ - 프로모션 결제 취소 이후 잔여 금액이 프로모션 정책에 위반되더라도 정책을 계속해서 유지할지 여부를 전달합니다. (default: `false`)
+
+
+ 프로모션 할인이 적용된 거래 건을 여러번 부분 취소하는 경우 처음 선택한 취소 옵션으로만 가능합니다.
+ 예를 들어 \[프로모션 혜택 유지]로 처음 부분 취소한 경우 동일 거래 건에 대해 부분 취소를 진행하는 경우 \[프로모션 혜택 유지] 옵션으로만 취소가 가능합니다.
+
+
+
+ 프로모션 혜택 유지 여부 예시
+
+
+ - 프로모션 혜택 유지 (`true`): 결제 부분 취소시 잔여 결제 금액이 할인 적용 기준 금액보다 적더라도 프로모션 할인 혜택이 그대로 유지됩니다. 할인 혜택을 동일한 수준으로 유지하기 위해 기존에 적용된 할인 조건을 할인율로 환산하여 적용하게 됩니다.
+ - ex1) 프로모션 할인 조건이 `5천원 이상 결제시 10% 할인`일 때, 6000원 결제 요청시 프로모션 할인이 적용되어 5400원이 실제 결제됩니다. 이 때, 2000원 부분 취소시 **프로모션 혜택 조정** 옵션을 선택한 경우 프로모션 조건에 부합하지 않아 실제 1400원이 결제 취소 요청되며, 결제 완료 금액은 4000원이 됩니다.
+ - ex2) 프로모션 할인 조건이 `5천원 이상 결제시 1000원 할인`일 때, 6000원 결제 요청시 프로모션 할인이 적용되어 5000원이 실제 결제됩니다. 이 때, 2000원 부분 취소시 **프로모션 혜택 조정** 옵션을 선택한 경우 프로모션 조건에 부합하지 않아 실제 1000원이 결제 취소 요청되며, 결제 완료 금액은 4000원이 됩니다.
+
+ - 프로모션 혜택 조정 (`false`) : 결제 부분 취소시 잔여 결제 금액이 할인 적용 기준 금액보다 적은 경우 잔여 결제 금액에 맞추어 프로모션 할인 금액이 차감되어 적용됩니다.
+ - ex1) 프로모션 할인 조건이 `5천원 이상 결제시 10% 할인`일 때, 6000원 결제 요청시 프로모션 할인이 적용되어 5400원이 실제 결제됩니다. 이 때, 2000원 부분 취소시 **프로모션 혜택 유지** 옵션을 선택한 경우 실제 1800원이 결제 취소 요청되며, 결제 완료 금액은 3600원이 됩니다. (주문금액 6000원에서 2000원 부분 취소시 주문금액은 4000원이며 기존 할인 조건인 10% 할인이 유지되어 실 결제 금액은 3600원이 됩니다.)
+ - ex2) 프로모션 할인 조건이 `5천원 이상 결제시 1000원 할인`일 때 6000원 결제 요청시 프로모션 할인이 적용되어 5000원이 실제 결제됩니다. 이 때, 2000원 부분 취소시 **프로모션 혜택 유지** 옵션을 선택한 경우 실제 1800원이 결제 취소 요청되며, 결제 완료 금액은 3200원이 됩니다. (본 예시에서 기존에 적용된 할인 조건인 5천원 이상 결제시 1000원 할인은 20% 할인으로 환산됩니다. 주문금액 6000원에서 2000원 부분 취소시 남은 주문금액은 4000원이므로, 취소 이후 결제 완료 금액은 3200원이 되고 실제 취소 금액은 1800원이 됩니다.)
+
+
+