표준결제 서비스 연동하기

1결제 FLOW 이해하기

고객이 결제창을 호출하여 결제수단별 인증과정을 진행하고 인증성공 여부의 데이터를 가맹점에게 전송합니다.
NHNKCP로 부터 전달받은 인증데이터를 API 통신으로 NHNKCP로 승인요청하여 결과를 리턴받습니다.

2서비스 인증서 준비

2.1 서비스 인증서가 필요한 이유

NHNKCP 가맹점임을 NHNKCP 결제서버에서 인지하기 위한 인증서입니다.
NHNKCP 에서는 NHNKCP 결제를 이용하기 위해 결제서비스 인증서 (이하 서비스 인증서로 표기)를 발급하고, 결제 및 취소 요청시 NHNKCP가 발급한 서비스 인증서로 통신을 하도록 규정하였습니다.

2.2 서비스 인증서 발급 방법

NHNKCP 표준 결제서비스 연동을 위해 KCP PG-API 서비스 인증서와 개인키를 NHNKCP 상점 관리자에서 발급 받습니다.
서비스 인증서에 대한 자세한 사항은 서비스 인증서 메뉴에서 확인할 수 있습니다.

2.3 서비스 인증서 적용방법

서비스 인증서는 발급받은 서비스 인증서 파일을 에디트하여 직렬화를 하고, 해당 값을 아래와 같이 kcp_cert_info 값에 적용합니다.
개인키 파일은 파일 자체를 관리하는 서버에 저장하고, 해당 경로를 지정합니다.


kcp_cert_info = “-----BEGIN CERTIFICATE-----MIIDgTCCAmmgAwIBAgIHkiG9w0……………
                          fWn5Cay7pJNWXCnw4jIiBsTBa3q95RVRyMEcDgPwugMXPXGBwNoMOOpuQ==-----END CERTIFICATE-----";

filePath = "C:\user\certificate\splPrikeyPKCS8.pem";
                        

3거래등록하기

결제 요청전 가맹점의 주문 요청 데이터를 서버에 저장해주시기 바랍니다. (주문요청과 응답의 과정에서 데이터 검증을 위해 필요합니다.)
모바일 버전에서는 거래등록이 필수입니다. (결제요청할 데이터 중 주문정보와 결제정보를 미리 KCP결제서버에 등록함)

결제 요청의 첫번째 단계는 거래등록입니다.
결제에 필요한 주문데이터를 NHNKCP 서버에 먼저 등록한 후, 결제창을 호출합니다.

3.1 거래등록(Mobile) 적용하기

결제의 필수 주문 정보인 ordr_idxx, good_mny, pay_method, Ret_URL 파라미터의 값은 반드시 가맹점 서버에 저장하여 사용해주시기 바랍니다.
자세한 거래등록 파라미터는 거래등록 파라미터 안내 에서 확인할 수 있습니다.

거래등록 API URL (target URL)

Stage : https://stg-spl.kcp.co.kr/std/tradeReg/register
Product : https://spl.kcp.co.kr/std/tradeReg/register


{
 "site_cd"        : "T0000",
 "kcp_cert_info" : "-----BEGIN CERTIFICATE-----MIIDgTCCAmmgAwIBAgI……………
                          fWn5Cay7pJNWXCnw4jIiBsTBa3q95RVRyMEcDgPwugMXPXGBwNoMOOpuQ==-----END CERTIFICATE-----",
 "ordr_idxx"       : "TEST123456789",
 "good_mny"        : "1000",
 "good_name"       : "운동화",
 "pay_method"      : "CARD",
 "Ret_URL"         : "https://쇼핑몰주문처리서버/../return“
}
                        

4결제창 호출하기

4.1 Mobile 버전

거래 등록이 성공되었다면 결제창을 호출합니다.
거래 등록에서 리턴된 PayUrl 주소로 주문정보들을 order_info 에 담아 form 형태로 전달해주시기 바랍니다.
거래 등록의 데이터와 order_info 데이터가 다를 경우 결제창에서 오류를 리턴합니다.
PayUrl 은 리턴된 그대로 사용해주시기 바랍니다. (수정불가)

결제 수단 별 결제 요청 파라미터는 결제요청 파라미터 안내에서 확인할 수 있습니다.


{
 "site_cd":"T0000",
 "pay_method":"CARD",
 "currency":"410",
 "shop_name":"TEST SITE",
 "Ret_URL":"https://쇼핑몰주문처리서버/../return",
 "approval_key":"J9z6rqeRrRIjGoxmPPQtpgcHyKIPdQ/iE35VBPEo1sQ=",
 "PayUrl":"https://testsmpay.kcp.co.kr/pay/mobileGW.kcp",
 "ordr_idxx":"TEST123456789",
 "good_name":"휴대폰",
 "good_mny":"1000",
 "buyr_name":"홍길동",
                          
}
                        


  function call_pay_form()
  {
   var v_frm = document.order_info;
   var PayUrl = v_frm.PayUrl.value;
     v_frm.action = PayUrl.substring(0,PayUrl.lastIndexOf("/")) +"/jsp/encodingFilter/encodingFilter.jsp";              
     v_frm.submit();
  }
                        

4.2 PC 버전

PC 결제창은 거래등록 없이 KCP_Pay_Execute_Web 메서드에 order_info 를 전달합니다.

PC 결제창은 JS 스크립트를 이용해 결제창을 호출합니다.

Stage : https://testspay.kcp.co.kr/plugin/kcp_spay_hub.js
Product : https://spay.kcp.co.kr/plugin/kcp_spay_hub.js


<script type="text/javascript" src="https://testspay.kcp.co.kr/plugin/kcp_spay_hub.js"></script>
                        

PC 결제창 호출 함수 jsf__pay
KCP_Pay_Execute_Web 를 통해 결제창 호출.


 function jsf__pay( form )
{
try
    {
    KCP_Pay_Execute_Web( form );    // 결제창 호출 메서드
    }
    catch (e)
    {
     /* 브라우저에서 결제 정상종료시 throw로 스크립트 종료 */
    }
 }
                        

4.3 결제창 호출시 전달하는 기본 정보

모바일 결제창 전달정보


<form name=“order_info” method=“post” action=“승인요청URL”>
{
"site_cd":”T0000",
"pay_method":"CARD",
"currency":"410",
"shop_name":"TEST SITE",
"Ret_URL":"https://쇼핑몰주문처리서버/../return",
"approval_key":"J9z6rqeRrRIjGoxmPPQtpgcHyKIPdQ/iE35VBPEo1sQ=",
"PayUrl":"https://testsmpay.kcp.co.kr/pay/mobileGW.kcp",
"ordr_idxx":"TEST123456789",
"good_name":"운동화",
"good_mny":"1000"
}
                        

PC 결제창 전달정보


<form name=“order_info” method=“post” action=“승인요청URL”>

{
"site_cd":"T0000",
"site_name":"TEST SITE",
"pay_method":"100000000000",
"ordr_idxx":"TEST123456789",
"good_name":"운동화",
"good_mny":"1000"
}
                        

5결제창 인증결과

결제창 인증이 완료되면 최초 거래등록에서 넘긴 파라미터에 대한 결과가 Ret_URL 로 전달됩니다.
결제창에서 리턴된 데이터는 form 형식의 pay_form으로 전달되며,
PayUrl로 보낸 결제요청 데이터와 Ret_URL 로 돌아온 데이터가 동일한지 확인해 보실 수 있습니다.

enc_info, enc_data 는 인증정보를 암호화한 값입니다. 리턴된 그대로 승인요청 하시기 바랍니다.
PC 버전은 m_Completepayment 콜백 함수를 통해 enc_info, enc_data 가 리턴됩니다.
Mobile 과 PC버전의 리턴데이터가 상이하니 인증 응답 파라미터를 참고해주세요.


{
 "res_cd":"0000",
 "res_msg":"정상처리",
 "tran_cd":”00100000”,
 "enc_data":"SnvXdGftIEjAequorkpNhJXc4u3GRuotLHW9vyDDOhdeorM4DPXMJgJlIEoRo6divo=",
 "enc_info":"3dsgjljlsSEGHsdccndsgnfdSDDhhbdrhffRbdfRYHFgfgnb=_"
}
                        

6승인요청

Ret_URL로 전달받은 인증 결과데이터를 API 통신으로 승인요청 하는 단계입니다.
승인 요청 데이터는 NHN KCP의 API URL로 json string 형태로 전송하시기 바랍니다.

!! 결제정보 검증
결제정보 검증을 위해 실제 결제 되어야 하는ordr_mony, ordr_no, pay_type 을 넘겨주세요.
결제창에서 인증된 결제정보와 비교하여 검증 합니다.

승인요청 API URL (target URL)

Stage : https://stg-spl.kcp.co.kr/gw/enc/v1/payment
Product : https://spl.kcp.co.kr/gw/enc/v1/payment


{
 "tran_cd":"00100000”,
 "kcp_cert_info" : “-----BEGIN CERTIFICATE-----MIIDgTCCAmmgAwIBAgIHkiG9w0……………
                          fWn5Cay7pJNWXCnw4jIiBsTBa3q95RVRyMEcDgPwugMXPXGBwNoMOOpuQ==-----END CERTIFICATE-----",
 "site_cd":"T0000",
 "enc_data":"SnvXdGftIEjAequorkpNhJXc4hfghdfs5dfsgu3GRuotLHW9vyDDOhdeorM4DPXMJgJlIEoRo6divo=",
 "enc_info":"3dsgjljlsSEGHsdccndsgnfdSDDhhbdrhffRbdfRYHFgfgnb=_",
 "ordr_mony":"1000",
 "pay_type":"PACA",
 "ordr_no":"TEST123456789"
}
                        

7결제결과 처리하기

결제 승인에 성공하면 res_cd : 0000 과 함께 결제수단별 응답 파라미터가 리턴됩니다.
res_data를 확인하셔서 결제수단별 결과값들을 가맹점 서버에 저장하셔서 관리하시길 바랍니다.
가상계좌의 경우, 계좌발급단계와 입금단계가 구분되어있습니다.
계좌발급단계에서는 실제 결제가 일어난 것이 아니기 때문에 입금통보를 받고 최종 결제처리를 진행하셔서 실제 결제처리를 완료하시기 바랍니다.

결제 응답 저장시에는 tno , pay_method, amount 및 결제수단 별 응답 파라미터를 저장 관리하시길 바랍니다.
만약 해당 필드에 값이 없다면 정상 결제 건인지 확인해보시기 바랍니다.
자세한 응답 파라미터는 결제 응답 파라미터에서 확인할 수 있습니다.
(그외 추가 옵션에 대한 상세 파라미터는 옵션 파라미터 상세안내 페이지 참고)


//신용카드 응답 데이터 예시
{
 "res_cd":"0000",
 "res_msg":"정상처리",
 “pay_method":"PACA",
 "order_no":"TEST123456789",
 "amount":"1000",
 "card_mny":"1000",
 "coupon_mny":"0",
 "card_no":"4673090000000032",
 "quota":"00",
 "tno":"24346915432487",
 "card_cd":"CCKM",
 "card_name":"국민카드",
 "app_no":"78710726“
}
                        

8파라미터

Mobile 과 PC 파라미터가 상이할 수 있어요.
전용 파라미터는 mobile 또는 PC로 표기되어 있습니다.



거래등록 요청 파라미터(Mobile)


string5

site_cd필수Mobile

길이 5자리로 영문대문자 또는 영문대문자+숫자로 구성됩니다. 모든 서비스에 사용합니다.
ex) "site_cd" : "T0000"

string가변

kcp_cert_info필수 Mobile

NHNKCP 에서 발급하는 서비스 인증서로, 상점관리자의 인증센터에서 다운받은 pem 파일내용을 직렬화 하여 사용합니다.
모든 서비스에 사용합니다.
ex) "kcp_cert_info" : "-----BEGIN CERTIFICATE-----MIIDjDCCAnSgAwIBAgIHBy4pl6nQgDANBgkqhkiG9w0BAQsFADBzMQswCQY.....DEghDjldlwodXspogmHdlksQrYnDgdsfghrpK8gGsiPI-----END CERTIFICATE-----"

string40

ordr_idxx필수Mobile

상점에서 관리하는 주문번호입니다. 최대길이는 40자이며, 중복되지 않는 유니크한 값으로 사용하시길 권장합니다.
주문 데이터 관리를 위해 가맹점에서 반드시 저장해야합니다.
ex) "ordr_idxx" : "TEST123456789"

number12

good_mny필수Mobile

결제 금액입니다. 최대 12자리이며 콤마와 같은 특수문자는 사용이 불가합니다.
ex) "good_mny" : "1000"

string4

pay_method필수Mobile

결제수단 코드 값 입니다.
신용카드 : CARD
계좌이체 : BANK
가상계좌 : VCNT
휴대폰 : MOBX
포인트 : TPNT
상품권 : GIFT

string100

good_name필수Mobile

상품명입니다. 최대길이는 100자입니다.
ex) "good_name" : "운동화"

string256

Ret_URL필수Mobile

인증 완료 후 데이터를 리턴받을 응답 주소
ex) "Ret_URL" : "https://쇼핑몰주문처리서버/../return"

string40

user_agentMobile

단말기 OS
ex) "user_agent" : "Android"

거래등록 응답 파라미터(Mobile)


string4

CodeMobile

응답코드 정상인 경우 0000 리턴
ex) "Code":"0000"

string100

MessageMobile

응답메세지
ex) "Message" : "Success"

string가변

approvalKeyMobile

거래인증 코드
ex) "approvalKey" : "ockLyC3QHxD5rSUio3ETuAcHyKIPdQ\/iE35VBPEo1cQ=",

string가변

PayUrlMobile

리턴 받은 결제 창 호출 주소.전달 받은 값 그대로 요청
ex) "PayUrl" : "https://testsmpay.kcp.co.kr/pay/mobileGW.kcp",

string가변

hashDataMobile

거래등록 해쉬 정보입니다.
ex) "hashData" : "cn441e70e7332cab403aq9d8ad6b7d40ba399bf84a80e78a93b3b27f6736653bb"

string가변

traceNoMobile

추적번호
ex) "traceNo" : "T0000LVVWE89WYDC"

string4

paymentMethodMobile

결제수단
ex) "paymentMethod" : "CARD"

string가변

request_URIMobile

요청주소

결제요청 파라미터

결제수단별 공통 파라미터


string5

site_cd필수PC / Mobile

길이 5자리로 영문대문자 또는 영문대문자+숫자로 구성됩니다. 모든 서비스에 사용합니다.
ex) "site_cd" : "T0000"

string412

pay_method필수PC / Mobile

MOBILE 결제수단 코드 값 입니다. (4 Byte)
신용카드 : CARD
계좌이체 : BANK
가상계좌 : VCNT
휴대폰 : MOBX
포인트 : TPNT
상품권 : GIFT
ex) "pay_method" : "CARD"

PC 결제수단 코드 값 입니다. (12 Byte)
신용카드 : 100000000000
계좌이체 : 010000000000
가상계좌 : 001000000000
포인트 : 000100000000
휴대폰 : 000010000000
상품권 : 000000001000
ex) "pay_method" : "100000000000"

string가변

PayUrl필수Mobile

결제창 호출 주소.
거래등록에서 전달받은 그대로 사용해주세요
ex) TEST일 경우, "PayUrl" : "https://testsmpay.kcp.co.kr\/pay\/mobileGW.kcp"

string가변

approval_key필수Mobile

거래 인증 키
(거래등록 후 리턴받은 approvalKey 값을 셋팅해주세요. )
ex) "approvalKey" : "ockLyC3QHxD5rSUio3ETuAcHyKIPdQ\/iE35VBPEo1cQ="

string256

Ret_URL필수Mobile

리다이렉트 URL
인증결과를 리턴받을 가맹점의 URL
ex) "Ret_URL" : "https://쇼핑몰주문처리서버/../return"

string가변

AppUrlMobile

가맹점 APP 호출 URL
가맹점에서 APP으로 연동 시, 타 APP에서 가맹점 APP을 다시 호출하기 위한 값 ( 가맹점 APP 연동 시 필수 )
ex) “AppUrl” : “myapp://”

string40

ordr_idxx필수PC / Mobile

상점에서 관리하는 주문번호입니다. 중복되지 않는 유니크한 값으로 사용하시길 권장합니다.
주문 데이터 관리를 위해 가맹점에서 반드시 저장해야합니다.
ex) "ordr_idxx" : "TEST123456789"

string12

good_mny필수PC / Mobile

결제 금액입니다.
ex) "good_mny" : "1000"

string100

good_name필수PC / Mobile

상품명입니다. 최대길이는 100자입니다.
ex) "good_name" : "운동화"

string3

currency필수PC / Mobile

화폐단위
※ Mobile 원화 - 410 / 달러 - 840
※ PC 원화 - WON / 달러 - USD
ex) 모바일의 경우, "currency" : "410"

string20

shop_user_id필수PC / Mobile

쇼핑몰에서 관리하는 회원 ID
※ 유니크한 값으로 입력
기관에 따라 리스크 관리 조치를 위한 쇼핑몰 관리 ID를 필수로 요청
ex) "shop_user_id" : "hong123"

string30

buyr_namePC / Mobile

주문자이름
ex) “buyr_name” : “홍길동”

string50

buyr_mailPC / Mobile

주문자 이메일
ex) “buyr_mail” : “test@test.com”

string20

buyr_tel2PC / Mobile

주문자 휴대폰번호
하이폰(-)포함 가능
ex) “buyr_tel2” : “010-1234-1234”

string4

ActionResultMobile

인증수단(영문 소문자)
신용카드 : card
계좌이체 : acnt
가상계좌 : vcnt
휴대폰 : mobx
도서문화상품권 : scbl
문화상품권 : sccl
컬쳐랜드상품권 : schm
OK캐쉬백 : ocb
복지포인트 : tpnt
ex) “ActionResultMobile” : “card”

string20

shop_nameMobile

사이트명
ex) “shop_name” : “NHN KCP SHOP”

string20

site_namePC

상점이름(영문으로 작성권장)
예시 : site_name="NHNKCP"
ex) "site_name" : "NHNKCP"

string4

van_code필수Mobile

상품권, 포인트 결제시 필수 파라미터입니다.
도서문화 상품권 - SCBL
컬쳐랜드 상품권 - SCCL
해피머니 상품권 - SCHM
베네피아 복지 포인트 - SCWB
OK캐쉬백 - SCSK
ex) "van_code" : "SCBL"

인증 응답 파라미터


string5

site_cdMobile

길이 5자리로 영문대문자 또는 영문대문자+숫자로 구성됩니다. 모든 서비스에 사용합니다.
ex) “site_cd” : “T0000”

string가변

enc_dataPC / Mobile

결제창 인증결과 암호화 정보
통합 결제 창으로부터 전달 받는 인증결과 암호화 데이터
※ 절대 임의로 변경 불가하며 결제 창에서 내려 주는 값을 그대로 사용 부탁 드립니다.
ex) “enc_data” : “1eOSNbDDMQCVqCHVNZGNPKZErG2lCPBL24RTDIATPEXWERwBkrN4ghC4M0ue81I8y-LZ1tl6q8CMpw-LvpFdQDKzbHx5tx1OYWBf”

string가변

enc_infoPC / Mobile

결제창 인증결과 암호화 정보
통합 결제 창으로부터 전달 받는 인증결과 암호화 데이터
※ 절대 임의로 변경 불가하며 결제 창에서 내려 주는 값을 그대로 사용 부탁 드립니다.
ex) “enc_info” : “4dgxMICIupJdwMheYKVQI.Vd6cKDpBSSkWfEfW1k431UaMlGzuVl1N.NIsrbdDnQ5i9Mu.JVz.C7JIK1NpdfDkdYd”

string가변

tran_cdPC / Mobile

요청코드(수정불가)
ex) “tran_cd” : “00100000”

string40

ordr_idxxPC / Mobile

상점에서 관리하는 주문번호입니다. 최대길이는 40자이며, 중복되지 않는 유니크한 값으로 사용하시길 권장합니다.
주문 데이터 관리를 위해 가맹점에서 반드시 저장해야합니다.
ex) “order_idxx” : “TEST123456789”

string30

buyr_nameMobile

주문자이름
ex) “buyr_name” : “홍길동”

string50

buyr_mailMobile

주문자 이메일
ex) “buyr_mail” : “test@test.com”

string20

buyr_tel2Mobile

주문자 휴대폰번호
하이폰(-)포함 가능
ex) “buyr_tel2” : “010-1234-1234”

승인 요청 파라미터


string5

site_cd필수PC / Mobile

길이 5자리로 영문대문자 또는 영문대문자+숫자로 구성됩니다. 모든 서비스에 사용합니다.
ex) “site_cd” : “T0000”

string가변

kcp_cert_info필수PC / Mobile

NHNKCP 에서 발급하는 서비스 인증서로, 상점관리자의 인증센터에서 다운받은 pem 파일내용을 직렬화 하여 사용합니다.
모든 서비스에 사용합니다.
ex) “kcp_cert_info” : “-----BEGIN CERTIFICATE-----MIIDgTCCAmmgAwIBAgIHkiG9w0…………Cay7pJNWXCnw4jIiBsTBa3q95RVRyMEcDgPwugMXPXGBwNoMOOpuQ==-----END CERTIFICATE-----"

string가변

enc_data필수PC / Mobile

결제창 인증결과 암호화 정보
통합 결제 창으로부터 전달 받는 인증결과 암호화 데이터
※ 절대 임의로 변경 불가하며 결제 창에서 내려 주는 값을 그대로 사용 부탁 드립니다.
ex) “enc_data” : “1eOSNbDDMQCVqCHVNZGNPKZErG2lCPBL24RTDIATPEXWERwBkrN4ghC4M0ue81I8y-LZ1tl6q8CMpw-LvpFdQDKzbHx5tx1OYWBf”

string가변

enc_info필수PC / Mobile

결제창 인증결과 암호화 정보
통합 결제 창으로부터 전달 받는 인증결과 암호화 데이터
※ 절대 임의로 변경 불가하며 결제 창에서 내려 주는 값을 그대로 사용 부탁 드립니다.
ex) “enc_info” : “4dgxMICIupJdwMheYKVQI.Vd6cKDpBSSkWfEfW1k431UaMlGzuVl1N.NIsrbdDnQ5i9Mu.JVz.C7JIK1NpdfDkdYd”

string가변

tran_cd필수PC / Mobile

요청코드(수정불가)
ex) “tran_cd” : “00100000”

number12

ordr_mony필수PC / Mobile

실제 결제 요청 금액(결제금액 유효성 검증)
ex) “ordr_mony” : “1000”

string40

ordr_no필수PC / Mobile

실제 결제 주문번호
ex) “ordr_no” : “TEST123456789”

string4

pay_type필수PC / Mobile

실제 결제수단(결제수단 유효성 검증)
가맹점 서버에 저장된 결제수단에 값을 입력해주세요.
신용카드 : PACA
계좌이체 : PABK
가상계좌 : PAVC
휴 대 폰 : PAMC
포 인 트 : PAPT
상 품 권 : PATK
ex) “pay_type” : “PACA”

결제 응답 파라미터

공통 응답


string4

res_cdPC / Mobile

결과코드
정상 승인이 이루어졌을 경우 ‘0000’ 값 리턴
ex) “res_cd” : “0000”

string100

res_msgPC / Mobile

결과메세지
ex) “res_msg” : “정상처리”

string100

res_en_msgPC / Mobile

영문 결과 메시지
ex) “res_en_msg” : “processing completed”

string4

pay_methodPC / Mobile

응답결제수단
신용카드 - PACA
계좌이체 - PABK
가상계좌 - PAVC
포인트 - PAPT
휴대폰 - PAMC
상품권 - PATK
카카오머니 - PAKM
네이버페이 포인트 - PANP
페이코 포인트 - PACP
ex) 신용카드일 경우, “pay_method” : “PACA”

string14

tnoPC / Mobile

NHN KCP 거래 고유번호
※ 거래고유번호 전체로 사용 하시기 바랍니다. (임의의 숫자나 파싱하여 사용 불가)
ex) “tno” : “24123456789012”

number12

amountPC / Mobile

결제 금액
결제 건의 총 결제 금액이 리턴 됩니다.
최종 결제 금액의 처리는 승인완료 후 리턴 데이터 중 amount 로 처리하여야 하며 반드시 업체의 DB금액과 비교하여 검증하시기 바랍니다.
ex) “amount” : “1000”

신용카드 결제 응답


string4

card_cdPC / Mobile

결제 건의 발급 사 코드
ex) “card_cd” : “CCNH”

string32

card_namePC / Mobile

결제 건의 발급 사 명
ex) “card_name” : “NH카드”

string16

card_noPC / Mobile

결제 건의 카드번호 (카드번호 16자리 중 3번째구간은 마스킹)
ex) “card_no” : “9441160000001234”

string8

app_noPC / Mobile

결제 건의 승인번호
ex) “app_no” : “46761234”

number14

app_timePC / Mobile

결제 건의 결제(승인) 시간
ex) “app_time” : “20240101235959”

string1

noinfPC / Mobile

결제 건의 무이자 여부
ex) “noinf” : “Y”

string4

noinf_typePC / Mobile

noinf = Y 일 때 (무이자 결제인 경우)
카드사 이벤트 무이자인 경우 : CARD
상점 부담 무이자인 경우 : SHOP
ex) 카드사 이벤트일 경우, “noinf_type” : “CARD”

number2

quotaPC / Mobile

결제 건의 할부 기간
ex) 일시불일 경우, “quota” : ”00”

number12

card_mnyPC / Mobile

결제 건의 총 결제금액 중 신용카드 결제금액
만약 총 결제금액(amount) 10000 원 중 쿠폰할인 2000 원 받았다면 card_mny=8000 이 됩니다.
*페이코 포인트, 쿠폰 100% 결제 시 card_mny=0 으로 리턴될 수 있으니 반드시 총 결제 금액 처리는 amount 금액으로 체크하시기 바랍니다.
ex) “card_mny” : “8000”

number12

coupon_mnyPC / Mobile

결제 건의 무이자 여부결제 건의 쿠폰 할인, 페이코 포인트 사용 금액
결제 건의 쿠폰 할인 금액 또는 페이코 포인트 사용 금액이 리턴됩니다.
만약 총 결제금액(amount) 10000 원 중 쿠폰 할인을 2000 원 받았다면 coupon_mny=2000 이 됩니다.
ex) “coupon_mny” : “2000”

number12

payco_point_mnyPC / Mobile

페이코 포인트 사용 금액
ex) “payco_poinf_mny” : “2000”

string1

partcanc_ynPC / Mobile

결제 건의 부분취소 가능 유무
ex) “partcanc_yn” : “Y”

number1

card_bin_type_01PC / Mobile

결제 건의 카드 구분 정보
개인 : 0 / 법인 : 1
ex) “card_bin_type_01” : “0”

number1

card_bin_type_02PC / Mobile

결제 건의 카드 구분 정보
일반 : 0 / 체크 : 1
ex) “card_bin_type_02” : “0”

string4

isp_issuer_cdPC / Mobile

ISP 계열 카드 발급 사 코드
BC96 : 케이뱅크카드
KM90 : 카카오뱅크카드
ex) “isp_issuer_cd” : “BC96”

string32

isp_issuer_nmPC / Mobile

ISP 계열 카드 발급 사 명
카카오뱅크의 경우 카카오뱅크 케이뱅크의 경우 K뱅크카드로 리턴됨.
ex) “isp_issuer_cd” : “K뱅크카드”

계좌이체 결제 응답


string20

bank_namePC / Mobile

결제 건의 은행 명
※ 테스트서버에서 계좌이체 테스트 시 금융결제원과 협의된 은행 코드로 리턴됩니다.
ex) "bank_name" : "기업은행"

string4

bank_codePC / Mobile

결제 건의 은행코드
※ 테스트서버에서 계좌이체 테스트 시 금융결제원과 협의된 은행 코드로 리턴됩니다.
ex) "bank_code" : "BK03"

number12

bk_mnyPC / Mobile

결제 건의 계좌이체 결제 금액
ex) "bk_mny" : "1000"

number9

cash_authnoPC / Mobile

현금영수증 승인번호
NHN KCP 결제 창에서 현금영수증 등록 요청한 결제 건의 현금영수증 승인번호
ex) "cash_authno" : "591234567"

number14

cash_noPC / Mobile

NHN KCP 결제 창에서 현금영수증 등록 요청한 결제 건의 현금영수증 거래번호
ex) "cash_no" : "20370466727800"

number14

app_timePC / Mobile

계좌이체 결제시각입니다.
ex) "app_time" : "20240507235959”

가상계좌 발급 응답

가상계좌의 경우, 계좌발급단계입금단계가 구분되어있습니다.
계좌발급단계에서는 실제 결제가 일어난 것이 아니기 때문에 입금통보를 받고 최종 결제처리를 진행하셔서 실제 결제처리를 완료하시기 바랍니다.


string20

banknamePC / Mobile

발급요청한 계좌의 은행명
ex) “bankname” : “신한은행”

string4

bankcodePC / Mobile

결제 건의 은행코드
ex) “bankcode” : “BK26”

string20

accountPC / Mobile

결제 건의 가상계좌 번호
ex) “account” : “56201234123412”

number14

va_datePC / Mobile

가상계좌 입금마감일
ex) “va_data” : “20241231235959”

number14

app_timePC / Mobile

결제건의 계좌발급 시간
ex) “app_time” : “20240101120000”

가상계좌 입금 응답


string5

site_cdPC / Mobile

KCP 발급 사이트(상점)코드
ex) “site_cd” : “T0000”

string14

tnoPC / Mobile

결제 완료 후 NHN KCP에서 리턴 하는 거래번호입니다
각 결제 건에 대해 고유의 값 가집니다.
※ 거래고유번호 전체로 사용 하시기 바랍니다.
ex) “tno” : “20240101123456”

string40

order_noPC / Mobile

가맹점에서 생성한 주문번호
ex) “order_no” : “TEST123456789”

string4

tx_cdPC / Mobile

업무처리 구분코드
가상계좌 입금 통보 – TX00
ex) “tx_cd” : “TX00”

number14

tx_tmPC / Mobile

통보된 업무에 대한 업무처리 완료 시간
ex) “tx_tm” : “20240131235959”

string30

ipgm_namePC / Mobile

거래에 대한 주문자명
ex) “ipgm_name” : “홍길동”

number12

ipgm_mnyxPC / Mobile

입금자가 실제 입금한 입금 금액
ex) “ipgm_mnyx” : “1000”

number12

totl_mnyxPC / Mobile

해당 계좌에 입금 된 금액의 합계
ex) “totl_mnyx” : “1000”

number14

ipgm_timePC / Mobile

가상계좌에 입금된 시간
ex) “ipgm_time” : “20240131235959”

string2

bank_codePC / Mobile

가상계좌 은행코드
ex) “bank_code” : “03”

string20

accountPC / Mobile

입금된 가상계좌 번호
ex) “account” : “56201234123412”

string20

noti_idPC / Mobile

가상계좌의 각 입금 통보 건에 대한 고유한 값을 가지는 변수
ex) “noti_id” : “24013112345678901234”

number2

op_cdPC / Mobile

입급 통보 건에 대한 고유한 값
입금건에 대한 은행 망취소 응답 13 통보.
입금과 망취소 응답이 동일한 noti_id로 발송되니 입금취소 상태 확인이 필요합니다.

op_cd = ‘13’ 은 입금이 잘못 된 경우로 가맹점에 취소 노티가 나갑니다.
ex) “op_cd” : “50”

string30

remitterPC / Mobile

결제 금액을 입금한 입금자명
주문자명과 다를 수 있습니다.
ex) “remitter” : “홍길동”

number9

cash_a_noPC / Mobile

현금영수증 승인번호
ex) “cash_a_no” : “591234567”

number14

cash_noPC / Mobile

가상계좌 발급 시 현금영수증 등록 요청 건에 대해 입금완료 후 리턴 되는 현금영수증 거래번호
ex) “cash_a_no” : “24123456789012”

휴대폰 결제 응답


string3

commidPC / Mobile

결제 건의 통신사 코드
ex) “commid” : “SKT”

number11

mobile_noPC / Mobile

결제 건의 휴대폰 번호
ex) “mobile_no” : “01012341234”

string4

van_idPC / Mobile

결제 건의 실물/컨텐츠 구분
ex) “van_id” : “ES01”

포인트 결제 응답


number12

pnt_amountPC / Mobile

결제 건의 포인트 결제 금액
ex) "pnt_amount" : "1000"

string4

pnt_issuePC / Mobile

포인트 기관 코드입니다.
ex) "pnt_issue" : "SCWB"

string20

pnt_app_noPC / Mobile

결제 건의 포인트 승인번호
ex) "pnt_app_no" : "1234567890"

number14

pnt_app_timePC / Mobile

결제 건의 포인트 승인시각
ex) "pnt_app_time" : "20240507235959"

string1

pnt_receipt_gubnPC / Mobile

결제 건의 현금영수증 등록유무
ex) "pnt_receipt_gubn" : "Y"

number9

cash_authnoPC / Mobile

결제 건의 현금영수증 승인번호
ex) "cash_authno" : "591234567"

number12

add_pntPC / Mobile

결제 건의 적립/사용 포인트
ex) "add_pnt" : "1000"

number12

use_pntPC / Mobile

결제 건의 가용 포인트
ex) "use_pnt" : "5000"

number12

rsv_pntPC / Mobile

결제 건의 총 포인트
ex) "rsv_pnt" : "5000"

상품권 결제 응답


number12

tk_mnyPC / Mobile

결제 건의 상품권 결제 금액
ex) "tk_mny" : "1000"

string4

tk_van_codePC / Mobile

상품권 기관 코드입니다.
도서상품권 - SCBL
해피머니 - SCHM
컬쳐랜드 상품권 - SCCL
스마트문상 - SCGM
틴캐시 - SCTC
에그머니 - SCEM
ex) "tk_van_code" : "SCHM"

string20

tk_app_noPC / Mobile

결제 건의 승인번호
ex) "tk_app_no" : "20240101007918"

number14

tk_app_timePC / Mobile

결제 건의 승인시간
ex) "tk_app_time" : "20240101235959"

옵션 파라미터

기본으로 설정하는 값 외에 추가 옵션을 이용하고자 하는 경우 옵션 파라미터를 이용하여 추가 기능을 구현하실 수 있습니다.

신용카드 전용 옵션파라미터


number2

quotaoptPC / Mobile

50,000원 이상 거래에 대한 할부 옵션. 기본값은 12개월. 0~12의 값을 설정하면 결제 창에 할부 개월 수가 최대값까지 표기됩니다.
ex) “quotaopt” : “12”

string1

kcp_nointPC / Mobile

무이자할부 표시기능
“” : 상점관리자 설정에 따름
“Y” : kcp_noint_quota 값에 따라 무이자표시(단, 상점관리자에 설정이 되어야 함)
“N” : 상점관리자 값을 무시하고 일반할부로 처리됨
ex) “kcp_noint” : “Y”

string256

kcp_noint_quotaPC / Mobile

무이자할부 표시기능이 Y 일 경우 무이자 설정 값을 결제 창에 표기
무이자 설정은 카드사 별로 설정 가능
ex) “kcp_noint_quota” : “CCBC-02:03:06, CCSS-03:06”

string1

used_card_YNMobile

결제 요청 시 원하는 신용카드사 확인
※ 해당 변수 값을 Y로 설정 후 used_card 변수 값에 원하는 신용카드사의 코드를 입력
※ 입력한 신용카드사만 결제 창에 노출
ex) “used_card_YN” : “Y”

string256

used_cardPC / Mobile

원하는 신용카드사 설정
ex) “used_card” : “CCBC:CCKM:CCSS”

string2

fix_instPC / Mobile

결제금액이 50,000원 이상일 경우 결제 창에서 선택 할 수 있는 할부 개월 수를 0~12 의 값 중 하나로 고정
ex) “fix_inst” : “0”

가상계좌 발급 추가 설정 파라미터


number14

ipgm_date Mobile

발급된 가상계좌에 입금할 예정일 입력
예시 : 20241234 또는 20241231235959
ex) “ipgm_data” : “20241231”

string50

used_bank Mobile

NHN KCP에서 제공하는 은행 중 가맹점이 원하는 은행을 선택
ex) “used_bank” : “BK03:BK04”

string50

wish_vbank_list PC

NHN KCP에서 제공하는 은행 중 가맹점이 원하는 은행을 선택할 수 있습니다.
ex) “wish_vbank_list” : “05:03:04”

number2

vcnt_expire_term PC

가상계좌 유효기간 설정
예시 : vcnt_expire_term = 3 -> 3일뒤 자정 마감
ex) “vcnt_expire_term” : “3” -> 3일뒤 자정 마감

number6

vcnt_expire_term_time PC

가상계좌 유효기간 설정
vcnt_expire_term과 함께 부수적으로 설정되는 변수
예시 : vcnt_expire_term = 3, Vcnt_ecpire_term_time 235959 -> 3일뒤 23:59:59 마감
ex) “vcnt_expire_term_time” : “120000” -> 12:00:00 마감

휴대폰 추가 설정 파라미터


string1

hp_apply_ynPC / Mobile

원하는 통신사만 노출시킬 수 있습니다.
※변수 값을 Y로 설정한 후 hp_commid 변수의 값에 통신사 코드를 입력하면 결제창에 해당 통신사만 노출됩니다.
ex) “hp_apply_yn” : “Y”

string3

hp_commidPC / Mobile

하나의 통신사만 설정 가능
ex) “hp_commid” : “SKT”


포인트 추가 설정 파라미터


string4

pt_memcorp_cdPC / Mobile

베네피아(SK M&C)에서 발급한 회원소속사코드로 베네피아 복지포인트를 사용한다면 필수로 처리됩니다.
ex) “pt_memcorp_cd” : “5555

string1

complex_pnt_ynPC / Mobile

포인트 결제 시 결제 금액의 일부를 신용카드 결제와 함께 사용 가능합니다.
complex_pnt_yn 을 ‘N’으로 설정하면 포인트로만 결제 이루어집니다.
ex) “complex_pnt_yn” : “N”

옵션 파라미터


string256

site_logo PC

결제 창 왼쪽 상단에 가맹점 사이트의 로고를 띄움니다.
업체의 로고가 있는 URL을 정확히 입력해야 하며 해당 변수 생략 시에는 로고가 뜨지 않고 site_name 값이 표시됨
로고 파일은 GIF, JPG 파일만 지원
최대 사이즈 : 150 X 50 미만
이미지 파일을 150 X 50 이상으로 설정 시 site_name 값이 표시됨
※ site_logo 설정 시 결제 창 호출이 느려질 수 있음
ex) “site_logo” : “https://test.kcp.co.kr/logo.jpg”

string1

eng_flagPC / Mobile

결제 창 한글/영문 변환
ex) 영문일 경우, “eng_flag” : “Y”

number1

skin_indx PC

결제 창 스킨 변경. 1~7까지 설정 가능
ex) “skin_indx” : “1”

number18

good_expr PC

상품 제공기간
“”, “0” : 일반결제
“1” : 제공기간
※ 기본 설정은 일반결제
ex) “good_expr” : “0”

string4

tax_flagPC / Mobile

복합 과세 구문
TG03 : 복합과세
ex) “tax_flag” : “TG03”

number12

comm_tax_mnyPC / Mobile

공급가액
공급가액 = good_mny / 1.1
ex) “comm_tax_mny” : “909”

number12

comm_free_mnyPC / Mobile

비과세액
ex) “comm_free_mny” : “0”

number12

comm_vat_mnyPC / Mobile

부가가치세
부가가치세 = good_mny – 과세금액
ex) “comm_vat_mny” : “91”

string30

kcp_pay_title PC

결제창 상단 문구
예시 ) NHN KCP – 결제의 중심!
ex) “kcp_pay_title” : “NHN KCP 결제의 중심”

string20

good_cd PC

상품코드
ex) “good_cd” : “00”

string1000

param_opt_1 Mobile

NHN KCP 기본 파라미터 외 업체 추가 파라미터
ex) “param_opt_1” : “test”

string1000

param_opt_2 Mobile

NHN KCP 기본 파라미터 외 업체 추가 파라미터
ex) “param_opt_2” : “test”

string1000

param_opt_3 Mobile

NHN KCP 기본 파라미터 외 업체 추가 파라미터
ex) “param_opt_3” : “test”