CBT결제
KG이니시스 결제창을 호출하여 CBT 결제를 제공하는 서비스
Quick Guide
샘플 다운로드
개발 언어에 맞는 샘플을
다운로드 받아 주세요.
리턴 URL 수정
결제요청페이지 도메인과 일치하도록
리턴 URL을
수정해 주세요.
테스트 실행 및 결과확인
결제 진행과정과
응답결과를 확인해 주세요.
실제 연동진행
가맹점 실서버 환경에 맞게
연동을 진행해주세요.
Service Flow
CBT결제 서비스 흐름에 대해 안내드립니다.
연동 준비하기
CBT결제 연동 전, 체크해야할 사항을 안내드립니다.
인터페이스 안내
- 모든 인터페이스는 HTTPS 프로토콜 로 호출해야한다.
- 동일한 파라미터를 사용하여 여러 값을 넘겨주는 경우는 없다.
- 주요 개인정보 및 금융거래 정보는 암호화 하여 전달한다.
- charset은 UTF-8 로 한다.
- 하위호환성을 보장하기 위한 사항을 반영해야 한다.
Cross-Site Scripting(XSS) 방지 문자 치환
- 모든 파라미터에 대해서는 아래의 특수문자를 치환하며, 치환된 문자로 MaxSize 를 계산한다.
<< >> (( )) \/ << >> (( )) //
방화벽정보
- 개발계 : https://devcbt.inicis.com/ 모듈 테스트 단계에서 사용
- 운영계 : https://cbt.inicis.com/ 반드시, 실제사용 MID 가 발급된 후 테스트/사용
구분 | 서비스 방화벽 | NOTI 방화벽 | ||
---|---|---|---|---|
항목 | 운영환경 | 개발환경 | 운영환경 | 개발환경 |
URL | cbt.inicis.com | devcbt.inicis.com | - | - |
IP | 118.129.210.46 183.109.71.46 |
183.109.71.154 | 203.238.37.15 39.115.212.9 |
203.238.37.80 39.115.212.200 |
PORT | 443 | |||
연결방향 | OUTBOUND | INBOUND | ||
프로토콜 | TLS 1.2 이상 지원 |
STEP1결제인증 요청
※ 유의사항
CBT결제 연동 시 유의할 사항에 대하여 안내드립니다.
유의사항을 준수하지 않음으로 인해 발생되는 문제에 대하여는 당사에서 책임지지 않습니다.
- CBT 시스템의 인터페이스 연동 방식은 HTTP 1.1 규격을 따르며, HTTPS 프로토콜을 사용합니다.
- HTTP Request Method는 POST 이며, 데이터 타입은 Form Data, Respones 데이터 타입은 Form Data 또는 JSON 을 사용합니다.
- 모든 인터페이스 MaxSize 는 Cross-Site-Scripting(XSS) 방지 문자 치환 에 따라 결정됩니다.
CBT결제 요청정보
- CBT결제 요청URL : https://cbt.inicis.com/cbtauth
- Content-Type : application/x-www-form-urlencoded;charset=utf-8
- HTTP Method : POST
- cbtType : JPPG
- cbtType : SBPS
cbtType* | String | JPPG (고정) |
4 byte
|
||
---|---|---|---|---|---|
mid* | String | 상점 아이디 |
10 byte
|
||
timestamp* | String | 결제요청 생성시간 (yyyyMMddHHmmss) |
14 byte
|
||
returnUrl* | String | 인증결과 응답 URL |
100 byte
|
||
buyerName* | String | 구매자명 |
30 byte
|
||
buyerTel | String | 구매자 전화번호 |
40 byte
|
||
buyerEmail | String | 구매자 이메일주소 |
60 byte
|
||
goodName* | String | 상품명 |
80 byte
|
||
amount* | String | 금액 |
12 byte
|
||
orderId* | String | 주문번호 반드시 Unique 값으로 생성 (거래추적 시 사용됨) |
64 byte
|
||
hashData* | String | SHA512 HASH 한 값 대상 : INIAPIKey + mid + timestamp + amount + orderId |
HASH
128 byte
|
||
extraData* | JSON String | Custom 옵션 정보 extraData 상세 참고 |
세팅예시
N/A
|
||
extraData 상세 | |||||
paymentUI | colorTheme | String | 결제창 색상 색상표 참고 (Default : blue1) |
색상표
N/A
|
|
logoUrl | String | 가맹점 로고 이미지 URL(69 * 20) | N/A |
||
language | String | 결제창 언어 ["JP" 고정] Default : JP |
N/A |
||
payment | paymethod | String[] | 결제창 내 사용 지불수단 |
지불수단
N/A
|
|
card | payType | String[] | 결제방식 (일시불, 할부 등) ["one" : 일시불 , "installments" : 할부] |
N/A |
|
installMonth | Integer[] | 사용할 할부 개월 수 payType이 installments 일 경우 할부개월 수 지정 기능 [3, 5, 6, 10, 12] 이외 할부개월 사용 불가 |
N/A |
||
cvs (편의점 선택 시, 필수) |
notiUrl* | String | 편의점 입금결과 return 받을 URL |
100 byte
|
|
contactInfo* | String | 영수증에 표기 될 가맹점명 |
42 byte
|
||
contactTelNum* | String | 영수증에 표기 될 가맹점 연락처 |
12 byte
|
||
contactHours* | String | 영수증에 표기 될 가맹점 영업시간 형식 : hh:mm-hh:mm |
11 byte
|
||
customerKana* | String | 고객명의 후리가나 - 성(성명의 읽는 법 표기, 가나문자) |
20 byte
|
||
customerFirstKana* | String | 고객명의 후리가나 - 이름(성명의 읽는 법 표기, 가나문자) |
20 byte
|
||
paymentTermDay* | Integer | 입금 마감 기간 (최소 1일 ~ 최대 30일) 기본 값 10일 설정 SBPS인 경우 기본 값 30일 설정 |
N/A |
||
linepay | productImageUrl | String | 라인페이 결제창 내 표기 될 상품 이미지 URL (40*40) 기본 값 라인페이 기본 로고 출력 상품이미지 또는 상점 로고 설정 권장 |
N/A |
|
gmoPayment | merchantName* | String | 가맹점 명 예) 韓国ストア |
45 byte
|
|
merchantNameKana* | String | 가맹점 명(가맹점 명의 읽는 법 표기, 가나문자) 예) カンコクストア |
60 byte
|
||
merchantNameAlphabet* | String | 가맹점 명(영문) 예) Kankoku Store |
35 byte
|
||
merchantNameShort* | String | 가맹점 명 (약어) 예) カンコク |
45 byte
|
||
contactName* | String | 가맹점 연락처 정보 이름 예) サポート窓口 |
63 byte
|
||
contactEmail* | String | 가맹점 연락처 이메일 예) support@sample.com |
N/A
|
||
contactPhone* | String | 가맹점 연락처 예) 080-1234-5678 |
N/A
|
||
contactOpeningHours* | String | 가맹점 문의 창구 영업시간(HH:MM-HH:MM 예) 10:00-18:00 |
N/A
|
cbtType* | String | SBPS (고정) |
4 byte
|
||
---|---|---|---|---|---|
mid* | String | 상점 아이디 |
10 byte
|
||
timestamp* | String | 결제요청 생성시간 (yyyyMMddHHmmss) |
14 byte
|
||
returnUrl* | String | 인증결과 응답 URL |
100 byte
|
||
buyerName* | String | 구매자명 |
30 byte
|
||
buyerTel | String | 구매자 전화번호 |
40 byte
|
||
buyerEmail | String | 구매자 이메일주소 |
60 byte
|
||
goodName* | String | 상품명 |
80 byte
|
||
amount* | String | 금액 |
12 byte
|
||
orderId* | String | 주문번호 반드시 Unique 값으로 생성 (거래추적 시 사용됨) |
64 byte
|
||
hashData* | String | SHA512 HASH 한 값 대상 : INIAPIKey + mid + timestamp + amount + orderId |
HASH
128 byte
|
||
extraData* | JSON String | Custom 옵션 정보 extraData 상세 참고 |
세팅예시
N/A
|
||
extraData 상세 | |||||
paymentUI | colorTheme | String | 결제창 색상 색상표 참고 (Default : blue1) |
색상표
N/A
|
|
logoUrl | String | 가맹점 로고 이미지 URL(69 * 20) | N/A |
||
language | String | 결제창 언어 ["JP" 고정] Default : JP |
N/A |
||
payment | paymethod | String[] | 결제창 내 사용 지불수단 |
지불수단
N/A
|
|
card | payType | String[] | 결제방식 (일시불, 할부 등) ["one" : 일시불 , "installments" : 할부] |
N/A |
|
installMonth | Integer[] | 사용할 할부 개월 수 payType이 installments 일 경우 할부개월 수 지정 기능 [3, 5, 6, 10, 12] 이외 할부개월 사용 불가 |
N/A |
||
linepay | productImageUrl | String | 라인페이 결제창 내 표기 될 상품 이미지 Url (40*40) 기본 값 라인페이 기본 로고 출력 상품이미지 또는 상점 로고 설정 권장 |
N/A |
|
sbpsPayment | userId* | String | 고객 ID |
30 byte
|
cbtType* | String | CBT 결제방식
("JPPG" , "SBPS" 선택 사용) 1개의 MID에 양립 사용 불가능 mid 및 cbtType 계약관계는 영업/계약담당자 확인 |
4 byte
|
---|---|---|---|
mid* | String | 상점 아이디 |
10 byte
|
timestamp* | String | 결제요청 생성시간 (yyyyMMddHHmmss) |
14 byte
|
returnUrl* | String | 인증결과 응답 URL |
100 byte
|
buyerName* | String | 구매자명 |
30 byte
|
buyerTel | String | 구매자 전화번호 |
40 byte
|
buyerEmail | String | 구매자 이메일주소 |
60 byte
|
goodName* | String | 상품명 |
80 byte
|
amount* | String | 금액 |
12 byte
|
orderId* | String | 주문번호 반드시 Unique 값으로 생성 (거래추적 시 사용됨) |
64 byte
|
hashData* | String | SHA512 HASH 한 값 대상 : INIAPIKey + mid + timestamp + amount + orderId |
HASH
128 byte
|
extraData* | JSON String | Custom 옵션 정보 Custom 옵션 정보 내 JSON 데이터 참고 |
세팅예시
N/A
|
Custom 옵션 정보
paymentUI | colorTheme | String | 결제창 색상 색상표 참고 (Default : blue1) |
색상표
N/A
|
|
---|---|---|---|---|---|
logoUrl | String | 가맹점 로고 이미지 URL(69 * 20) | N/A |
||
language | String | 결제창 언어 ["JP" 고정] Default : JP |
N/A |
||
payment | paymethod | String[] | 결제창 내 사용 지불수단 ["CARD","CVS","PAYpay","LINEpay"] |
지불수단
N/A |
|
card | payType | String[] | 결제방식 ["one" : 일시불 , "installments" : 할부] default 시, 모두 지정 |
N/A |
|
installMonth | Integer[] | 사용할 할부 개월 수 [3, 5, 6, 10, 12] 이외 할부개월 사용 불가 default 시, 모든 할부개월 노출 |
N/A |
||
merchantName | String | 가맹점 명 예) 韓国ストア cbtType 이 "JPPG" 인 경우, 필수 |
45 byte |
||
merchantNameKana | String | 가맹점 명(가맹점 명의 읽는 법 표기, 가나문자) 예) カンコクストア cbtType 이 "JPPG" 인 경우, 필수 |
60 byte |
||
merchantNameAlphabet | String | 가맹점 명(영문) 예) Kankoku Store cbtType 이 "JPPG" 인 경우, 필수 |
35 byte |
||
merchantNameShort | String | 가맹점 명(약어) 예) カンコク cbtType 이 "JPPG" 인 경우, 필수 |
45 byte |
||
contactName | String | 가맹점 연락처 정보 이름 예) サポート窓口 cbtType 이 "JPPG" 인 경우, 필수 |
63 byte |
||
contactEmail | String | 가맹점 연락처 이메일 예) support@sample.com cbtType 이 "JPPG" 인 경우, 필수 |
N/A |
||
contactPhone | String | 가맹점 연락처 예) 080-1234-5678 cbtType 이 "JPPG" 인 경우, 필수 |
N/A |
||
contactOpeningHours | String | 가맹점 문의 창구 영업시간(HH:MM-HH:MM) 예) 10:00-18:00 cbtType 이 "JPPG" 인 경우, 필수 |
N/A |
||
cvs * 편의점 선택 시, 필수 |
notiUrl* | String | 편의점 입금결과 return 받을 URL |
100 byte
|
|
contactInfo | String | 영수증에 표기 될 가맹점명 |
42 byte
|
||
contactTelNum | String | 영수증에 표기 될 가맹점 연락처 |
12 byte
|
||
contactHours | String | 영수증에 표기 될 가맹점 영업시간 형식 : hh:mm-hh:mm |
11 byte
|
||
customerKana | String | 고객명의 후리가나 (성명의 읽는 법 표기, 가나문자) |
100 byte
|
||
paymentTermDay | Integer | 입금 마감 기간 (최소 1일 ~ 최대 30일) 기본 값 10일 설정 |
N/A |
||
linepay | productImageUrl | String | 라인페이 결제창 내 표기 될 상품 이미지 Url (40*40) 기본 값 라인페이 기본 로고 출력 상품이미지 또는 상점 로고 설정 권장 |
N/A |
|
sbpsPayment * SBPS 선택 시, 필수 |
userId | String | 고객 ID |
30 byte
|
STEP 2결제인증 결과
※ 유의사항
- 정상처리 (resultCode:OK) 일 경우는 응답필드가 전부 전송됩니다.
- 처리결과에 따라 resultCode, errorCode, resultMsg 이외의 값은 전송되지 않을 수 있습니다.
resultCode | String | 인증결과 코드 정상 : "OK" , 실패 : "FAIL" |
10 byte
|
---|---|---|---|
errorCode | String | 상세 오류코드 |
10 byte
|
resultMsg | String | 인증결과 메시지 |
N/A
|
orderID | String | 가맹점이 입력한 주문번호 |
64 byte
|
mid | String | 이니시스 가맹점 ID |
10 byte
|
sid | String | 거래 인증ID 결제에러 문의시에 유니크값으로 사용 , 가맹점 DB 저장 권장 |
27 byte
|
paymethod | String | 인증 시 선택한 결제수단 |
지불수단
N/A
|
STEP 3결제승인 요청
결제승인 요청정보
- 결제승인 요청 URL : https://cbt.inicis.com/cbtapprove
- HTTP Method : POST
- 통신방식 : http-Client 통신
- Content-Type : application/x-www-form-urlencoded;charset=utf-8
mid* | String | 이니시스 가맹점 ID |
10 byte
|
---|---|---|---|
sid* | String | 거래 인증 ID |
27 byte
|
STEP 4결제승인 응답
※ 유의사항
해당 응답파라미터는 모든 프로세스 종료 후 최종적으로 전달되는 응답파라미터 입니다.
- 응답파라미터는 추후 요건에 의해 추가될 수 있습니다.
- 실패 응답 시, 일부 파라미터 응답이 null 일수 있습니다.
- 응답형식은 JSON 형식 입니다.
resultCode | String | 승인결과 코드 정상 : "OK" , 실패 : "FAIL" |
공통
10 byte
|
---|---|---|---|
errorCode | String | 상세 오류코드 |
공통
10 byte
|
resultMsg | String | 승인결과 메시지 |
공통
N/A
|
tid | String | 이니시스 승인거래 ID |
공통
40 byte
|
applDate | String | 승인 일자(YYYYMMDD) * 편의점 거래는 승인일자가 아닌 거래 생성일자 |
공통
8 byte
|
applTime | String | 승인 시간(HHMMSS) * 편의점 거래는 승인일시가 아닌 거래 생성일시 |
공통
6 byte
|
paymethod | String | 승인된 결제 수단 |
지불수단
공통
N/A
|
cardCode | String | 카드사 코드 |
카드코드
신용카드
2 byte
|
approve | String | 일본원천 지불사 결제 승인번호 |
신용카드
7 byte
|
payType | String | 승인 결제 방식 "one" : 일시불 , "installments" : 할부 |
신용카드
N/A
|
installMonth | String | 승인 할부 개월 수 "00" : 일시불, 그외 03, 05, 06, 10 ,12 |
신용카드
2 byte
|
convenience | String | 편의점 결제 코드 |
지불수단
편의점
5 byte
|
confNo | String | 편의점 결제 확인번호 |
편의점
20 byte
|
receiptNo | String | 편의점 결제 접수번호 |
편의점
32 byte
|
paymentTerm | String | 편의점 결제 입금 마감 일시 (YYYYMMDDHHMMSS) |
편의점
14 byte
|
bokuChargeId | String | 결제 승인 ID 일본결제 시, 사용되지 않는 파라미터입니다. (null) |
BOKU
24 byte
|
bokuApplCurrency | String | 승인 통화 코드 일본결제 시, 사용되지 않는 파라미터입니다. (null) |
BOKU
3 byte
|
bokuApplPrice | String | 승인 금액 일본결제 시, 사용되지 않는 파라미터입니다. (null) |
BOKU
12 byte
|
bokuLocalApplCurrency | String | 현지 승인 통화 코드 일본결제 시, 사용되지 않는 파라미터입니다. (null) |
BOKU
3 byte
|
bokuLocalApplPrice | String | 현지 승인 금액 일본결제 시, 사용되지 않는 파라미터입니다. (null) |
BOKU
18 byte
|
NOTI편의점 결제 승인 NOTI
편의점 결제는 이니시스에서 제공하는 입금기한 내 사용자가 편의점에서 직접 결제하기에 NOTI 전송을 사용합니다.
※ 유의사항
- KG이니시스에서 인입된 노티가 맞는지 IP 체크를 통해 반드시 확인하셔야 합니다.
- 리턴 메세지를 반드시 적용해주셔야 합니다.
상점 DB 등록 성공 유무에 따라서 성공시에는 "OK" 문자열만 응답되어야 합니다.
"OK" 문자열이 응답되지 않을 경우, 5분 주기로 10회까지 노티가 재전송됩니다. (* 향후 변경 가능)
JSP : out.print("OK");
PHP : echo "OK";
ASP : response.write "OK"
Servlet(JAVA) : System.out.print("OK");
- 로그를 반드시 작성해주시기 바랍니다. 로그는 문제 발생시 이니시스와 데이터를 확인할 수 있는 근거 데이터이므로 반드시 적용해주시기 바랍니다.
- 입금통보 노티전송 시 파라미터는 추후 요건에 의해 추가될 수 있습니다.
NOTI 전송 정보
- NOTI URL : 결제인증 요청 시 notiUrl
- Content-Type : application/json;charset=euc-kr
- HTTP Method : POST
tid | String | 이니시스 ID |
40 byte
|
---|---|---|---|
mid | String | 가맹점 MID |
10 byte
|
applDt | String | 승인일(YYYYMMDD) |
8 byte
|
applTm | String | 승인시간(HHMMSS) |
6 byte
|
status | String | 거래 상태 ( 정상 : "00" ) |
4 byte
|
payNm | String | 지불수단명 |
15 byte
|
orderId | String | 가맹점이 입력한 주문번호 |
10 byte
|
applNo | String | 승인번호 |
10 byte
|
sid | String | 거래 인증ID |
27 byte
|
convenience | String | 편의점 코드 |
지불수단
5 byte
|
confNo | String | 편의점 결제 확인번호 |
20 byte
|
receiptNo | String | 편의점 결제 접수번호 |
32 byte
|
paymentTerm | String | 편의점 결제 결제마감 시간 (YYYYMMDDHHMMSS) |
14 byte
|
amount | String | 승인금액 |
12 byte
|
currencyCd | String | 통화코드 |
3 byte
|