# 복수 PG설정 및 사용하기

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

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

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

### 이 문서는 포트원 관리자 콘솔에서 복수의 PG사를 설정하여 원하는 결제 수단으로 결제창을 호출하는 방법을 설명합니다.

### 1. 인증결제(일반결제) 설정하기

[**포트원 관리자 콘솔 > 시스템 설정 > PG 설정 탭 > 기본 PG사 탭**](https://admin.portone.io/settings#tab_pg)에서 `기본 PG사`를 **주로 사용할 PG사**로 설정합니다.

![인증결제(일반결제) 설정하기](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2FQrLWLwjQikbKYXSJBNvu%2Fimage.png?alt=media\&token=378dc566-dc8b-46f1-ab99-c7c0733b1bfd)

### 2. 정기 결제용(비 인증/**PG사 결제창 이용**) PG사 추가하기

PG사로부터 정기결제용(비 인증) 상점ID(MID)를 추가로 발급 받은 이후 해당 MID정보를 [**포트원 관리자 콘솔 > 시스템 설정 >PG설정(일반결제 및 정기결제)**](https://admin.portone.io/settings#tab_pg) 메뉴에 추가 합니다.

![새로운 PG사 추가 화면](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2FXxN2XwWL1jQMkVygMDGC%2Fimage.png?alt=media\&token=f46e269a-46ff-4d00-b1bc-c826f7daa144)

### 3. **간편결제(카카오페이) 추가하기**

동일한 방법으로 카카오페이를 추가 합니다.

![간편결제 카카오페이 등록 예시](https://2409678497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwWX2hlvRZLZrXeH1aacF%2Fuploads%2FDaS0gB9GEWa2D58uhR6u%2Fimage.png?alt=media\&token=89d0d255-419b-413c-90a8-d575512c3e4e)

## 특정 PG사의 결제창 열기 <a href="#pg" id="pg"></a>

결제창을 호출하기 위한 [**JavaScript SDK**](https://portone.gitbook.io/docs/sdk/javascript-sdk-old) `IMP.request_pay`를 호출할 때 `param.pg` 속성에 미리 등록한 PG사를 지정하여 해당 PG사의 결제 창을 호출 할 수 있습니다. `pg` 속성에는 다음과 같은 형태로 [PG 값](https://docs.iamport.kr/sdk/javascript-sdk?lang=ko#request_pay-pg)을 지정할 수 있습니다.

* **`{ PG사 코드값 }`**
* **`{ PG사 코드값 }.{ PG사 상점아이디 }`**

만약 포트원 관리자 콘솔 PG사 등록 현황이 아래와 같이 **3개의 PG설정**을 등록했다고 가정해 봅시다.

|      PG사     |    상점아이디    |     용도     | 기본 PG사 |
| :----------: | :---------: | :--------: | :----: |
| **`KG이니시스`** | `MID-a`(예시) | **일반 결제용** |    O   |
| **`KG이니시스`** | `MID-b`(예시) | **정기 결제용** |    X   |
|    `카카오페이`   | `MID-c`(예시) |   간편 결제용   |    X   |

위에서 등록한 PG 설정 중 `pg사 코드값`\*\*`{ PG사 코드값 }`\*\*으로만 구분할 수 있는 PG사는 `카카오페이`입니다. 다음과 같이 `pg` 속성에 \*\*`kakaopay`\*\*를 지정하면 등록한 카카오페이 설정으로 결제창이 호출됩니다

{% code title="client-side" %}

```javascript
 IMP.request_pay({
    pg : "kakaopay",  //카카오페이 결제창 호출
    amount : 1000,
    name : "테스트 주문",
    buyer_name : "구매자",
    buyer_email : "buyer@iamport.kr"
  });
```

{% endcode %}

위에서 등록한 PG 설정 중 \*\*`KG이니시스(일반결제용)`\*\*와 \*\*`KG이니시스(정기결제용)`\*\*는 \*\*<mark style="color:red;">**PG사 코드값이 동일**</mark>**하기 때문에 `pg` 속성을 코드값과 상점아이디를 조합한 값**`{ PG사 코드값 }.{ PG사 상점아이디 }`\*\*으로 설정해서 구분해야 합니다.

{% tabs %}
{% tab title="KG이니시스 일반결제창 호출" %}
{% code title="JavaScript" %}

```javascript
IMP.request_pay({
    pg : "html5_inicis.MID-a",  // KG이니시스 일반결제창 호출(상점아이디 MID-a 적용)
    amount : 1000,
    name : "테스트 주문",
    buyer_name : "구매자",
    buyer_email : "buyer@iamport.kr"
  });
```

{% endcode %}
{% endtab %}

{% tab title="KG이니시스 정기결제창 호출" %}
{% code title="JavaScript" %}

```javascript
IMP.request_pay({
    pg : "html5_inicis.MID-b",  // KG이니시스 정기결제창 호출(상점아이디 MID-b 적용)
    amount : 1000,
    name : "테스트 주문",
    buyer_name : "구매자",
    buyer_email : "buyer@iamport.kr"
  });
```

{% endcode %}
{% endtab %}
{% endtabs %}

{% hint style="info" %}
**pg 속성 매칭 우선순위**

관리자 콘솔에 저장한 PG 설정 순서대로 pg 속성의 조건과 일치하는 설정을 찾습니다. 이때 가장 먼저 매칭되는 PG 설정에 해당하는 결제창을 호출합니다.
{% endhint %}
