LogoLogo
  • 🧩i'mport Payment Integration Docs
    • 🚗GET STARTED
  • 🛫Setup
    • 🖥️1. Create an account
    • 🧷2. Set up PG
      • 🏢Payment gateway settings
        • ⌨️NHN KCP
        • ⌨️KG INICIS
        • ⌨️NICE Payments
        • ⌨️Toss Payments
        • ⌨️KICC
        • ⌨️Paymentwall
        • ⌨️Daou
        • ⌨️다날 설정
        • ⌨️JTNET 설정
        • ⌨️세틀뱅크 설정
        • ⌨️KG모빌리언스 설정
        • ⌨️스마트로 설정
        • ⌨️페이팔 설정
        • ⌨️엑심베이 설정
        • ⌨️블루월넛 설정
      • ⛺간편 결제사
        • ⌨️카카오페이 설정
        • ⌨️토스간편결제 설정
        • ⌨️네이버페이(결제형) 설정
        • ⌨️페이코 설정
        • ⌨️차이 설정
        • ⌨️알리페이 설정
    • ✔️3. Check required info
  • Payment window
    • 🖥️Authenticated payment
      • 📒Definition
      • 🌠1. Add i'mport library
      • 💡2. Initialize IMP object
      • 🪧3. Request payment
      • 🎁4. Process payment result
        • 🪟Iframe method
        • 🖼️Redirect method
      • 🔦5. Verify payment information
      • 🛬6. Complete payment
    • ⏰Non-authenticated payment
      • 🏍️Request billing key payment
        • 🖱️REST API
        • 🛡️PG window
      • 💳Key-in payment using card info
      • 🪧Subscription payment using billing key
    • 💸Payment cancellation (refund)
      • 💷Virtual account refund
  • Payment result
    • ⚒️Set up a webhook
  • Other Services
    • 📱Mobile identity verification
      • 📔1. Prepare for verification
      • 🥏2. Request verification
      • 🚚3. Send verification result
      • 🤹4. Get verification info
    • 🚚Integrated identity verification
      • 📒Prepare for verification
      • 🥏Request verification
      • 🚚Send verification result
      • 🤹Get verification info
    • 💳Credit card identity verification
      • 📒1. Prepare for verification
      • 🥏2. Request verification
      • 🚚3. Send verification result
      • 🤹4. Get verification info
    • 💻Generate payment URL
    • 🛩️Integrate budget handler
    • 📟Native mobile SDKs
  • TIPS
    • 🌽Tax exemption on payments
    • ✅Service launch checklist
    • 🔏Confirm Process
    • 🎼i'mport payment flow
    • 🎈Agency & Tier
    • 📦Billing key issuance by PG
    • 🏦Bank codes by PG
    • 🧾PG codes
    • 🚚Courier codes
    • 🪧What is redirection?
    • 📰PG error codes
  • Admin console
    • 🎡Admin console guide
      • Apply for online payment
      • My ID & API keys
      • Manage admin & sub-merchant accounts
      • Integrate payment
      • Payment activity
    • 💻Integrating Multiple PGs
  • API
    • 📋i'mport API overview
    • 🖇️REST API Access Token
    • 💳Payment API
      • ⌨️Cancel payment API
      • ⌨️Get payment API
      • ⌨️Get payments API
      • ⌨️Get payments by status API
      • ⌨️Get payments by order ID, status (All)
      • ⌨️Get payments by order ID, status (Top 1)
      • ⌨️Get balance API (for split payment transaction)
      • ⌨️Get payments by billing key API
      • ⌨️Save payment amount API
      • ⌨️Update payment amount API
      • ⌨️Get payment amount API
    • 📝Billing key API
      • ⌨️Request billing key API
      • ⌨️Delete billing key API
      • ⌨️Get billing key API
      • ⌨️Get billing keys API
      • ⌨️Get scheduled payments API
    • 🧭Subscription payment API
      • ⌨️Schedule payment API
      • ⌨️Cancel scheduled payment API
      • ⌨️Get scheduled payments API
      • ⌨️Get scheduled payment API
      • ⌨️Get scheduled payments by billing key API
    • 🪂Non-authenticated payment API
      • ⌨️Request non-authenticated payment (billing key) API
      • ⌨️Request non-authenticated payment (one-time) API
    • 🇺🇲🇺🇲 Overseas PG API
      • ⌨️Paymentwall delivery API
    • 👮‍♂️👮♂ Identity verification API
      • ⌨️Get identity verification result API
      • ⌨️Delete identity verification API
      • ⌨️Request identity verification API
      • ⌨️Confirm identity verification API
    • 🎫Simple payment service API
      • 🧽Kakao Pay
        • ⌨️Get order API
      • 🛩️KCP Quick Pay
        • ⌨️Delete user API
      • 🧰PAYCO
        • ⌨️Update order status API
      • 📗Naver Pay
        • ⌨️Confirm escrow order API
        • ⌨️Accrue points API
        • ⌨️Get cash receipt amount API
    • 🏦Escrow API
      • ⌨️Get delivery info API
      • ⌨️Add delivery info API
      • ⌨️Update delivery info API
    • 💵Cash receipt API
      • ⌨️Cancel cash receipt transaction API
      • ⌨️Get cash receipt API
      • ⌨️Request cash receipt API
      • ⌨️Cancel cash receipt (external) API
      • ⌨️Get cash receipt (external) API
      • ⌨️Request cash receipt (external) API
    • 🏛️Virtual account API
      • ⌨️Request virtual account API
      • ⌨️Cancel virtual account API
      • ⌨️Update virtual account API
      • ⌨️Get account holder API
    • 🍶Miscellaneous API
      • 🎽Benepia point
        • ⌨️Get points API
        • ⌨️Request point payment API
      • 🏪Convenience store payment
        • ⌨️Request barcode API
        • ⌨️Cancel barcode API
      • 🗃️Financial institution codes
        • ⌨️Get credit card codes (All) API
        • ⌨️Get credit card name API
        • ⌨️Get bank codes (All) API
        • ⌨️Get bank name API
      • 🛖PG information
        • ⌨️Get PG MIDs API
  • SDK
    • 📚Javascript SDK
      • 💿Payment request parameters
      • 📀Payment response parameters
      • 💿Identity verification request parameters
      • 📀Identity verification response parameters
      • ✏️SDK Release Notes
  • FAQ
    • ⁉️FAQ
  • 🔑Payment integration by PG
    • 🏢Payment gateways
      • ⌨️NHH KCP
      • ⌨️KG INICIS
      • ⌨️Toss Payments
      • ⌨️NICE Payments
      • ⌨️KICC
      • ⌨️Daou (PAYJOA)
        • 📍Precautions for using PAYJOA
      • ⌨️KG Mobilians
      • ⌨️Paymentwall
      • ⌨️Danal
      • ⌨️Settlebank
      • ⌨️JTNET
      • ⌨️Smartro
      • ⌨️PayPal
      • ⌨️Eximbay
      • ⌨️Blue Walnut
    • ⛺Simple payments
      • ⌨️Naver Pay (Standard)
      • ⌨️Kakao Pay
      • ⌨️PAYCO
      • ⌨️Alipay
      • ⌨️Toss
  • Korean Integration Docs
Powered by GitBook
On this page
  • 1. Configure NHH KCP PG settings
  • 2. Request payment
  • 3. Additional functions
  • 4. Additional parameters
  1. Payment integration by PG
  2. Payment gateways

NHH KCP

NHN KCP payment window integration guide

PreviousPayment gatewaysNextKG INICIS

Last updated 2 years ago

1. Configure NHH KCP PG settings

Refer to the page to configure the PG settings.

2. Request payment

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 : 'kcp',
    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',
    language : 'ko', // default: ko (Korean)    
    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... *//
});

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

pay_method *** **string

Payment method code

Payment method codes
  • card (credit card)

  • trans(instant account transfer)

  • vbank(virtual account)

  • phone(mobile micropayment)

  • samsung(Samsung Pay)

  • kakaopay(Kakao Pay)

  • payco ( PAYCO hub-type)

  • lpay (LPAY hub-type)

  • naverpay (Naver Pay)

  • cultureland(Cultureland)

  • smartculture(Smart Culture)

  • happymoney(Happy Money)

  • booknlife(Book culture gift certificate)

  • point(Benepia)

merchant_uid *** **string

Order ID

Must be unique for each request.

amount *** **integer

Payment amount

Must be an integer (not string).

For Payco hub-type, you must apply through KCP Admin page and configure the settings.

To open non-authenticated payment window, specify the customer_uid parameter. After getting a billing key from this window, you can request payment using the billing key.

Javascript SDK
IMP.request_pay({
    pg : 'kcp_billing',
    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');
	}
});
  • To request non-authenticated payment, you must set the site code issued by KCP in the Admin console.

  • KCP does not process the payment when issuing the billing key even if you specify an amount.

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

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)

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

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

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

  • 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

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

  • quota: Installment plan. For immediate, set to 0. (integer)

Precautions

  • Currently, direct call to the credit card company's payment window is only supported by 6 PGs: KG Inicis, KCP, Toss Payments, Nice Payments, KICC, and Danal.

  • Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. You must check your Merchant ID with each PG for direct call support.

javascript
card : {
    detail : [
        {card_code:"*", enabled:false},     // Disable all credit cards
        {card_code:'366', enabled:true}     // Enable specific credit card
    ]
}

Parameters

  • enabled: Option to enable the credit card (boolean)

Set the following parameter to only expose app cards for authenticated payments.

request_pay()
...
appCard : true .  // Set to true to only expose app cards.
...

4. Additional parameters

To use the gift certificate payment method, set the merchant assigned user ID as follows:

javascript SDK
bypass : {
    shop_user_id : ‘ABCD123’   // Merchant user ID (20 bytes)
}

This parameter is required for gift certificate providers' RM action.

Example of paying with Cultureland gift certificate

MP.request_pay({
    pg : 'kcp.{Site code for gift certificate use}',
    pay_method : 'cultureland',    //Gift certificate
    merchant_uid: "A00021-TEST",
    name : 'Carrots 10kg',
    amount : 1004,
    buyer_email : 'iamport@chai.finance',
    buyer_name : 'iamport tech support',
    buyer_tel : '010-1234-5678',
    buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul',
    buyer_postcode : '123-456',
    bypass : {
        shop_user_id : 'abaddd'  // Merchant user ID
    }
}

For escrow payment, set the escrow parameter to true. To bundle products in the shopping cart when making an escrow payment request, pass the item-related information as an additional parameter (kcpProducts).

kcpProducts is an object array consisting of the following four required properties:

amount is not related or compared with the payment amount (param.amount).

  • orderNumber : Order ID

  • name : Product name

  • quantity : Product quantity

  • amount : Product price

JavaScript SDK
IMP.request_pay({
    pg : 'kcp',
    escrow : true, // For escrow payment
    kcpProducts : [
    	{
	    "orderNumber" : "xxxx",
	    "name" : "Product A",
	    "quantity" : 3,
	    "amount" : 1000
	},{
	    "orderNumber" : "yyyy",
	    "name" : "Product B",
	    "quantity" : 2,
	    "amount" : 3000
	}
    ],
    //* ...Omitted... *//
})

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

How to apply:

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 with the customer_uid as follows:

To request a one-time payment, use the key-in REST. The card information is not saved during this process.

To request a billing key, use the billing key request REST .

To request a billing key and initial payment, use the key-in REST .

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 () with the customer_uid as follows:

code: (string)

card_code: (string)

🔑
🏢
⌨️
JavaScript SDK
https://sir.kr/main/service/p_payco_hub.php
non-authenticated payment request REST API
API POST /subscribe/payments/onetime
API POST /subscribe/customers/{customer_uid}
API POST /subscribe/payments/onetime
POST /subscribe/payments/again
⏰Non-authenticated payment
Credit card code
Credit card code
Example of allowing up to 3 months** installment plans**
Example of direct call to Hyundai Card module
NHN KCP settings
Example of enabling only Shinhan Card payment window