결제 API
가맹점 서버에서 헥토파이낸셜 서버로 오픈뱅킹 결제를 요청합니다. 계좌등록(출금이체 등록)을 통해 등록된 계좌를 결제(고객 계좌에서 출금이체)를 진행 할 수 있습니다. 본 API 수행 결과로 고객의 계좌에서 가맹점의 오픈뱅킹 모계좌로 현금이 이동 됩니다.
API 정보
POST/v2/api/pay/confirm
Content-Type
application/json테스트
https://tbnpay.settlebank.co.kr/v2/api/pay/confirm운영
https://npay.settlebank.co.kr/v2/api/pay/confirm요청 파라미터
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└hdInfoAN(50)영문+숫자, 최대 50byte*전문정보 코드
전문정보 코드
*고정값
└mchtIdAN(8)영문+숫자, 최대 8byte*헥토파이낸셜에서 부여하는 고유 상점아이디
헥토파이낸셜에서 부여하는 고유 상점아이디
└mchtTrdNoAN(100)영문+숫자, 최대 100byte*상점주문번호
상점주문번호
*한글제외
└mchtCustIdAN(100)영문+숫자, 최대 100byte*
AES-256AES-256/ECB/PKCS5Padding + Base64 (Standard)상점에서 보내주는 고유 고객아이디 혹은 Unique 한 Key상점에서 보내주는 고유 고객아이디 혹은 Unique 한 Key
└reqDtN(8)숫자, 최대 8byte*요청일자
요청일자
*yyyyMMdd
└reqTmN(6)숫자, 최대 6byte*요청시간
요청시간
*HH24MISS
└trdAmtN(13)숫자, 최대 13byte*거래금액
거래금액
*출금할 금액(거래금액)
└bankCdN(3)숫자, 최대 3byte*출금은행코드
출금은행코드
*등록된 고객 출금은행 코드
└custAcntKeyAN(50)영문+숫자, 최대 50byte계좌번호키
계좌번호키
*출금이체 등록된 계좌의 일련번호
└splAmtN(13)숫자, 최대 13byte공급가액
공급가액
└vatN(13)숫자, 최대 13byte부가세
부가세
└svcAmtN(13)숫자, 최대 13byte봉사료
봉사료
└pmtPrdtNmAN(50)영문+숫자, 최대 50byte결제상품명
결제상품명
*결제한 상품명을 설정
└custAcntSumryAN(7)영문+숫자, 최대 7byte통장인자내용
통장인자내용
*고객의 통장에 찍힐 인자명
└csrcIssReqYnA(1)영문, 최대 1byte현금영수증 발행여부
현금영수증 발행여부
Y: 현금영수증 발행 N: 현금영수증 미발행└csrcIssPsblYnA(1)영문, 최대 1byte현금영수증 발행가능 여부
현금영수증 발행가능 여부
Y: 현금영수증 발행 가능 거래 N: 현금영수증 발행 불가 거래└taxTypeCdA(1)영문, 최대 1byte면세여부
면세여부
Y: 면세 N: 과세*csrcIssReqYn Y 발행일 경우 필수
└csrcRegPrposYnN(1)숫자, 최대 1byte용도구분
용도구분
0: 소득공제 1: 지출증빙*csrcIssReqYn Y 발행일 경우 필수
└csrcRegNoDivCdN(1)숫자, 최대 1byte발행정보 구분
발행정보 구분
1: 카드 2: 주민등록번호 3: 사업자등록 번호 4: 휴대폰번호*csrcIssReqYn Y 발행일 경우 필수
└csrcRegNoAN(20)영문+숫자, 최대 20byte
AES-256AES-256/ECB/PKCS5Padding + Base64 (Standard)발행정보발행정보
*csrcRegNoDivCd 값에 따른 실제값. csrcIssReqYn Y 발행일 경우 필수
└addDdtTypeCdA(1)영문, 최대 1byte추가공제구분
추가공제구분
Y: 대중교통 C: 도서, 공연비└custIpAN(15)영문+숫자, 최대 15byte고객 IP 주소
고객 IP 주소
*가맹점 서버의 IP가 아닌 고객 기기의 IP 주소
└pktHashAN(200)영문+숫자, 최대 200byte*
SHA-256SHA256 방식으로 생성한 해쉬값(실시간 생성)SHA256 방식으로 생성한 해쉬값
*상점아이디 + 고객아이디(평문) + 주문일자 + 주문시간 + 거래금액 + 출금은행코드 + 인증키
└subCpnNmAN(40)영문+숫자, 최대 40byte하위가맹점명
하위가맹점명
*거래가 발생한 하위가맹점명
└subCpnNoAN(20)영문+숫자, 최대 20byte하위가맹점번호
하위가맹점번호
*거래가 발생한 하위가맹점번호
└subCpnBizRegNoAN(10)영문+숫자, 최대 10byte하위가맹점 사업자등록번호
하위가맹점 사업자등록번호
*거래가 발생한 하위가맹점사업자등록번호
└lastStlAcntDprNmAN(20)영문+숫자, 최대 20byte최종정산계좌 예금주명
최종정산계좌 예금주명
*하위가맹점 정산계좌에 찍힐 통장 인자명 설정
└lastStlAcntBankCdAN(3)영문+숫자, 최대 3byte최종정산계좌 은행코드
최종정산계좌 은행코드
*하위가맹점 정산계좌 은행코드
└lastStlAcntNoAN(15)영문+숫자, 최대 15byte
AES-256AES-256/ECB/PKCS5Padding + Base64 (Standard)최종정산계좌 번호최종정산계좌 번호
*하위가맹점 정산계좌번호. 계좌번호 "-" 제외
요청 전문 해쉬 코드
| 항목 | 조합 필드 |
|---|---|
| pktHash 값 | 상점아이디 + 고객아이디(평문) + 주문일자 + 주문시간 + 거래금액 + 출금은행코드 + 인증키 |
응답 파라미터
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└outStatCdAN(4)영문+숫자, 최대 4byte*거래상태코드 (성공/실패)
거래상태코드 (성공/실패)
0021: 성공 0031: 실패└outRsltCdAN(4)영문+숫자, 최대 4byte*거절코드
거절코드
*거절코드 테이블 참조
└outRsltMsgAN(200)영문+숫자, 최대 200byte*결과메시지
정상처리되었습니다.결과메시지
*오류가 발생시 오류에 대한 메시지 전달
└trdNoAN(50)영문+숫자, 최대 50byte*헥토파이낸셜 거래번호
STFP_FIRM12345678901234567890헥토파이낸셜 거래번호
└trdAmtN(13)숫자, 최대 13byte*거래금액
1000거래금액
*출금한 금액 (거래금액)
└mchtTrdNoAN(100)영문+숫자, 최대 100byte*상점 주문번호
OID201902210001상점 주문번호
*한글제외
└svcDivCdN(4)숫자, 최대 4byte*결제시 사용된 서비스
결제시 사용된 서비스
1: 펌뱅킹 2: 오픈뱅킹*결제(출금이체)된 서비스
└obPsblYnAN(1)영문+숫자, 최대 1byte오픈뱅킹 사용가능여부
오픈뱅킹 사용가능여부
Y: 사용 N: 미사용*출금은행 오픈뱅킹 사용가능 여부
└macntNoAN(24)영문+숫자, 최대 24byte
AES-256AES-256/ECB/PKCS5Padding모계좌 계좌번호모계좌 계좌번호
*모계좌 계좌번호 "-" 제외
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
요청 예시
{
"hdInfo": "SPAY_RP0W_1.0",
"mchtId": "midtest",
"mchtTrdNo": "OID201902210001",
"mchtCustId": "AES암호화된고객아이디",
"reqDt": "20191231",
"reqTm": "120000",
"trdAmt": "1000",
"bankCd": "004",
"custAcntKey": "d894kjd93kd9",
"splAmt": "0",
"vat": "0",
"svcAmt": "0",
"pmtPrdtNm": "상품명",
"custAcntSumry": "김헥토",
"csrcIssReqYn": "N",
"csrcIssPsblYn": "N",
"custIp": "127.0.0.1",
"pktHash": "해시값"
}
응답 예시
{
"outStatCd": "0021",
"outRsltCd": "0000",
"outRsltMsg": "정상처리되었습니다.",
"trdNo": "STFP_FIRM12345678901234567890",
"trdAmt": "1000",
"mchtTrdNo": "OID201902210001",
"svcDivCd": "2",
"obPsblYn": "Y"
}
