# Confirm Process

{% hint style="warning" %}
**Deprecated**

이 문서는 더 이상 관리되지 않습니다.

[PortOne 개발자센터](https://developers.portone.io/)를 이용해주세요.
{% endhint %}

### 해당 서비스는 결제요청직전에 가맹점 측에 결제의사를 최종적으로 확인하는 서비스입니다.

![](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2Fgit-blob-d797369094034c74bf854e20cb6410715bb9b18c%2Fimage.png?alt=media)

![Confirm Process](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2FjSKBfFMAZLrTANuP37a8%2Fimage.png?alt=media\&token=c1e56b94-c75f-4f2b-8ddb-be82c0c30499)

{% hint style="info" %}
**해당 서비스가 반드시 필요한 가맹점은 아래와 같은 경우입니다.**

* 판매 제품이 재고적으로 소량인 경우
* 선착순방식으로 결제가 진행되는 경우
* 결제 요청전 마지막으로 가맹점에서 처리하고 싶은 업무처리가 있는 경우
  {% endhint %}

![Confirm Process](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2FWLadUo8M2uqfJoSzY8Fr%2Fimage.png?alt=media\&token=85b60e11-b91a-4e37-a950-e11856355774)

### **판매 제품이 재고적으로 소량인 경우**

가맹점 판매 제품이 명품 또는 매우 인기가 높은 품목인 경우 결제 시 동시 접속자로 인해 경쟁이 치열해지는 경우 결제 직전 가맹점서버에서 재고수량을 한번더 확인하고 수량이 있는 경우에만 결제가 요청되도록 처리 할 수 있습니다. 만약 Confirm Process를 설정하지 않는 경우 결제는 되었지만 재고가 없어서 제품 발송을 약속된 일자에 처리하지 못하거나 혹은 이로인해 취소처리가 발생하여 고객 결제 만족 경험도를 떨어트리는 상황이 발생됩니다.

![](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2Fec8NHdqOm6yI983l3BUd%2Fimage.png?alt=media\&token=e32b44ee-de9e-47c2-9594-e4eb7d5afddf)

### **선착순 방식으로 결제가 진행되는 경우**

마라톤 참가 신청, 인기 콘서트 티켓팅, OO Day 와 같은 특별 할인행사 처럼 특정 시간에 결제가 활성화되는 결제방식을채택하고 있는 가맹점인 경우 특정시간에 매우 많은 고객이 동시에 결제 요청이 유입되며 이에따라 결제 요청 직전에 가맹점 서버에서 재고수량 파악이 필요합니다.

![](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2FxGZ5gE73mexkoK3pSedX%2Fimage.png?alt=media\&token=300963f7-8e48-4be0-9702-a267f2abbf6c)

### **결제 직전 가맹점에서 업무로직을 한번 더 수행하고 싶은 경우**

이밖에 다른 사유로 가맹점 측에서 결제 직전 자체업무 처리가 필요한 경우(결제 직전 가맹점 서버 헬스체크 등) 해당 서비스를 이용합니다.

![](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2Fgit-blob-7727dcb35fbb49bc7fc730025e1725483f425935%2Fimage.png?alt=media)

{% hint style="info" %}
**Confirm Process 신청 방법**

기술지원 메일(<support@portone.io>)로 <mark style="color:red;">**가맹점식별코드**</mark>를 기재하여 메일 발송
{% endhint %}

![가맹점 식별코드 확인방법](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2FFZNkWF5pKWfVUsmD6Pev%2Fimage.png?alt=media\&token=8e30dfd7-5cc2-468b-8213-0dcc00007152)

### **Confirm Process 이용방법**

Confirm Process 이용시 가맹점은 Javascript request\_pay() 함수 호출시 **confirm\_url** 파라미터를 정의하고 해당 파라미터의 가맹점 EndPoint URL을 설정합니다.

{% code title="JavaScript SDK" %}

```jsx
... 
confirm_url : ‘가맹점 EndPoint URL기재’,
...
```

{% endcode %}

해당 URL이 설정되면 당사에서 결제 요청 직전 해당 URL 로 **HTTP 통신**이 진행되며 아래와 같은 Data가 POST로 요청됩니다. (Timeout : **10s**)

> `imp_uid`: 결제번호
>
> `merchant_uid`: 주문번호
>
> `amount`: 결제 금액

해당 요청에 대한 가맹점 응답으로 HTTP Status **200** 응답을 주시는 경우 결제를 요청합니다.

(<mark style="color:red;">**200응답이 아닌 경우 결제가 진행되지 않습니다**</mark>.(**`실패처리`**)

**200** 외 응답을 통해 승인을 막음과 동시에 해당 사유를 함께 기록하고싶으실 경우 요청 응답 body에 `reason` 파라미터를 json 형태로 전달해주시면 되며

```
{
  "reason" : "재고 부족"
}
```

전달주신 `reason` 값이 `가맹점 요청에 의해 결제를 중단합니다. (상세사유 : %s)`의 상세사유에 추가되어 결제 실패 사유(fail\_reason)으로 기록됩니다. (기본값 : `알 수 없음`)
