010가상계좌 환불 API
입금 완료된 010가상계좌 거래를 환불하는 API입니다.
테스트용 키 정보
API 정보
POST/spay/APIRefund.do
Content-Type
application/json테스트
https://tbgw.settlebank.co.kr/spay/APIRefund.do운영
https://gw.settlebank.co.kr/spay/APIRefund.do주의 사항
환불 서비스 등록 필수
환불 기능은 환불서비스가 등록된 상점에 한해 가능합니다. 환불 서비스 등록은 영업 담당자에게 문의하세요.
NOTE
테스트 환경 제한
테스트 환경에서는 실제 예금주명과 계좌번호로 환불 요청 시 오류가 발생합니다. 환불 테스트는 상용 환경에서 진행해 주세요.
요청 파라미터
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
params 객체
└mchtIdAN(10)영문+숫자, 최대 10byte*헥토파이낸셜에서 부여하는 고유 상점아이디
헥토파이낸셜에서 부여하는 고유 상점아이디
└verAN(4)영문+숫자, 최대 4byte*전문 버전
전문 버전
└methodA(2)영문, 최대 2byte*결제수단
결제수단
└bizTypeAN(2)영문+숫자, 최대 2byte*업무 구분코드
업무 구분코드
*C0: 환불
└encCdN(2)숫자, 최대 2byte*암호화 구분 코드
암호화 구분 코드
└mchtTrdNoAN(100)영문+숫자, 최대 100byte*환불용 상점주문번호 (새로 생성)
환불용 상점주문번호 (새로 생성)
└trdDtN(8)숫자, 최대 8byte*환불요청일자 (yyyyMMdd)
환불요청일자 (yyyyMMdd)
└trdTmN(6)숫자, 최대 6byte*환불요청시간 (HHmmss)
환불요청시간 (HHmmss)
└mobileYnA(1)영문, 최대 1byte모바일 여부
모바일 여부
Y: 모바일웹/앱 N: PC 또는 그 외└osTypeA(1)영문, 최대 1byteOS 구분
OS 구분
A: Android I: IOS W: Windows M: Mac E: 기타data 객체
└pktHashAN(64)영문+숫자, 최대 64byte*
SHA-256SHA256 방식으로 생성한 해쉬값(실시간 생성)SHA256 방식으로 생성한 해쉬값
*환불요청일자 + 환불요청시간 + 상점아이디 + 상점주문번호 + 환불금액(평문) + 해쉬키
└orgTrdNoAN(40)영문+숫자, 최대 40byte*채번시 헥토파이낸셜에서 발급한 거래번호
채번시 헥토파이낸셜에서 발급한 거래번호
└crcCdA(3)영문, 최대 3byte*통화구분
통화구분
└cnclOrdN(3)숫자, 최대 3byte*취소회차 (001부터 시작, 부분취소 2회차는 002)
취소회차 (001부터 시작, 부분취소 2회차는 002)
└taxTypeCdA(1)영문, 최대 1byte면세여부. 공백시 상점 기본 정보에 따름
면세여부. 공백시 상점 기본 정보에 따름
Y: 면세 N: 과세 G: 복합과세└cnclAmtN(9)숫자, 최대 9byte*
AES-256AES-256/ECB/PKCS5Padding + Base64환불금액환불금액
└taxAmtN(9)숫자, 최대 9byte
AES-256AES-256/ECB/PKCS5Padding + Base64환불금액 중 과세금액 (복합과세인 경우 필수)환불금액 중 과세금액 (복합과세인 경우 필수)
└vatAmtN(9)숫자, 최대 9byte
AES-256AES-256/ECB/PKCS5Padding + Base64환불금액 중 부가세금액 (복합과세인 경우 필수)환불금액 중 부가세금액 (복합과세인 경우 필수)
└taxFreeAmtN(9)숫자, 최대 9byte
AES-256AES-256/ECB/PKCS5Padding + Base64환불금액 중 면세금액 (복합과세인 경우 필수)환불금액 중 면세금액 (복합과세인 경우 필수)
└refundBankCdAN(3)영문+숫자, 최대 3byte*환불할 은행 코드
환불할 은행 코드
└refundAcntNoN(16)숫자, 최대 16byte*
AES-256AES-256/ECB/PKCS5Padding + Base64환불할 계좌 번호환불할 계좌 번호
└refundDpstrNmAHN(50)영문+한글+숫자, 최대 50byte*환불계좌의 예금주명
환불계좌의 예금주명
└cnclRsnAHN(255)영문+한글+숫자, 최대 255byte환불 사유 메세지
환불 사유 메세지
응답 파라미터
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
params 객체
└mchtIdAN(10)영문+숫자, 최대 10byte*상점아이디
nxva_sb_il상점아이디
└verAN(4)영문+숫자, 최대 4byte*전문 버전
0A18전문 버전
└methodA(2)영문, 최대 2byte*결제수단
VA결제수단
└bizTypeAN(2)영문+숫자, 최대 2byte*업무 구분코드
C0업무 구분코드
└encCdN(2)숫자, 최대 2byte*암호화 구분 코드
23암호화 구분 코드
└mchtTrdNoAN(100)영문+숫자, 최대 100byte*상점주문번호
REFUND20211231100000상점주문번호
└trdNoAN(40)영문+숫자, 최대 40byte*헥토파이낸셜 거래번호
STBK_0123456789헥토파이낸셜 거래번호
└trdDtN(8)숫자, 최대 8byte*환불요청일자
20211231환불요청일자
└trdTmN(6)숫자, 최대 6byte*환불요청시간
120000환불요청시간
└outStatCdAN(4)영문+숫자, 최대 4byte*거래상태코드
0021거래상태코드
0021: 성공 0031: 실패└outRsltCdAN(4)영문+숫자, 최대 4byte*결과코드 (0000인 경우 정상)
0000결과코드 (0000인 경우 정상)
└outRsltMsgAHN(200)영문+한글+숫자, 최대 200byte*결과메세지
정상적으로 처리되었습니다.결과메세지
data 객체
└pktHashAN(64)영문+숫자, 최대 64byte*응답 해쉬값
75ac014c33165f3ee0c331123a0049f37a6e1578f8cec1d3d0374ffb75f18496응답 해쉬값
└orgTrdNoAN(40)영문+숫자, 최대 40byte원거래번호
STBK_0123456789원거래번호
└cnclAmtN(9)숫자, 최대 9byte
AES-256AES-256/ECB/PKCS5Padding환불금액1000환불금액
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└blcAmtN(12)숫자, 최대 12byte
AES-256AES-256/ECB/PKCS5Padding환불 후 남은 취소 가능 잔액0환불 후 남은 취소 가능 잔액
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
요청 예시
{
"params": {
"mchtId": "nxva_sb_il",
"ver": "0A18",
"method": "VA",
"bizType": "C0",
"encCd": "23",
"mchtTrdNo": "REFUND20211231100000",
"trdDt": "20211231",
"trdTm": "120000",
"mobileYn": "N",
"osType": "W"
},
"data": {
"pktHash": "해시값",
"orgTrdNo": "STBK_0123456789",
"crcCd": "KRW",
"cnclOrd": "001",
"taxTypeCd": "N",
"cnclAmt": "AES암호화된환불금액",
"refundBankCd": "011",
"refundAcntNo": "AES암호화된계좌번호",
"refundDpstrNm": "홍길동"
}
}
응답 예시
성공
{
"params": {
"mchtId": "nxva_sb_il",
"ver": "0A18",
"method": "VA",
"bizType": "C0",
"encCd": "23",
"mchtTrdNo": "REFUND20211231100000",
"trdNo": "STBK_0123456791",
"trdDt": "20211231",
"trdTm": "120000",
"outStatCd": "0021",
"outRsltCd": "0000",
"outRsltMsg": "정상적으로 처리되었습니다."
},
"data": {
"pktHash": "응답해시값",
"orgTrdNo": "STBK_0123456789",
"cnclAmt": "AES암호화된환불금액",
"blcAmt": "AES암호화된잔액"
}
}
실패
{
"params": {
"mchtId": "nxva_sb_il",
"ver": "0A18",
"method": "VA",
"bizType": "C0",
"encCd": "23",
"mchtTrdNo": "REFUND20211231100000",
"trdNo": "",
"trdDt": "20211231",
"trdTm": "120000",
"outStatCd": "0031",
"outRsltCd": "0005",
"outRsltMsg": "환불서비스가 등록되지 않은 상점입니다."
},
"data": {}
}
