결제 취소 API
가맹점 서버에서 헥토파이낸셜 서버로 결제 취소/환불을 요청합니다.
결제(출금)된 거래건에 대하여 환불(결제취소)를 실행 합니다. 결제 거래건의 거래번호로 해당건의 환불을 진행할 수 있습니다.
API 정보
POST/v1/api/pay/cancel
Content-Type
application/json테스트
https://tbnpay.settlebank.co.kr/v1/api/pay/cancel운영
https://npay.settlebank.co.kr/v1/api/pay/cancel요청 파라미터
타입 표기법
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
└mchtTrdDtN(8)숫자, 최대 8byte*취소주문일자
취소주문일자
*yyyyMMdd
└mchtTrdTmN(6)숫자, 최대 6byte*취소주문시간
취소주문시간
*HH24MISS
└trdAmtN(13)숫자, 최대 13byte*거래금액
거래금액
*취소거래금액 또는 부분 취소 금액
└custAcntSumryAN(30)영문+숫자, 최대 30byte통장인자내용
통장인자내용
*고객의 통장에 찍힐 인자명 (한글 3byte)
└splAmtN(13)숫자, 최대 13byte공급가액
공급가액
└vatN(13)숫자, 최대 13byte부가세
부가세
└svcAmtN(13)숫자, 최대 13byte봉사료
봉사료
└trdNoAN(50)영문+숫자, 최대 50byte*원거래번호
원거래번호
*헥토파이낸셜 거래번호
└custIpAN(15)영문+숫자, 최대 15byte고객 IP 주소
고객 IP 주소
*가맹점 서버의 IP가 아닌 고객 기기의 IP 주소
└pktHashAN(200)영문+숫자, 최대 200byte*
SHA-256SHA256 방식으로 생성한 해쉬값(실시간 생성)SHA256 방식으로 생성한 해쉬값
*상점아이디 + 고객아이디(평문) + 취소주문일자 + 취소주문시간 + 거래금액 + 원거래번호 + 인증키
요청 전문 해쉬 코드
| 항목 | 조합 필드 |
|---|---|
| pktHash 값 | 상점아이디 + 고객아이디(평문) + 취소주문일자 + 취소주문시간 + 거래금액 + 원거래번호 + 인증키 |
응답 파라미터
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└outStatCdAN(4)영문+숫자, 최대 4byte*거래상태코드 (성공/실패)
거래상태코드 (성공/실패)
0021: 성공 0031: 실패└outRsltCdAN(4)영문+숫자, 최대 4byte*거절코드
거절코드
*거절코드 테이블 참조
└outRsltMsgAN(300)영문+숫자, 최대 300byte*결과메시지
정상처리되었습니다.결과메시지
*오류가 발생시 오류에 대한 메시지 전달
└mchtTrdNoAN(100)영문+숫자, 최대 100byte*취소 주문번호
OID201902210001취소 주문번호
*한글제외
└trdNoAN(40)영문+숫자, 최대 40byte*취소 거래번호
STFP_FIRM12345678901234567890취소 거래번호
*헥토파이낸셜 거래번호
└trdAmtN(13)숫자, 최대 13byte*환불금액
1000환불금액
*출금한 금액(거래금액)
요청 예시
{
"hdInfo": "SPAY_RT0W_1.0",
"mchtId": "midtest",
"mchtTrdNo": "OID201902210001",
"mchtCustId": "AES암호화된고객아이디",
"mchtTrdDt": "20191231",
"mchtTrdTm": "120000",
"trdAmt": "1000",
"custAcntSumry": "김헥토",
"splAmt": "910",
"vat": "90",
"svcAmt": "0",
"trdNo": "STFP_FIRM12345676709",
"custIp": "127.0.0.1",
"pktHash": "해시값"
}
응답 예시
{
"outStatCd": "0021",
"outRsltCd": "0000",
"outRsltMsg": "정상처리되었습니다.",
"mchtTrdNo": "OID201902210001",
"trdNo": "STFP_FIRM12345678901234567890",
"trdAmt": "1000"
}
