# Settlebank

### 1. Configure **Settlebank** PG settings

Refer to the [**Settlebank settings**](https://portone.gitbook.io/docs-en/ready/2.-pg/payment-gateway-settings/undefined-3) page to configure the PG settings.

![](https://2814812280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTv8JEzyM5h4cYcL5StH%2Fuploads%2Fz8DOeNOQemZafksVtXPc%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202022-06-01%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%204.32.44.png?alt=media\&token=76ed9c14-ee8f-4993-b172-32ed9e5b39c7)

### 2. Request payment

To open the payment window, call [JavaScript SDK](https://portone.gitbook.io/docs-en/sdk/javascript-sdk) IMP.**request\_pay**(param, callback).

In PC browsers, <mark style="color:red;">**callback**</mark> is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to <mark style="color:red;">**m\_redirect\_url**</mark>.

{% tabs %}
{% tab title="Authenticated payment request" %}
{% code title="Javascript SDK" %}

```javascript
IMP.request_pay({
    pg : 'settle',
    pay_method : 'card',
    merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001
    name : 'Order name: Test payment request',
    amount : 14000,
    buyer_email : 'iamport@siot.do',
    buyer_name : 'John Doe',
    buyer_tel : '010-1234-5678', // Required
    buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul',
    company : 'iamport', // Recommended for virtual account payment
    buyer_postcode : '123-456',
    m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile
}, function(rsp) { // callback logic
	//* ...Omitted... *//
});
```

{% endcode %}

#### Key parameter description

**`pg`** <mark style="color:red;">**\***</mark>\*\* \*\*<mark style="color:green;">**string**</mark>

**PG code**

* If not specified and this is the only PG setting that exists, `default PG` is automatically set.
* If there are multiple PG settings, set to **`settle`**.

**`pay_method`** <mark style="color:red;">**\***</mark>\*\* \*\*<mark style="color:green;">**string**</mark>

**Payment method code**

<details>

<summary>Payment method codes</summary>

* `card` (credit card)
* `trans`(instant account transfer)
* `vbank`(virtual account)
* `phone`(mobile micropayment)

</details>

**`merchant_uid`** <mark style="color:red;">**\***</mark>\*\* \*\*<mark style="color:green;">**string**</mark>

**Order ID**

Must be unique for each request.

**`amount`** <mark style="color:red;">**\***</mark>\*\* \*\*<mark style="color:purple;">**integer**</mark>

**Payment amount**

Must be an integer (not string)

**`buyer_tel`**<mark style="color:red;">**`*`**</mark><mark style="color:green;">**`string`**</mark>

**Customer phone number**

<mark style="color:red;">Required</mark>

**` company`` `` `**<mark style="color:green;">**`string`**</mark>

**`Company name`**

<mark style="color:red;">Required for virtual account payment</mark>

{% embed url="<https://codepen.io/chaiport/pen/GRQdjpa>" %}
Settlebank credit card payment example
{% endembed %}
{% endtab %}

{% tab title="Non-authenticated payment request" %}
**Not supported**
{% endtab %}

{% tab title="Non-authenticated API  request" %}
**You can use i'mport REST API to request payment and schedule payment.**

#### Request one-time payment

To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](https://portone.gitbook.io/docs-en/api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process.

```
curl -H "Content-Type: application/json" \   
     -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \
     https://api.iamport.kr/subscribe/payments/onetime
```

#### Request billing key + initial payment

To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](https://portone.gitbook.io/docs-en/api/api/request-non-authenticated-payment-one-time-api).

* **`customer_uid`** : required for saving the billing key.

```
curl -H "Content-Type: application/json" \   
     -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \
     https://api.iamport.kr/subscribe/payments/onetime 
```

#### Request payment with billing key

After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](https://portone.gitbook.io/docs-en/api/api/api)) with the `customer_uid` as follows:

```
curl -H "Content-Type: application/json" \   
     -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \
     https://api.iamport.kr/subscribe/payments/again
```

{% hint style="info" %}
**Settlebank does not support** [**Request billing key API**](https://portone.gitbook.io/docs-en/api/billing-key-api/api-1)**.**
{% endhint %}

**For detailed information, refer to:**

{% content-ref url="../../auth/guide-1" %}
[guide-1](https://portone.gitbook.io/docs-en/auth/guide-1)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}
