거래조회
KG 이니시스 거래건을 조회하기 위한 API 서비스
Quick Guide
샘플 다운로드
개발 언어에 맞는 샘플을
다운로드 받아 주세요.
결제승인 TID 세팅
조회할 결제승인 TID 를 세팅해주세요.
테스트 실행 및 결과확인
결제 진행과정과
응답결과를 확인해 주세요.
실제 연동진행
가맹점 실서버 환경에 맞게
연동을 진행해주세요.
연동 준비하기
거래조회 API 연동 전, 체크해야할 사항을 안내드립니다.
MID상점아이디
계약 완료 여부, 사용 가능 지불 수단 등은 계약담당자 문의INIAPI key대칭키
가맹점관리자 ▶ 상점정보 ▶ 계약정보 ▶ 부가정보 ▶ INIAPI key 생성조회방화벽정보
항목 | 스테이징환경 | 운영환경 |
---|---|---|
URL | stginiapi.inicis.com | iniapi.inicis.com |
IP | 118.129.210.153 | 118.129.210.166 183.109.71.79 |
PORT | 443 | |
연결방향 | OUTBOUND | |
프로토콜 | TLS 1.2 이상 지원 |
STEP1거래조회 요청
거래조회 요청정보
- 요청전문 형식 : JSON NVP
- 거래조회 URL : https://iniapi.inicis.com/api/v1/extra
- Header 정보
POST /api/v1/extra HTTP/1.1
Host: iniapi.inicis.com
Content-type: application/x-www-form-urlencoded;charset=utf-8
- 유의사항
각 파라미터는 key=value 로 세팅하여 POST 로 API 요청 ( JSON방식 요청불가 )
Form data 세팅 후 API 통신 구간에서 모든 value를 urlEncode 하여 전송
- 거래조회 가능 지불수단
신용카드, 계좌이체, 가상계좌, 휴대폰, 알리페이 (그 외 지불수단 미지원)
type* | 요청서비스 ["Extra" 고정] |
7 byte
|
---|---|---|
paymethod* | 지불수단 코드 ["Inquiry" 고정] |
10 byte
|
timestamp* | 전문생성시간 [YYYYMMDDhhmmss] |
14 byte
|
clientIp* | 가맹점 요청 서버IP (추후 거래 확인 등에 사용됨) |
15 byte
|
mid* | 상점아이디 |
10 byte
|
originalTid* | 원 승인 거래 TID |
40 byte
|
oid | 주문번호 "주문번호 중복방지" 계약 시, originalTid 값 없이 oid 로만 거래조회 가능 가상계좌, 빌링(정기과금) 거래는 oid 를 통한 거래조회 기능 미지원 -> originalTid 로 조회 필요 |
80 byte
|
hashData* | SHA512 HASH 한 값 대상 : INIAPIKey + type + paymethod + timestamp + clientIp + mid |
HASH
128 byte
|
거래조회 요청정보
- 요청전문 형식 : JSON NVP
- 거래조회 URL : https://iniapi.inicis.com/v2/pg/inquiry
- Header 정보
POST v2/pg/inquiry HTTP/1.1
Host: iniapi.inicis.com
Content-type: application/json
- 거래조회 가능 지불수단
신용카드, 계좌이체, 가상계좌, 휴대폰, 알리페이, 위쳇페이 (그 외 지불수단 미지원)
mid* | String | 상점아이디 |
10 byte
|
---|---|---|---|
type* | String | 요청서비스 ["inquiry" 고정] |
6 byte
|
timestamp* | String | 전문생성시간 [YYYYMMDDhhmmss] |
14 byte
|
clientIp* | String | 가맹점 요청 서버IP (추후 거래 확인 등에 사용됨) |
15 byte
|
hashData* | String | SHA512 HASH 한 값 대상 : INIAPIKey + mid + type + timestamp + data |
HASH
128 byte
|
data* | Data | 요청데이터 |
N/A
|
Data 상세 | |||
tid | String | 거래 아이디 (TID 거래조회 시) |
40 byte
|
oid | String | 가맹점 주문번호 (주문번호 거래조회 시) "주문번호 중복방지" 계약 시, tid 값 없이 oid 로만 거래조회 가능 |
80 byte
|
STEP2거래조회 응답
※ 유의사항
해당 응답파라미터는 모든 프로세스 종료 후 최종적으로 전달되는 결과값 입니다.
- 응답파라미터는 추후 요건에 의해 추가될 수 있습니다.
- 실패 응답 시, 일부 파라미터 응답이 null 일 수 있습니다.
- 응답형식은 JSON 형식 입니다.
resultCode | 결과코드 "00":성공, 이외 실패 |
6 byte
|
---|---|---|
resultMsg | 결과메세지 |
100 byte
|
tid | 거래번호 |
40 byte
|
price | 거래금액 |
12 byte
|
status | 거래상태
["0":승인, "1":취소, "9":거래없음] 가상계좌 거래 시 ["N":입금대기, "Y":입금완료, "C":입금 전 취소] |
1 byte
|
paymethod | 지불수단 해외결제만 전달 |
10 byte
|
oid | 주문번호 해외결제만 전달 |
80 byte
|
applNum | 승인번호 해외결제만 전달 |
50 byte
|
priceExchange | 원화승인금액 해외결제만 전달 |
byte
|
rtExchange | 환율 해외결제만 전달 (은련카드 제외) |
12 byte
|
applDate | 승인일자 ISP결제만 전달 |
8 byte
|
applTime | 승인시간 ISP결제만 전달 |
6 byte
|
- 원거래TID, OID 조회 응답
- 부분취소TID 조회 응답
resultCode | String | 결과코드 "SUCCESS":성공, 이외 실패 |
7 byte
|
||
---|---|---|---|---|---|
resultMsg | String | 결과메세지 |
100 byte
|
||
tid | String | 거래번호 |
40 byte
|
||
mid | String | 상점 아이디 |
10 byte
|
||
oid | String | 가맹점 주문번호 |
50 byte
|
||
price | String | 결제한 금액 |
12 byte
|
||
goodsName | String | 결제한 상품명 |
80 byte
|
||
paymethod | String | 지불수단 신용카드:"Card", ISP:"VCard" 핸드폰:"HPP" 계좌이체:"DirectBank" 가상계좌:"VBank" 알리페이:"APAY", 위챗페이:"TPAY" |
10 byte
|
||
approvedDate | String | 승인일자 (YYYYMMDD) |
8 byte
|
||
approvedTime | String | 승인시간 (hhmmss) |
6 byte
|
||
buyerName | String | 구매자 이름 |
30 byte
|
||
buyerTel | String | 구매자 전화번호 |
29 byte
|
||
buyerMail | String | 구매자 이메일주소 |
30 byte
|
||
transactionStatus | String | 거래상태 "APPROVAL":승인, "CANCEL":전체취소, "PART_CANCEL":부분취소 가상계좌의 경우, "DEPOSIT_COMPLETED":입금완료, "NON_DEPOSIT":미입금 "DEPOSIT_CANCELED":입금취소, "WAITING_FOR_REFUND":입금 후 환불 대기 "REFUND_COMPLETED":입금 후 환불 완료 |
N/A
|
||
availablePartCancel | Boolean | 부분취소 가능여부 가능:"true", 불가능:"false" |
N/A
|
||
cancelDate | String | 취소일자 (YYYYMMDD) 거래상태가 전체취소(CANCEL)이거나 재승인방식(HPP)인 경우 응답 |
8 byte
|
||
cancelTime | String | 취소시간 (hhmmss) 거래상태가 전체취소(CANCEL)이거나 재승인방식(HPP)인 경우 응답 |
6 byte
|
||
availablePartCancelPrice | String | 부분취소 가능 금액 거래상태가 부분취소(PART_CANCEL)인 경우 응답 |
N/A
|
||
partCancelTransInfo | JSON Object | 부분취소 거래정보 부분취소 상세 정보 참고 거래상태가 부분취소(PART_CANCEL)인 경우 응답 |
N/A
|
||
cardInfo | JSON Object | 카드 거래 상세정보 지불수단 별 상세 정보 참고 |
N/A
|
||
acctInfo | JSON Object | 계좌이체 거래 상세정보 지불수단 별 상세 정보 참고 |
N/A
|
||
vacctInfo | JSON Object | 가상계좌 거래 상세정보 지불수단 별 상세 정보 참고 |
N/A
|
||
cashReceiptInfo | JSON Object | 현금영수증 거래 상세정보 지불수단 별 상세 정보 참고 |
N/A
|
||
foreignTransInfo | JSON Object | 해외지불수단 거래 상세정보 지불수단 별 상세 정보 참고 |
N/A
|
||
부분취소/지불수단 별 상세 정보 | |||||
cardInfo | acctInfo | vacctInfo | cashReceiptInfo | foreignTransInfo | partCancelTransInfo |
approvedNumber | String | 카드 승인번호 |
8 byte
|
||
cardNumber | String | 카드번호 |
16 byte
|
||
isInterestFree | Boolean | 무이자할부 여부 true: 무이자 / false: 일반 |
N/A
|
||
cardQuota | String | 할부기간 |
2 byte
|
||
cardName | String | 카드사명 |
32 byte
|
||
cardCode | String | 카드사코드 |
2 byte
|
||
issuerName | String | 발급사명 |
50 byte
|
||
issuerCode | String | 발급사 코드 |
2 byte
|
||
approvedAmount | String | 실승인금액 |
12 byte
|
||
pointAmount | String | 포인트 금액 |
12 byte
|
||
instantDiscountAmount | String | 즉시할인금액 |
12 byte
|
||
currencyCode | String | 통화코드 |
3 byte
|
||
exchangePrice | String | 달러 환전금액 |
19 byte
|
||
exchangeRate | String | 적용환율 |
30 byte
|
||
bankCode | String | 은행코드 |
2 byte
|
||
bankName | String | 은행명 |
256 byte
|
||
accountName | String | 계좌주명 |
30 byte
|
||
accountNumber | String | 가상계좌번호 |
16 byte
|
||
bankName | String | 가상계좌 은행명 |
256 byte
|
||
bankCode | String | 가상계좌 은행코드 |
2 byte
|
||
accountName | String | 가상계좌 예금주명 |
30 byte
|
||
senderName | String | 송금자명 |
32 byte
|
||
validDate | String | 입금기한일자 |
8 byte
|
||
validTime | String | 입금기한시간 |
6 byte
|
||
depositStatus | String | 입금여부 "DEPOSIT_COMPLETED":입금완료, "NON_DEPOSIT":미입금 "DEPOSIT_CANCELED":입금취소, "WAITING_FOR_REFUND":입금 후 환불 대기 "REFUND_COMPLETED":입금 후 환불 완료 |
N/A
|
||
depositBankName | String | 입금은행명 |
10 byte
|
||
depositBankCode | String | 입금은행 코드 |
2 byte
|
||
depositAmount | String | 입금금액 |
19 byte
|
||
depositName | String | 입금자명 |
20 byte
|
||
depositDate | String | 입금일자 |
8 byte
|
||
depositTime | String | 입금시간 |
6 byte
|
||
refundBankName | String | 전액환불요청 계좌 은행명 |
200 byte
|
||
refundBankCode | String | 전액환불요청 계좌 은행코드 |
2 byte
|
||
refundAccountNumber | String | 전액환불요청 계좌번호 |
30 byte
|
||
refundAccountName | String | 전액환불요청 계좌 예금주명 |
30 byte
|
||
refundDate | String | 전액환불 완료일자 |
8 byte
|
||
refundTime | String | 전액환불 완료시간 |
6 byte
|
||
issueStatus | String | 발행구분 "APPROVAL":승인, "CANCEL":취소 또는 부분취소 "NOT_FOUND_PAYMENT":해당거래 없음 |
byte
|
||
approvedDate | String | 발행일자 |
8 byte
|
||
approvedTime | String | 발행시간 |
6 byte
|
||
approvedNumber | String | 발행승인번호 |
12 byte
|
||
approvedResultCode | String | 발행결과코드 "IN_PROGRESS":전송대기, "COMPLETED":정상발급 "EXTERNAL_FAILED":국세청 오류, "INTERNAL_FAILED":자체거절 |
N/A
|
||
approvedResultMessage | String | 발행결과사유 |
200 byte
|
||
cancelDate | String | 취소일자 |
8 byte
|
||
cancelTime | String | 취소시간 |
6 byte
|
||
cancelApprovedNumber | String | 취소승인번호 |
9 byte
|
||
cancelResultCode | String | 취소결과코드 "IN_PROGRESS":전송대기, "COMPLETED":정상발급 "EXTERNAL_FAILED":국세청 오류, "INTERNAL_FAILED":자체거절 |
byte
|
||
cancelResultMessage | String | 취소결과사유 |
200 byte
|
||
currencyCode | String | 통화코드 |
3 byte
|
||
foreignTotalAmount | String | 외화거래금액 |
19 byte
|
||
koreanTotalAmount | String | 원화거래금액 |
10 byte
|
||
exchangeRate | String | 적용환율 |
30 byte
|
||
approvedNumber | String | 승인번호 |
12 byte
|
||
seqNo | String | 부분취소 순번 |
19 byte
|
||
tid | String | 부분취소 거래 아이디 |
40 byte
|
||
requestDate | String | 부분취소 요청일자 (YYYYMMDD) |
8 byte
|
||
requestTime | String | 부분취소 요청시간 (hhmmss) |
6 byte
|
||
requestPrice | String | 부분취소 요청금액 |
19 byte
|
||
remainingPrice | String | 부분취소 요청 후 잔여금액 |
19 byte
|
||
refundBankName | String | 부분환불요청 계좌 은행명 가상계좌의 경우 응답 |
200 byte
|
||
refundBankCode | String | 부분환불요청 계좌 은행코드 가상계좌의 경우 응답 |
2 byte
|
||
refundAccountNumber | String | 부분환불요청 계좌번호 가상계좌의 경우 응답 |
30 byte
|
||
refundAccountName | String | 부분환불 계좌 예금주명 가상계좌의 경우 응답 |
30 byte
|
||
refundDate | String | 부분환불 완료일자 가상계좌의 경우 응답 |
8 byte
|
||
refundTime | String | 부분환불 완료시간 가상계좌의 경우 응답 |
6 byte
|
resultCode | String | 결과코드 "SUCCESS":성공, 이외 실패 |
7 byte
|
---|---|---|---|
resultMsg | String | 결과메세지 |
100 byte
|
tid | String | 거래번호 |
40 byte
|
partCancelTransInfo | JSON Object | 부분취소 거래정보 부분취소 거래정보 상세 참고 |
N/A
|
부분취소 거래정보 상세 | |||
seqNo | String | 부분취소 순번 |
19 byte
|
tid | String | 부분취소 거래 아이디 |
40 byte
|
requestDate | String | 부분취소 요청일자 (YYYYMMDD) |
8 byte
|
requestTime | String | 부분취소 요청시간 (hhmmss) |
6 byte
|
requestPrice | String | 부분취소 요청금액 |
19 byte
|
remainingPrice | String | 부분취소 요청 후 잔여금액 |
19 byte
|
refundBankName | String | 부분환불요청 계좌 은행명 가상계좌의 경우 응답 |
200 byte
|
refundBankCode | String | 부분환불요청 계좌 은행코드 가상계좌의 경우 응답 |
2 byte
|
refundAccountNumber | String | 부분환불요청 계좌번호 가상계좌의 경우 응답 |
30 byte
|
refundAccountName | String | 부분환불 계좌 예금주명 가상계좌의 경우 응답 |
30 byte
|
refundDate | String | 부분환불 완료일자 가상계좌의 경우 응답 |
8 byte
|
refundTime | String | 부분환불 완료시간 가상계좌의 경우 응답 |
6 byte
|
STEP1부분취소 가능여부조회 요청
부분취소 가능여부조회 요청정보
- 거래조회 URL : https://iniapi.inicis.com/api/v1/extra
- Header 정보
POST /api/v1/extra HTTP/1.1
Host: iniapi.inicis.com
Content-type: application/x-www-form-urlencoded;charset=utf-8
- 유의사항
각 파라미터는 key=value 로 세팅하여 POST 로 API 요청 ( JSON방식 요청불가 )
Form data 세팅 후 API 통신 구간에서 모든 value를 urlEncode 하여 전송
type* | 요청서비스 ["Extra" 고정] |
7 byte
|
---|---|---|
paymethod* | 지불수단 코드 ["RepayChk" 고정] |
10 byte
|
timestamp* | 전문생성시간 [YYYYMMDDhhmmss] |
14 byte
|
clientIp* | 가맹점 요청 서버IP (추후 거래 확인 등에 사용됨) |
15 byte
|
mid* | 상점아이디 |
10 byte
|
originalTid* | 원 승인 거래 TID |
40 byte
|
hashData* | SHA512 HASH 한 값 대상 : INIAPIKey + type + paymethod + timestamp + clientIp + mid + originalTid |
HASH
128 byte
|
STEP2부분취소 가능여부조회 응답
※ 유의사항
해당 응답파라미터는 모든 프로세스 종료 후 최종적으로 전달되는 결과값 입니다.
- 응답파라미터는 추후 요건에 의해 추가될 수 있습니다.
- 실패 응답 시, 일부 파라미터 응답이 null 일 수 있습니다.
- 응답형식은 JSON 형식 입니다.
resultCode | 결과코드 "00":성공, 이외 실패 |
6 byte
|
---|---|---|
resultMsg | 결과메세지 |
100 byte
|
tid | 거래번호 |
40 byte
|
prtcCheckRemains | 부분취소 잔액 |
12 byte
|
prtcCheckCnt | 부분취소 진행 누적회차 |
4 byte
|
partCheckCode | 부분취소 가능여부 ["0": 불가능, "1": 가능] |
1 byte
|