1. Configure KG INICIS settings

Refer to the KG INICIS settings page to configure the PG settings.

2. Request payment

To open the payment window, call JavaScript SDK IMP.request_pay(param, callback).

In PC browsers, callback is invoked after calling IMP.request_pay(param, callback). In mobile browsers, the page is redirected to m_redirect_url .

Javascript SDK
IMP.request_pay( { pg: "html5_inicis", 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", buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", 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 escrow: true, // Settings when escrow payment vbank_due: "YYYYMMDD", bypass: { // When PC acceptmethod: "noeasypay", // Remove the Easypay checkout button from the integrated checkout window(PC) // acceptmethod: "cardpoint", // Settings when using card company points(PC) // When Mobile P_RESERVED: "noeasypay=Y", // Remove the Easypay checkout button from the integrated checkout window(Mobile) // P_RESERVED: "cp_yn=Y", // Settings when using card company points(Mobile) // P_RESERVED: "twotrs_bank=Y&iosapp=Y&app_scheme=your_app_scheme://", / /Go back to the app where the payment was made with account transfer on iOS }, period: { from: "20200101", //YYYYMMDD to: "20201231", //YYYYMMDD }, }, function (rsp) { // callback logic //* ...Omitted... *// }, );

Key parameter description

pg * string

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 html5_inicis.

pay_method * string

Payment method code

merchant_uid * string

Order ID

Must be unique for each request.

amount * integer

Payment amount

Must be an integer (not string)

buyer_tel * string

Customer phone number

Required

You can request for a billing key through the KG INICIS payment window.

  • To open non-authenticated payment window, specify the customer_uid parameter.
  • After getting a billing key from the window, you can request payment using the billing key.
  • amount parameter is for display purpose only. Actual payment approval is not processed.
Javascript SDK
IMP.request_pay( { pg: "html5_inicis", pay_method: "card", // only 'card' supported. merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 name: "Initial billing key request", amount: 0, // For display purpose only (no payment approval). customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) buyer_email: "johndoe@gmail.com", buyer_name: "John Doe", buyer_tel: "02-1234-1234", m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) }, function (rsp) { if (rsp.success) { alert("Success"); } else { alert("Failed"); } }, );

Key parameter description

pg * string

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 html5_inicis.

If you have multiple merchant IDs (each for general and subscription) issued by KG INCIS, set to html5_inicis.{Merchant ID} or inicis.{Merchant ID}(for ActiveX).

customer_uid * string

Credit card billing key

Billing key to be mapped 1:1 with the user-entered credit card information.

amount * Integer

Payment amount

Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the REST API with the customer_uid.)

Request payment with billing key (customer_uid)

After successfully getting the billing key, 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 non-authenticated payment request REST API with the customer_uid as follows:

sever-side
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

You can use i'mport REST API to request billing key, 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. 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

To request a billing key, use the billing key request REST API POST /subscribe/customers/{customer_uid}.

curl -H "Content-Type: application/json" \
     -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \
     https://api.iamport.kr/subscribe/customers/your-customer-unique-id

Request billing key + initial payment

To request a billing key and initial payment, use the key-in REST API POST /subscribe/payments/onetime.

  • 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) 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

For detailed information, refer to:

3. Additional functions

javascript
{ "display": { "card_quota": [6] // Display up to 6 months installment plans } }

Parameters

  • card_quota :
    • []: Only immediate pay
    • 2,3,4,5,6: immediate, 2, 3, 4, 5, 6 month installment plans\

Installment plan option is available only for KRW 50,000 or more.

javascript
{ "card": { "direct": { "code": "367", "quota": 3 } } }

Parameters

  • code: Credit card code (string)
  • quota: Installment plan. For immediate, set to 0. (integer)
javascript
{ "card": { "detail": [ { "card_code": "*", "enabled": false }, // Disable all credit cards { "card_code": "366", "enabled": true } // Enable specific credit card ] } }

Parameters

  • card_code: Credit card code (string)
  • enabled: Option to enable the credit card (boolean)