연동준비하기 연동파라미터 규격 추가기능
• 결제창 추가옵션 • 금액위변조 HASH • 망취소요청 • 가상계좌 입금통보 • 에스크로 구매결정

모바일빌링

모바일결제


모바일결제 서비스에서 추가적으로 이용가능한 기능에 대하여 소개합니다.

 
 
 

결제창 추가옵션


모바일결제창에서 에스크로서비스를 사용하기 위한 옵션을 안내합니다.

결제창 호출규격은 동일하며, P_RESERVED 필드에 하기 옵션을 세팅하시면 됩니다.

※ 세팅예시 : <input name="P_RESERVED" value="...기존옵션...:useescrow=Y">


구분 파라미터 옵션value 비고
신에스크로 P_RESERVED useescrow=Y 신에스크로 MID는 해당옵션이 없을 경우 일반결제 진행됨
 
 
 

금액위변조 HASH__ 선택기능


모바일결제 요청 시 사용자의 위변조 방지를 위해 일부데이터를 SHA512 로 HASH 합니다.

※ 모바일 위변조 hash검증 사용시 아래 필히 참고 부탁드립니다.

case1. "amt_hash=Y" 유무에 따라 금액위변조를 체크
case2. 영업 담당자로 금액 위변조 무조건 사용 설정 요청시, "P_CHKFAKE" 를 무조건 체크
          (주의 : "amt_hash=Y" 무관하게 작동 , "P_CHKFAKE" 에 value 기준 위변조 오류 발생)


사용가능한 지불수단 : 신용카드, 실시간계좌이체, 가상계좌, 휴대폰결제, 상품권(문화상품권,스마트문상,해피머니상품권),전자지갑

<< 모바일 금액위변조 hash 요청파라미터 >>

파라미터 Value 설명
P_RESERVED amt_hash=Y 모바일 hash검증 사용옵션
P_TIMESTAMP Hashed value 생성시 사용된 timestamp 값 타임스템프 [TimeInMillis(Long형)]
P_CHKFAKE Hashed value BASE64_ENCODE(SHA512(Data)) HASH 값

P_CHKFAKE 개요

HASH 방법: BASE64_ENCODE(SHA512(Data))

대상파라미터 : P_AMT + P_OID + P_TIMESTAMP + HashKey

     ex) hash생성 예시

     P_AMT : 1000
     P_OID : 20150515208799704
     P_TIMESTAMP : 1431678259
     Hash Key : 123456789012345678901234567890

     PlainText: 1000201505152087997041431678259123456789012345678901234567890
     Hash 데이터: hE/Q+F//ZmnoGFNercEp6qyTaIuq7CLbrrUHtFWRKyktueQl97wjjISvqBB0aZC25b79YNs7bLxPT/hKMwySNA==


※ 모바일 위변조 hash key 확인경로
가맹점관리자 로그인 > 상점정보 > 계약정보 > 부가정보 내 "모바일 금액위변조 Hashkey" 조회

 
 
 

망취소요청


가맹점에서 승인결과 전문 처리 중 예외발생 시 망취소 요청할 수 있습니다.

** 망취소를 일반 결제취소 용도로 사용하지 마십시오.
    일반 결제취소는 INIAPI 취소/환불 서비스를 통해 진행해주시기 바랍니다.


망취소요청URL : {인증결과 전달된 P_REQ_URL의 HOST}/smart/payNetCancel.ini

ex) 인증결과로 P_REQ_URL이 https://ksmobile.inicis.com/smart/payReq.ini로 전달된 경우,
-> https://ksmobile.inicis.com/smart/payNetCancel.ini로 취소요청

* 망취소요청URL HOST 값을 절대로 고정으로 사용하지 마십시오.

통신방식 : http-Client
HTTP Method : POST

<< 망취소요청 파라미터 >>

파라미터 설명 SIZE(Byte)
P_TID 인증결과로 전달된 인증TID
* 일반적으로 INIMX_AUTH, INIMX_AISP 등으로 시작
40
P_MID 결제요청 시 설정한 P_MID 값 10
P_AMT 결제요청 시 설정한 P_AMT 값 12
P_OID 결제요청 시 설정한 P_OID 값 40
P_CHKFAKE (선택(권장)) 위변조 방지 HASH 값   HASH
×
P_CHKFAKE 개요

HASH 방법: BASE64_ENCODE(SHA512(Data))

대상파라미터 : P_AMT + P_OID + P_TIMESTAMP + HashKey

ex) hash생성 예시

P_AMT : 1000
P_OID : 20150515208799704
P_TIMESTAMP : 1431678259
Hash Key : 123456789012345678901234567890

PlainText: 1000201505152087997041431678259123456789012345678901234567890
Hash 데이터: hE/Q+F//ZmnoGFNercEp6qyTaIuq7CLbrrUHtFWRKyktueQl97wjjISvqBB0aZC25b79YNs7bLxPT/hKMwySNA==


관련 웹매뉴얼로 이동하기
N/A
P_TIMESTAMP (선택(권장)) 타임스템프 [TimeInMillis(Long형)]
* P_CHKFAKE 세팅 시 반드시 함께 세팅필요
N/A

<< 망취소응답 파라미터 >>

파라미터 설명 SIZE(Byte)
P_STATUS 결과코드 ["00":정상, 그외 실패] 2
P_RMESG1 결과메세지 100
P_TID 취소된 거래에 대한 승인TID 40
 
 
 

가상계좌 입금통보


가상계좌 입금통보 수신 페이지는 고객이 가상계좌이체 서비스를 사용하여 가상계좌번호를 발급 받은 후,
무통장 입금을 하였을 때, 은행으로부터 통보된 입금결과를 상점으로 전송해 주기 위해 상점 측에 필요한 페이지입니다.

URL 입금내역 통보 방식으로 안내해 드리고 있으며, HTTP/HTTPS 모두 지원합니다.


모바일 가상계좌 입금내역 수신을 위해서는 아래의 가맹점 방화벽이 허용되어 있어야합니다.

항목 내용
연결방향 INBOUND
IP 118.129.210.25 / 183.109.71.153 / 203.238.37.15

노티수신 시 유의사항

1. 이니시스 PG에서 요청했는지 여부(IP로 체크)를 반드시 확인하셔야합니다.

2. 리턴 메시지를 반드시 적용해주셔야합니다.
   상점 데이터베이스 등록 성공 유무에 따라서 성공시에는 "OK" 문자열만 응답되어야합니다.

   JSP : out.print("OK");
   PHP : echo "OK";
   ASP : response.write "OK"

3. 로그를 반드시 작성해주시기 바랍니다.
   로그는 문제 발생시 이니시스와 데이터를 확인할 수 있는 근거 데이터이므로 반드시 적용해주시기 바랍니다.

4. 입금통보 노티전송 시 파라미터는 추후 요건에 의해 추가될 수 있습니다.

노티수신URL : 가상계좌 채번요청 시 P_NOTI_URL

HTTP Method : POST
Accept-charset : EUC-KR (한글데이터 Urlencode 하여 전달됨)
 
노티전문예시
×
모바일 입금통보 노티전문 예시

POST {채번 요청 시 설정한 P_NOTI_URL}
Content-Type application/x-www-form-urlencoded;charset=euc-kr

P_STATUS=02&P_TID=INIMX_VBNKINIpayTest120191030171516155319&P_TYPE=VBANK&
P_AUTH_DT=20191030172157&P_MID=INIpayTest&P_OID=testoid1234567890&P_FN_CD1=11&
P_FN_CD2=&P_FN_NM=NH%B3%F3%C7%F9%C0%BA%C7%E0&P_AMT=38400&P_UNAME=
%C0%AF%B8%ED%C7%F6&P_RMESG1=P_VACCT_NO%3D79013683802571%7CP_EXP_DT%3D20191106&
P_RMESG2=&P_NOTI={결제요청시 설정된 P_NOTI 정보}&P_AUTH_NO=&P_CSHR_AMT=&P_CSHR_SUP_AMT=&
P_CSHR_TAX=&P_CSHR_SRVC_AMT=&P_CSHR_TYPE=&P_CSHR_DT=20191030172157&
P_CSHR_AUTH_NO=123456789

			

<?php

//@extract($_POST);
@extract($_SERVER);

$TEMP_IP = getenv("REMOTE_ADDR");
$PG_IP = substr($TEMP_IP, 0, 10);

if($PG_IP == "118.129.210" || $PG_IP == "183.109.71" || $PG_IP == "39.115.212") //PG에서 보냈는지 IP로 체크
{
    // 이니시스 NOTI 서버에서 받은 Value
    $P_STATUS = $_REQUEST["P_STATUS"];                         // 거래상태 [00:가상계좌 채번, 02:가상계좌입금통보]
    $P_TID = $_REQUEST["P_TID"];                                     // 거래TID
    $P_TYPE = $_REQUEST["P_TYPE"];                                 // 지불수단[VBANK: 가상계좌]
    $P_AUTH_DT = $_REQUEST["P_AUTH_DT"];                     // 승인일자 [YYMMDDhhmmss]
    $P_MID = $_REQUEST["P_MID"];                                   // 상점아이디
    $P_OID = $_REQUEST["P_OID"];                                    // 상점주문번호
    $P_FN_CD1 = $_REQUEST["P_FN_CD1"];                         // 은행코드
    $P_FN_CD2 = $_REQUEST["P_FN_CD2"];                         // 금융사코드 (빈값으로 전달)
    $P_FN_NM = $_REQUEST["P_FN_NM"];                          // 은행명
    $P_AMT = $_REQUEST["P_AMT"];                                 // 거래금액
    $P_UNAME = $_REQUEST["P_UNAME"];                         // 주문자명
    $P_RMESG1 = $_REQUEST["P_RMESG1"];                        // 메시지1 [채번된 가상계좌번호|입금기한]
    $P_RMESG2 = $_REQUEST["P_RMESG2"];                        // 메시지2 (빈값전달)
    $P_NOTI = $_REQUEST["P_NOTI"];                                // 주문정보 [거래요청시 입력한 P_NOTI 값을 그대로 반환합니다]
    $P_AUTH_NO = $_REQUEST["P_AUTH_NO"];                    // 승인번호 (빈값전달)
    $P_CSHR_AMT = $_REQUEST["P_CSHR_AMT"];                 // 현금영수증 거래 금액
    $P_CSHR_SUP_AMT = $_REQUEST["P_CSHR_SUP_AMT"];    // 현금영수증 공급가액
    $P_CSHR_TAX = $_REQUEST["P_CSHR_TAX"];                   // 현금영수증 부가가치세
    $P_CSHR_SRVC_AMT = $_REQUEST["P_CSHR_SRVC_AMT"]; // 현금영수증 봉사료
    $P_CSHR_TYPE = $_REQUEST["P_CSHR_TYPE"];                 // 현금영수증 거래자 구분 [0:소비자소득공제용, 1:사업자지출증빙용]
    $P_CSHR_DT = $_REQUEST["P_CSHR_DT"];                      // 현금영수증 발행일자 [YYYYMMDDhhmmss]
    $P_CSHR_AUTH_NO = $_REQUEST["P_CSHR_AUTH_NO"];   // 현금영수증 발행승인번호
 
    // if(데이터베이스 등록 성공 유무 조건변수 = true) 
    // 주의 : P_STATUS=02 일경우 입금통보이며 입금통보 일경우 DB처리후 정상일경우만 OK출력
   echo "OK";
    // else
// echo "FAIL";

}

?>

 
상세파라미터 규격 확인

파라미터 설명 SIZE(Byte)
P_STATUS 거래상태 [00:가상계좌 채번, 02:가상계좌입금통보] 2
P_TID 거래번호 40
P_TYPE 지불수단 [VBANK: 가상계좌] 10
P_AUTH_DT 승인일자 [YYMMDDhhmmss] 14
P_MID 상점아이디 10
P_OID 상점주문번호 100
P_FN_CD1 은행코드   Code
×

은행코드


코드 은행사 코드 은행사
02 한국산업은행 03 기업은행
04 국민은행 05 하나은행 (구. 외환)
06 국민은행 (구. 주택) 07 수협중앙회
11 농협중앙회 12 단위농협
16 축협중앙회 20 우리은행
21 구)조흥은행 22 상업은행
23 SC제일은행 24 한일은행
25 서울은행 26 구)신한은행
27 한국씨티은행 (구. 한미) 31 대구은행
32 부산은행 34 광주은행
35 제주은행 37 전북은행
38 강원은행 39 경남은행
41 비씨카드 48 신용협동조합중앙회
50 상호저축은행 53 한국씨티은행
54 홍콩상하이은행 55 도이치은행
56 ABN암로 57 JP모건
59 미쓰비시도쿄은행 60 BOA(Bank of America)
64 산림조합 70 신안상호저축은행
71 우체국 81 하나은행
83 평화은행 87 신세계
88 신한(통합)은행 89 케이뱅크
90 카카오뱅크 91 네이버포인트 (포인트 100% 사용)
93 토스머니 (포인트 100% 사용) 94 SSG머니 (포인트 100% 사용)
96 엘포인트 (포인트 100% 사용) 97 카카오머니
98 페이코 (포인트 100% 사용)

금융사코드 확인하러 가기
4
P_FN_CD2 금융사코드 (빈값으로 전달) 10
P_FN_NM 입금은행명 50
P_AMT 거래금액 12
P_UNAME 주문자명 30
P_RMESG1 메시지1 [채번된 가상계좌번호|입금기한] 500
P_RMESG2 메시지2 (빈값전달) 500
P_NOTI 가맹점 임의 데이터 4000
P_AUTH_NO 승인번호 (빈값전달) 30
P_CSHR_AMT 현금영수증 거래금액
* 현금영수증 발행요청 건의 한함
12
P_CSHR_SUP_AMT 현금영수증 공급가액
* 현금영수증 발행요청 건의 한함
12
P_CSHR_TAX 현금영수증 부가가치세
* 현금영수증 발행요청 건의 한함
12
P_CSHR_SRVC_AMT 현금영수증 봉사료
* 현금영수증 발행요청 건의 한함
12
P_CSHR_TYPE 현금영수증 거래구분 ["0": 소득공제용, "1": 지출증빙용]
* 현금영수증 발행요청 건의 한함
1
P_CSHR_DT 현금영수증 발행일자 [YYYYMMDDhhmmss]
* 현금영수증 발행요청 건의 한함
14
P_CSHR_AUTH_NO 현금영수증 발행승인번호
* 현금영수증 발행요청 건의 한함
9

 
 
 

에스크로 구매결정


모바일 에서 에스크로 구매결정 시 호출URL 과 파라미터에 대하여 안내합니다.


구매결정URL : https://mobile.inicis.com/smart/payment/

HTTP Method : POST
Accept-charset : EUC-KR

<< 구매결정 요청파라미터 >>

파라미터 설명 필수(O/X) SIZE(Byte)
P_INI_PAYMENT "ESCROWCONFIRM" 고정 O 10
P_MID 결제요청 시 설정한 P_MID 값 O 10
P_ESCROW_TID 에스크로 결제 승인 TID O 40
P_NEXT_URL 결과 수신 URL
* https(http)가 포함된 전체 URL (URL 내 get방식 파라미터 사용불가)
O N/A
P_NEXT_URL_TARGET 결과 수신 방법 [socket, get, post] * Default: socket
  get, post 방식은 완료 후 가맹점 페이지로 해당 방식으로 전환되며,
  socket 방식은 NOTI로 해당 값을 통보하며 사용자페이지는 닫힙니다.
X 10
P_RESERVED 복합파라미터
구매확인만 표시 : value="escrow_purchase_opt=verify"
구매거절만 표시 : value="escrow_purchase_opt=deny"
* Default: 구매확인/거절 모두 표시
X N/A

<< 구매결정 응답파라미터 >>

* 참고)  1. 모바일 구매결정 응답파라미터는 추후 요건에 의해 추가될 수 있습니다.
2. 실패 응답시 일부 파라미터 응답이 null 일 수 있습니다.


파라미터 설명 SIZE(Byte)
P_ESCROW_TID 전달된 에스크로 TID 40
P_CL_STATUS 구매결정/구매거절여부 [buyComplete:구매결정, denyComplete:구매거절] 12
P_STATUS 구매결정, 구매거절에 대한 결과코드 값 [00:정상처리]   response
×

구매결정 상태별 결과코드


P_STATUS (결과코드) P_RMESG1 (결과메세지)
00 정상 처리 완료
00 기 구매거절 거래
* 기존 구매거절 상태에서 구매결정 또는 구매거절 요청 시
310004 결제 기 통보 거래
310006 취소 불가 지불수단
310014 기 구매확인 거래
310015 구매확인 불가 거래상태
310017 구매거절 불가 거래상태
310020 구매결정 할 수 없는 상태
310026 원거래 없음
6
P_RMESG1 처리결과메시지 (urlEncode 전달) N/A
P_PG_IP 처리된 승인서버 IP N/A