NICEPAY Lite For PHP 매뉴얼 문서번호 Ver.1.3.2 1 -
@ Copyright @ 2015 NICE I&T, Inc. 본문서와정보는나이스정보통신 재산입니다. 또한, 모든정보는나이스정보통신 소유정보이며, 나이스정보통신 의사전동의없이본문서의어떤정보도열람, 복사, 유용, 또는타인과공유되어서는안됩니다. 본문서의정보는변경될수있으며변경시, 본문서는수정될것입니다. 본문서의내용에관한어떠한의견이라도귀하의프로젝트또는사업담당자에게전달하여주십시오. 개정이력 버전 변경일 변경내용 작성자 승인자 1.0.0 11.04.19 최초작성 S.K.Baek 1.1.0 11.07.25 빌링추가 김용운 S.K.Baek 1.1.1 11.08.23 카드선택옵션추가 J.w.Kim 1.1.2 11.09.27 배경이미지설정옵션 / 카드전표출력추가 J.w.Kim 1.1.3 12.01.12 영문카드플러그인추가 J.w.Kim 1.1.4 12.07.02 장바구니추가 J.w.Kim 1.2.0 15.09.03 환불취소코드및메시지추가스크린샷업데이트 J.Song 1.2.1 15.09.08 취소요청번호추가 J.Song 1.2.2 15.09.09 현금영수증변경 J.Song 1.2.3 16.05.26 부분취소중복방지추가 J.Song 1.2.4 17.03.24. 방화벽허용 IP 변경 김강호 1.3 17.04.19 제품설치및설치확인최신화 김강호 1.3.1 17.07.20 신용카드코드추가 김강호 1.3.2 17.10.16 결제취소결과코드 2002 삭제 김강호 2 -
목 차 1. 제품의개요및특징... 5 1.1. 제품의개요... 5 1.2. 제품의구성및결제처리흐름... 5 1.2.1. 제품의구성... 5 1.2.2. 결제처리흐름... 5 1.3. 제품의특징... 6 2. 설치전환경설정... 6 2.1. 설치가능한운영체제... 6 2.2. 소프트웨어요구사항... 6 2.2.1. PHP 버전... 6 2.2.2. 컴파일옵션... 7 2.2.3. 웹서버... 7 2.3. 방화벽설정... 7 3. 제품설치및설치확인... 7 3.1. 제품설치... 7 3.1.1. 서버라이브러리설치... 7 3.1.2. 샘플페이지설치... 7 3.2. 설치확인... 8 4. 결제요청페이지연동...10 4.1. 결제요청페이지개발...10 4.2. 결제요청페이지전문...12 5. 지불옵션안내...13 5.1. 결제수단설정안내...13 5.2. 현금영수증발행차단...13 5.3. 특정카드사선택옵션...13 5.4. 할부개월설정옵션...14 5.5. 상점로고설정...14 5.6. 카드전표출력...15 6. 거래요청페이지개발...16 6.1. 결제승인...16 6.2. 결제승인전문내역 ( 공통 )...17 6.2.1. 카드결제승인전문...17 6.2.2. 계좌이체결제승인전문...18 6.2.3. 가상계좌이체결제승인전문...18 3 -
6.2.4. 휴대폰결제승인전문...18 7. 결제취소...19 7.1. 결제취소요청페이지개발...19 7.2. 결제취소요청전문...19 7.3. 결제취소결과 ( 승인 ) 페이지개발...19 8. 현금영수증...22 8.1. 발급요청페이지개발...22 8.2. 현금영수증발급결과페이지연동...22 8.3. 결제승인전문내역 ( 공통 )...23 9. 로그...24 9.1. 어플리케이션로그...24 10. 결제수단별결과코드...25 10.1. 라이브러리에러코드...25 10.2. 신용카드...27 10.3. 계좌이체...28 10.4. 가상계좌...28 10.5. 휴대폰결제...28 10.6. 결제취소...29 11. 기타...30 11.1. 신용카드코드...30 11.2. 계좌이체은행코드...31 12. 가맹점라이선스키발급...33 13. 가맹점거래취소비밀번호등록...33 4 -
1. 제품의개요및특징 1.1. 제품의개요 NICEPAY 전자지불시스템은위 변조방지기능을제공함으로써별도의보안장치없이안전하게인터넷상에서전자결제를할수있는시스템입니다. NICEPAY Lite For PHP는 PHP 기반의라이브러리를통해결제요청에대한응답을안정성과신뢰성을기반으로실시간으로처리할수있도록제작되었습니다. 1.2. 제품의구성및결제처리흐름 1.2.1. 제품의구성 samples lib log : 결제와관련된데모 php 샘플폴더 : 결제관련라이브러리폴더 : 권장로그경로 1.2.2. 결제처리흐름 NICEPAY Lite For PHP은다음과같은흐름으로결제처리가이루어집니다. 1 결제요청을위하여필요한데이터를정해진형식으로설정한후결제처리 Flex를호출한다. 2 결제처리 Flex에서라이브러리를호출할 PHP페이지로결제처리를위한 HTTP 파라미터를전달한다.( 암호화구간 ) 3 이전단계에서전달받은 HTTP 파라미터를 NICEPAY Interface로전송할데이터로변환한다. 5 -
4 변환된데이터를 NICEPAY Interface로전송한다. ( 암호화구간 ) 5 NICEPAY Interface로부터결제처리결과를수신하고, 정해진규칙대로데이터를변환 ( 파싱 ) 한다. 6 브라우저에출력한결제결과데이터를생성한다. 7 브라우저에결제결과를출력한다. 1.3. 제품의특징 NICEPAY 전자결제시스템은부가적인보안장치없이독자적인위 변조방지를위한암호화 를적용함으로써안전하게결제처리를할수있습니다. NICEPAY 전자결제시스템은다음과같은결제수단을제공하며, 인터넷뿐만아니라모바 일에서도결제를할수있습니다. 결제수단신용카드 ISP안전결제실시간계좌이체가상계좌이체휴대폰결제 설명국내또는해외에서발급된카드를사용하여전자결제카드사에발급받은인증서를이용하여전자결제 ( 비씨카드, 국민카드 ) 인터넷뱅킹용공인인증서를이용하여실시간계좌이체를통하여전자결제대금입금을위하여부여받은계좌번호 ( 예금주 : 나이스정보통신 ) 로입금함으로써전자결제휴대폰으로물품구입을위한금액을지불하고, 휴대폰요금으로과금되는전자결제 NICEPAY Lite For PHP 는사용자의개발편의성을도모하기위하여기능을단순화하였으며, 거 래건수및어플리케이션정상작동여부를확인할수있는로그기능을제공합니다. 2. 설치전환경설정 2.1. 설치가능한운영체제 NICEPAY TX For PHP는 PHP코드가구동할수있는웹서버환경의모든운영체제에설치및사용이가능합니다. 2.2. 소프트웨어요구사항 2.2.1. PHP 버전 NICEPAY TX For PHP 는 PHP 5.0 버전이상에서사용할것을권장합니다. 6 -
2.2.2. 컴파일옵션 PHP 컴파일시다음과같은옵션이반드시적용되어야합니다. --enable-sockets 2.2.3. 웹서버 PHPRK 가구동되는웹서버또는웹컨터이너가필요합니다. ( 예 : 아파치 ) 2.3. 방화벽설정 NICEPAY TX For PHP 는 NICEPAY web 서버와 https 통신을사용합니다. NICEPAY web 서버와의 원활한연결을위해 443 포트가 open 되어있어야합니다. 아래내용을확인해주세요.. 연결대상 121.133.126.46 (web.nicepay.co.kr) 포트 443 프로토콜 HTTPS 연결방향 OUTBOUND 3. 제품설치및설치확인 3.1. 제품설치 NICEPAY_Lite_PHP.zip 파일의압축을풀어해당디렉토리구조가다음과같은지확인한다. 1차 2차비고결제처리모듈 lib PC_LITE_PHP 암호화처리모듈샘플페이지 3.1.1. 서버라이브러리설치 샘플모듈의 lib 폴더에존재하는모듈로결제처리시 include 되어사용됩니다. No. 폴더명 비고 1 NicepayLiteLog.php 로그처리모듈 2 NicepayLiteCommon.asp 통신처리모듈 3 NicepayLite.asp 전문처리모듈 3.1.2. 샘플페이지설치 웹서버의설치경로에샘플파일들을브라우저에서접근할수있도록설치한후, 웹 7 -
Context를설정합니다. No. 파일명 비고 1 payrequest.php 결제요청페이지 2 payresult.php 결제결과페이지 3 cancelrequest.php 결제취소페이지 4 cancelresult.php 취소결과페이지 5 payrequest_utf.php 결제요청페이지 (UTF-8 인코딩용 ) 6 payresult_utf.php 결제결과페이지 (UTF-8 인코딩용 ) * NICEPAY 의서버는기본적으로 EUC-KR인코딩방식이므로 UTF-8인코딩방식을사용하는 가맹점에서는 utf로끝나는파일을참고하여현금영수증, 취소부분을참조하기바랍니다. 3.2. 설치확인 설치과정에서배포한 nicepayrequest.php 를브라우저로접속이가능한지확인한다. (http:// 호스트도메인주소 / 컨텍스트명 /nicepayrequest.php) 요청하기 버튼을클릭하여 Flex 결제 UI 가출력되는지확인한다. 8 -
신용카드결제정보를입력하여결제처리가정상적으로처리되는지확인합니다. 테스트상점 ID(nictest00m) 가기본적으로세팅되어, 해당상점으로결제되며해당결제는실 제결제와동일하며해당거래는해당결제일오후 11 시 30 분경에자동취소처리됩니다. 9 -
4. 결제요청페이지연동 4.1. 결제요청페이지개발상점페이지에서결제 UI와연동하기위해서는다음과같은작업이필요합니다. (nicepayrequest.php 참고 ) 라이브러리인클루드및클래스생성관련라이브러리 (NicepayLite.php) 파일 require require("../lib/nicepaylite.php"); $nicepay = new NicepayLite; 상점키및상점 ID 설정 $nicepay->m_mid= "{ 상점ID}"; $nicepay->m_merchantkey= { 상점키 } <input type= hidden name="mid" value="<?=$nicepay->m_mid?>"> *merchantid와 MID의 value는동일하게설정해야합니다. * 샘플에제공되는 MID인 nictest00m과상점키인 merchantkey는아래사항을주의합니다. - 실서버에적용하실때에는꼭해당상점 ID에맞는고유의키및 ID를설정합니다. - 제공되는 ID는 TEST ID로 11시 30분에일괄취소요청됩니다. 만약취소가되지않았을경우 NICEPAY 개발팀 (tech@nicepay.co.kr) 로문의부탁드립니다. * 상점키확인하는방법 - NICEPAY 가맹점관리자페이지 (https://pg.nicepay.co.kr/home/login.jsp) 접속 - 계약시발급받으신 ID로로그인 - 가맹점정보 가맹점정보 KEY 관리에서 MID와상점키를확인합니다. 상품가격설정 $nicepay->m_price = "1004";. <input type="hidden" name="amt" value="<?=$nicepay->m_price?>"> * price 와 Amt의 value는동일하게설정해야합니다. 10 -
JavaScript Include 설정 NicePay 를호출하게되는자바스크립트를 include 합니다. 아래의주소는절대수정하지마십시요. <script src="https://web.nicepay.co.kr/flex/js/nicepay_tr.js" language="javascript"></script> * 단, 서버가 UTF-8 인코딩일경우, https://web.nicepay.co.kr/flex/js/nicepay_tr_utf.js 변경 * 결제페이지의결과값이동적으로바뀌는경우보안검증오류로결제가되지않습니다. 이경우별도의 js를사용해야하며 tech@nicepay.co.kr로문의주십시오. 결제요청및취소함수설정 <script language="javascript"> // Active-x 초기화함수 NicePayUpdate(); // 결제요청함수 function nicepay(){ var payform = document.payform; // 결제 form // 필수사항들을체크하는로직을삽입해주십시오. gopay(payform); } function nicepayclose(){ // 결제취소시호출하게되는함수 alert(" 결제가취소되었습니다 "); } // 카드사인증후결제요청시호출되는함수 function nicepaysubmit(){ document.payform.submit(); } 결제결과페이지설정 <form name="payform" action="{ 결제결과 URL}"> * 결과전달받을주소를 form action 에명시합니다. 상점의추가파라미터설정시 form 내의 hidden field 추가로전달가능합니다. (NICEPAY 에서사용하는이름과는중복이되지않도록주의하십시오.) 11 -
4.2. 결제요청페이지전문 파라미터명 파라미터설명 필수 비고 (MAX 필드길이 byte) 유무 PayMethod 결제수단 필수 10 byte GoodsCnt 결제상품개수 필수 2 byte 디폴트값 1로세팅 GoodsName 결제상품명 필수 40 byte Amt 결제상품금액 필수 12 byte, 반드시숫자로만입력 MID 상점아이디 필수 10 byte BuyerName 구매자명 필수 30 byte BuyerTel 구매자연락처 필수 40 byte-없이입력 EncodeParameters 암호화대상항목 필수 고정값 TID 거래아이디 필수 30 byte EdiDate 전문생성일시 필수 14 byte EncryptData 해쉬값 필수 100 byte 변경불가 GoodsCl 상품구분 핸드폰결제인경우필수 Moid 상품주문번호 64 byte BuyerEmail 구매자메일주소 60 byte BuyerAddr 배송지주소 100 byte BuyerPostNo 우편번호 6 byte SUB_ID 서브몰아이디 MallUserID 회원사고객아이디 20 byte VbankExpDate 가상계좌입금만료일 8자리또는 12자리 (ex :20110225) CartCnt 장바구니상품개수 2byte * 장바구니결제사용시에만사용 CartData 장바구니데이터 * 장바구니결제사용시에만사용 SUB ID`상품가격1`주문번호1`상품갯수1` 상품명1` SUBID`상품가격2`주문번호2`상품갯수2`상품명2 SUBID`상품가격3... 12 -
5. 지불옵션안내 5.1. 결제수단설정안내결제수단설정은단일결제및복합결제메뉴로구성할수있습니다. 1) 신용카드로단일결제시설정 <input type="hidden" name="paymethod" value="card"> 2) 신용카드또는계좌이체로결제시설정,( 콤마 ) 로결제수단을복수로설정할수있습니다. <input type="hidden" name="paymethod" value="card,bank"> * 결제수단설정표 결제수단신용카드계좌이체가상계좌휴대폰 설정명 CARD BANK VBANK CELLPHONE 5.2. 현금영수증발행차단상점에서현금영수증발급을막을때사용하는옵션입니다. 이경우고객에게는현금영수증발급을요청할수있는 UI가출력되지않고계좌이체거래가실행됩니다. <input type="hidden" name="optionlist" value="no_receipt"> 5.3. 특정카드사선택옵션결제페이지에서선택한카드만을플러그인에적용하는옵션입니다. 특정카드사만플러그인에표시할때사용합니다. - 필드명 : SelectCardCode - 필드값 : 카드코드 <! -카드사선택옵션--> <input type="hidden" name="selectcardcode" value="01"> * 카드코드값은 10.1 신용카드코드를참조하십시오. 13 -
5.4. 할부개월설정옵션 6.3의특정카드선택옵션을사용할때같이사용되는옵션으로안심클릭의할부개월을설정합니다. - 필드이름 : SelectQuota - 필드값 : 카드할부개월 (00,02 06) <! - 카드사할부개월옵션 --> <input type="hidden" name="selectquota" value="03"> * 단, 01 은일시불과같으나카드사마다로직이다르므로일시불은필히 00 으로설정 5.5. 상점로고설정 상점로고를결제창에설정하고자할때사용하는옵션으로설정된이미지가좌측상단에위치하 여보여지게됩니다. 14 -
<input type="hidden" name="logoimage" value="http://abc.com/images/12.gif"> * 상기에해당하는이미지를가져오기위해해당서버에이를허가하는크로스도메인보안정책파 일인 crossdomain.xml 이필요합니다. 이파일은상점서버의웹루트에위치하여야합니다. -> http:// 상점도메인.com/crossdomain.xml <cross-domain-policy> <allow-access-from domain="*" secure="false"/> </cross-domain-policy> 5.6. 카드전표출력카드전표영수증출력을할경우아래의자바스크립트를참조하여연동합니다. // 카드전표출력함수 function printreceipt(tid) { var status = "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes, resizable=yes,width=420,height=540"; var url = "https://pg.nicepay.co.kr/issue/issueloader.jsp?tid="+tid+"&type=0"; window.open(url,"popupissue",status); } printreceipt(' 거래아이디-tid'); 15 -
6. 거래요청페이지개발 6.1. 결제승인 샘플페이지 nicepayresult.php 를참고하여신용카드결제결과페이지를구성한다. 클래스 Import require("../lib/nicepaylite.php"); Request Wrapper 등록 $nicepay = new NicepayLite; 로그디렉토리설정 $nicepay->m_nicepayhome = "{ 로그디렉토리 }"; 이벤트로그, 어플리케이션로그파일이생성되는위치, 설정한디렉터리는파일쓰기권한이반드시필요. 서비스코드설정 // 결제서비스 : PY0, 취소서비스 : CL0 $nicepay->m_actiontype = "PY0"; 결제요청 $nicepay->startaction(); 결제결과출력 $resultcode = $nicepay->m_resultdata["resultcode"]; // 결과코드 $resultmsg = $nicepay->m_resultdata["resultmsg"]; // 결과메시지 BIZ 전문의응답항목명으로결과데이터출력가능. 16 -
6.2. 결제승인전문내역 ( 공통 ) 파라미터명 파라미터설명 길이 내용 ResultCode 결제결과코드 4 byte 결제수단별결제성공코드값신용카드 3001 계좌이체 4000 가상계좌 4100 휴대폰 A000 현금영수증 - 7001 ResultMsg 결제결과메시지 100 byte 예 ) 카드결제성공 TID 거래번호 30 byte 거래를구분하는 transaction ID 예 ) nictest00m01011104191651325596 Moid 상점주문번호 64 byte 상점에서부여한거래주문번호예 ) mnoid1234567890 MID 상점 ID 10 byte 상점 ID 예 ) nictest00m PayMethod 결제수단코드 10 byte 신용카드 : CARD 계좌이체 : BANK 가상계좌 : VBANK 핸드폰 : CELLPHONE Amt 결제상품금액 12 byte 12 byte, 반드시숫자로만입력예 ) 1000원인경우 -> 000000001000 AuthDate 승인날자 ( 공통 ) 12 byte 표시타입 : YYMMDDHHMMSS 예 )11041916520 AuthCode 승인코드 ( 공통 ) 30byte 승인번호 ( 신용카드, 계좌이체, 휴대폰 ) 6.2.1. 카드결제승인전문 파라미터명 파라미터설명 길이 내용 CardCode 결제카드사코드 3 byte 신용카드사별코드 ( 기타참조 ) CardName 결제카드사명 20 byte 예 ) 비씨 CardQuota 할부개월 2 byte 예 ) 00 ( 일시불 ) 03 (3개월) 17 -
6.2.2. 계좌이체결제승인전문 파라미터명 파라미터설명 길이 내용 BankCode 결제은행코드 3 Byte 은행별코드 ( 기타참조 ) BankName 결제은행명 20 Byte 예 ) sc 제일은행 RcptType 현금영수증타입 1 Byte 예 ) 0: 발행안함,1: 소득공제,2: 지출증빙 6.2.3. 가상계좌이체결제승인전문 파라미터명 파라미터설명 길이 내용 VbankBankCode 결제은행코드 char(3) 입금은행코드 ( 기타참조 ) VbankBankName 결제은행명 char(20) 예 ) sc 제일은행 VbankNum 가상계좌번호 char(20) 임금할계좌번호 6.2.4. 휴대폰결제승인전문 파라미터명파라미터설명길이내용 Carrier 이통사구분 char(6) 예 ) SKT DstAddr 휴대폰번호 char(16) 예 ) 01012341234 18 -
7. 결제취소 7.1. 결제취소요청페이지개발결제취소입력페이지는결제샘플의 nicecancelrequest.php를참고하여구성합니다. 7.2. 결제취소요청전문 파라미터명 파라미터설명 비고 CancelAmt 취소금액 MID 상점 ID TID 거래 ID CancelPwd 취소비밀번호 취소비밀번호는가맹점관리자의가맹점정보 > 기본정보 > 에서별도로설정한비밀번호를기입합니다 CancelMsg 취소사유 CancelIP 취소요청자IP PartialCancelCode 부분취소구분 전체취소 : 0, 부분취소 : 1 * 부분취소는가맹점계약시별도요청해야사용가능합니다. Moid 취소요청번호 부분취소시중복취소방지를위해설정주의!!! 단, 방지확인을하도록기준정보등록을꼭하셔야합니다. 7.3. 결제취소결과 ( 승인 ) 페이지개발 결제취소결과페이지는샘플페이지 nicecancelresult.php 를참고하여구성한다. 클래스 Import require("../lib/nicepaylite.php"); Request Wrapper 등록 $nicepay = new NicepayLite; 로그디렉토리설정 $nicepay->m_nicepayhome = "{ 로그디렉토리 }"; 19 -
이벤트로그, 어플리케이션로그파일이생성되는위치, 설정한디렉터리는파일쓰기권한이 반드시필요. 서비스코드설정 // 결제서비스 : PY0, 취소서비스 : CL0 $nicepay->m_actiontype = "CLO"; 취소패스워드설정 $nicepay-> m_cancelpwd= "123456"; 취소요청 $ nicepay->startaction(); 부분취소시중복취소방지 Moid 파라미터에고유한취소요청번호 ( 유니크 ) 를함께설정하여취소요청전문을보내면 중복취소확인을하게됩니다. <-- 부분취소시중복취소방지확인주문번호 --> <input type="hidden" name="moid" value="// 고유한취소요청번호 //"> 취소결과출력 // 결과코드 // 정상 :2001( 취소성공 ), 2002( 취소진행중 ), 2211( 환불성공 ), 2212( 환불진행중 ) // 2211( 환불성공 ) 역시취소성공으로처리해야만함 // 그외에러 $resultcode = $nicepay->m_resultdata["resultcode"]; $resultmsg = $nicepay->m_resultdata["resultmsg"]; // 결과메시지 BIZ 전문의응답항목명으로결과데이터출력가능. 취소가능기간 서비스취소가능기간환불가능기간 20 -
신용카드 - 결제일로부터 60 일이내 - 계좌이체 - 당일 (00:00 이전 ) - 결제일로부터 30 일이내 가상계좌 - - 불가 ( 해당회원사에서진행 ) 휴대폰결제 - 결제일의해당월이내 21 -
8. 현금영수증 8.1. 발급요청페이지개발상점페이지에서현금영수증발급을연동은 receiptrequest.php 참고하십시오. 전문파라미터는아래와같습니다. 파라미터명 파라미터설명 필수유무 비고 GoodsName 결제상품명 필수 40 byte MID 상점아이디 필수 10 byte Moid 주문번호 N 30 byte BuyerName 구매자명 필수 30 byte ReceiptAmt 현금영수증요청금액 필수 12 byte, 반드시숫자로만입력 ReceiptSupplyAmt 공급가액 필수 12 byte ReceiptVAT 부가가치세 필수 12 byte ReceiptServiceAmt 봉사료 필수 12 byte ReceiptType 증빙구분 필수 1 byte (1. 소득공제, 2. 지출증빙 ) ReceiptTypeNo 식별값 필수 20 byte 주민등록번호 or 휴대폰번 호 8.2. 현금영수증발급결과페이지연동 샘플페이지 receiptresult.php 를참고하여결과페이지를구성하십시오. 클래스 Import require("../lib/nicepaylite.php"); Request Wrapper 등록 $nicepay = new NicepayLite; 22 -
로그디렉토리설정 $nicepay->m_nicepayhome = "{ 로그디렉토리 }"; 이벤트로그, 어플리케이션로그파일이생성되는위치, 설정한디렉터리는파일쓰기권한이반드시필요. 서비스코드설정 // 결제서비스 : PYO, 취소서비스 : CLO $nicepay->m_actiontype = "PYO"; 취소패스워드설정 $nicepay-> m_cancelpwd= "123456"; 현금영수증발급요청 $ nicepay->startaction(); 발급요청결과출력 // 결과코드 // 정상 :7001( 발급성공 ) 그외에러 $resultcode = $nicepay->m_resultdata["resultcode"]; $resultmsg = $nicepay->m_resultdata["resultmsg"]; // 결과메시지 BIZ 전문의응답항목명으로결과데이터출력가능. 8.3. 발급결과전문내역 파라미터명 파라미터설명 MaxSize 내용 (byte) ResultCode 결제결과코드 4 byte 결제수단별결제성공코드값현금영수증 - 7001 ResultMsg 결제결과메시지 100 byte 예 ) 카드결제성공 TID 거래번호 30 byte 거래를구분하는 transaction ID 23 -
예 ) nictest00m01011104191651325596 MID 상점 ID 10 byte 상점 ID AuthDate 승인날자 ( 공통 ) 12 byte 표시타입 : YYMMDDHHMMSS 예 )11041916520 AuthCode 승인코드 ( 공통 ) 30byte 승인번호 ( 신용카드, 계좌이체, 휴대폰 ) 9. 로그 9.1. 어플리케이션로그어플리케이션로그파일명은 NicepayLite_PYO_{mid}_{ 날짜 }.log이며, 로그파일은일별백업파일로자동생성된다. 전문설정의결과, 전문송 / 수신내용을어플리케이션로그를확인할수있습니다. INFO [2011-08-24 13:36:43] <164> START NicepayLite PYO (V0.9B20110415(OS:Windows NT5.1,PHP:5.2.9-2)) INFO [2011-08-24 13:36:43] <164> Connect to web.nicepay.co.kr:80 INFO [2011-08-24 13:36:43] <164> web.nicepay.co.kr:80 Server Connect OK INFO [2011-08-24 13:36:45] <164> RESPONSE CODE : 200 INFO [2011-08-24 13:36:45] <164> Recv Data : Array INFO [2011-08-24 13:36:45] <164> Recv Data : PG=NICE ResultCode=8350 ResultMsg= 거래거절도난 / 분실 ErrorMsg= 거래거절도난 / 분실 ErrorCD=8350 AuthDate=110824133441 AuthCode= BuyerName= 홍길동 MallUserID= buy ername= 홍길동 malluserid= GoodsName= 곰인형 PayMethod=CARD MID=nictest00m TID=nictest0 0m01011108241334245940 Moid=mnoid1234567890 Amt=1004 CardCode=01 CardName= 비씨 Car dno=**** CardQuota= CardInterest= CardCoode=null NICE=PG [ISPPGID] -> [] [APP_LOG] -> [1] 발급요청로그포맷 순번 항목명 설명 1 거래구분 P: 결제요청 2 성공여부 TE: 성공 TF: 실패 3 요청일자 yyyymmdd 4 요청시간 HHmmss 5 지불수단 CARD,BANK,VBANK 6 상품명 상품명 7 상품금액 상품금액 24 -
8 회원사고객 ID 회원사고객 ID 9 결과코드결제결과코드 ResultCode 10 결과메시지결제결과메시지 결제취소로그포맷 순번 항목명 설명 1 거래구분 C: 결제취소 2 성공여부 TE: 성공 TF: 실패 3 요청일자 yyyymmdd 4 요청시간 HHmmss 5 지불수단 CARD,BANK,VBANK 6 상품명 상품명 7 취소금액 취소금액 8 회원사고객ID 회원사고객ID 9 결과코드 취소결과코드 ResultCode 10 결과메시지 취소결과메시지 10. 결제수단별결과코드 10.1. 라이브러리에러코드 에러코드 에러메시지 S999 기타오류가발생하였습니다. S001 요청템플릿이존재하지않습니다. S002 응답템플릿이존재하지않습니다. T001 수신메시지인코딩중예외가발생하였습니다. T002 비정상적인수신전문입니다. T003 수신데이터파싱중예외가발생하였습니다. T004 요청전문의헤더부생성중오류가발생하였습니다. T005 요청전문의바디부생성중오류가발생하였습니다. X001 서버도메인명이잘못설정되었습니다. X002 서버로소켓연결중오류가발생하였습니다. X003 전문수신중오류가발생하였습니다. X004 전문송신중오류가발생하였습니다. V005 지원하지않는지불수단입니다. V101 암호화플래그미설정오류입니다. 25 -
V102 서비스모드를설정하지않았습니다. V103 지불수단을설정하지않았습니다. V104 상품개수미설정오류입니다. V201 상점 ID 미설정오류입니다. V202 LicenseKey 미설정오류입니다. V203 통화구분미설정오류입니다. V204 MID 미설정오류입니다. V205 MallIP 미설정오류입니다. V301 구매자이름미설정오류입니다. V302 구매자인증번호미설정오류입니다. V303 구매자연락처미설정오류입니다. V304 구매자메일주소미설정오류입니다. V401 상품명미설정오류입니다. V402 상품금액미설정오류입니다. V501 카드형태미설정오류입니다. V502 카드구분미설정오류입니다. V503 카드코드미설정오류입니다. V504 카드번호미설정오류입니다. V505 카드무이자여부미설정오류입니다. V506 카드인증구분미설정오류입니다. V507 카드형태설정오류입니다. V508 카드형태허용하지않는값을설정하였습니다. V509 카드구분허용하지않는값을설정하였습니다. V510 유효기간미설정오류입니다. V511 유효기간허용하지않는값을설정하였습니다. V512 유효기간의월형태가잘못설정되었습니다. V513 카드비밀번호미입력오류입니다. V601 은행코드미설정오류입니다. V602 금융결제원암호화데이터미설정오류입니다. V701 가상계좌입금만료일미설정오류입니다. VA01 거래KEY 미설정오류입니다. VA02 이통사구분미설정오류입니다. VA03 SMS승인번호미설정오류입니다. VA04 업체TID 미설정오류입니다. VA05 휴대폰번호미설정오류입니다. VA09 고객고유번호 ( 주민번호, 사업자번호 ) 미설정오류입니다. VA10 ENCODE 업체TID 미설정오류입니다. VB02 이통사구분미설정오류입니다. 26 -
VB05 휴대폰번호미설정오류입니다. VB09 고객고유번호 ( 주민번호, 사업자번호 ) 미설정오류입니다. VB10 고객 IP 미설정오류입니다. V801 취소금액미설정오류입니다. V802 취소사유미설정오류입니다. V803 취소패스워드미설정오류입니다. 라이브러리내부에서데이터유효성체크시발생하는오류로응답전문의 ErrorCD, ErrorMsg에설정되어출력. 10.2. 신용카드번호 결과코드 메시지 1 3001 카드결제성공 2 3011 카드번호오류 3 3012 카드가맹점정보미확인 4 3013 카드가맹점개시안됨 5 3014 카드가맹점정보오류 6 3021 유효기간오류 7 3022 할부개월오류 8 3023 할부개월한도초과 9 3031 무이자할부카드아님 10 3032 무이자할부불가개월수 11 3033 무이자할부가맹점아님 12 3034 무이자할부구분미설정 13 3041 금액오류 (1000원미만신용카드승인불가 ) 14 3051 해외카드미등록가맹점 15 3052 통화코드오류 16 3053 확인불가해외카드 17 3054 환률전환오류 18 3055 인증시달러승인불가 19 3056 국내카드달러승인불가 20 3057 인증불가카드 21 3061 국민카드인터넷안전결제적용가맹점 22 3062 신용카드승인번호오류 23 3071 매입요청가맹점아님 24 3072 매입요청 TID 정보불일치 25 3073 기매입거래 27 -
26 3081 카드잔액값오류 27 3091 제휴카드사용불가가맹점 28 3095 카드사실패응답 10.3. 계좌이체 번호 결과코드 메시지 1 4000 계좌이체결제성공 2 4001 회원사서비스불가은행 3 4002 출금일자불일치 4 4003 출금요청금액불일치 5 4004 거래번호 (TID) 불일치 6 4005 회신정보불일치 7 4006 계좌이체승인번호오류 8 4007 은행시스템서비스중단 10.4. 가상계좌 번호 결과코드 메시지 1 4100 가상계좌발급성공 2 4110 가상계좌입금성공 3 4101 가상계좌최대거래금액초과 4 4102 가상계좌입금예정일오류 5 4103 가상계좌입금예정시간오류 6 4104 가상계좌정보오류 10.5. 휴대폰결제 번호 결과코드 메시지 1 A000 휴대폰결제처리성공 2 A001 휴대폰결제처리실패 3 A002 필수입력값 ( 거래키 ) 누락 4 A003 필수입력값 ( 이통사구분 ) 누락 5 A004 필수입력값 (SMS승인번호) 누락 6 A005 필수입력값 ( 업체TID) 누락 7 A006 필수입력값 ( 휴대폰번호 ) 누락 8 A041 결제금액오류 28 -
9 A564 휴대폰결제ID설정오류 10 A565 휴대폰결제ID미설정오류 11 A566 휴대폰결제사설정오류 12 A567 상품구분코드설정오류 13 A568 서비스구분코드설정오류 10.6. 결제취소 결과코드 메시지 2001 취소성공 2211 환불성공 (2001과함께취소성공처리할것 ) 2003 취소실패 2010 취소요청금액 0원이하 2011 취소금액불일치 2012 취소해당거래없음 2013 취소완료거래 2014 취소불가능거래 2015 기취소요청 2016 취소기한초과 2017 취소불가회원사 2018 신용카드매입후취소불가능가맹점 2019 타회원사거래취소불가 2021 매입전취소 2022 매입후취소 2023 취소한도초과 2024 취소패스워드불일치 2025 취소패스워드미입력 2026 입금액보다취소금액이큽니다. 2027 에스크로거래는구매또는구매거절시취소가능. 2028 부분취소불가능가맹점. 2029 부분취소불가능결제수단. 2030 해당결제수단부분취소불가. 2031 전체금액취소불가. 2032 취소금액이취소가능금액보다큼. 2033 부분취소불가능금액. 전체취소이용바람. 29 -
11. 기타 11.1. 신용카드코드 번호 신용카드사 코드 1 비씨 01 2 국민 02 3 외환 03 4 삼성 04 5 신한 06 6 현대 07 7 롯데 08 8 한미 09 9 신세계한미 10 10 시티 11 11 농협 12 12 수협 13 13 평화 14 14 우리 15 15 하나 16 16 동남 ( 주택 ) 17 17 주택 18 18 조흥 ( 강원 ) 19 19 축협 ( 농협 ) 20 20 광주 21 21 전북 22 22 제주 23 23 산은 24 24 해외비자 25 25 해외마스터 26 26 해외다이너스 27 27 해외AMX 28 28 해외JCB 29 29 카카오뱅크 37 30 케이뱅크 38 30 -
11.2. 계좌이체은행코드 번호 은행 ( 증권사 ) 명 코드 1 한국은행 001 2 산업은행 002 3 기업은행 003 4 국민은행 004 5 외환은행 005 6 수협중앙회 007 7 수출입은행 008 8 농협중앙회 011 9 농협회원조합 012 10 우리은행 020 11 SC제일은행 023 12 한국씨티은행 027 13 대구은행 031 14 부산은행 032 15 광주은행 034 16 제주은행 035 17 전북은행 037 18 경남은행 039 19 새마을금고연합회 045 20 신협중앙회 048 21 상호저축은행 050 22 모건스탠리은행 052 23 HSBC은행 054 24 도이치은행 055 25 에이비엔암로은행 056 26 제이피모간체이스은행 057 27 미즈호코퍼레이트은행 058 28 미쓰비시도쿄UFJ은행 059 29 BOA 060 30 정보통신부우체국 071 31 신용보증기금 076 32 기술신용보증기금 077 31 -
33 하나은행 081 34 신한은행 088 35 한국주택금융공사 093 36 서울보증보험 094 37 경찰청 095 38 금융결제원 099 39 동양종합금융증권 209 40 현대증권 218 41 미래에셋증권 230 42 대우증권 238 43 삼성증권 240 44 한국투자증권 243 45 우리투자증권 247 46 교보증권 261 47 하이투자증권 262 48 에이치엠씨투자증권 263 49 키움증권 264 50 이트레이드증권 265 51 에스케이증권 266 52 대신증권 267 53 솔로몬투자증권 268 54 한화증권 269 55 하나대투증권 270 56 굿모닝신한증권 278 57 동부증권 279 58 유진투자증권 280 59 메리츠증권 287 60 엔에이치투자증권 289 61 부국증권 290 32 -
12. 가맹점라이선스키발급 결제요청시 EncodeKey 필드에사용되는라이선키발급방법을설명합니다. 1. NICEPAY 가맹점관리자페이지로그인 https://pg.nicepay.co.kr/ 2. 라이선스키등록 가맹점정보 > KEY 관리 > KEY 복사 (Ctrl + C) 13. 가맹점거래취소비밀번호등록 결제취소또는요청시 CancelPwd 필드에사용되는취소패스워드등록방법을설명합니다. 1.NICEPAY 가맹점관리자페이지로그인 https://pg.nicepay.co.kr/ 2. 거래취소비밀번호등록 가맹점정보 > 거래취소비밀번호등록 33 -